Presented at SplunkLive! Munich 2018:
- Why AI & Machine Learning?
- What is Machine Learning?
- Splunk's Machine Learning Tour
- Use Cases & Customer Stories
4. Humans are good at
learning, but we get lost
in volume and details…
5. ▶ Improve decision-making
▶ Uncover hidden trends or
relationships
▶ Alert on deviations
▶ Forecast or anticipate incidents
All of this requires diverse data
from across many silos. Lots
of unstructured, real-time data.
Why AI & Machine Learning?
6. Run the Business in Real Time
Data From the Past Real-Time Data Statistical Forecast
T – a few days T + a few days
Security Operations Center
IT Operations Center
Business Operations Center
Predictive
(Models)
Historical Reporting
(BI Tools, Data Lakes) Grey space
8. Deviation from past behavior
Deviation from peers
(aka Multivariate AD or Cohesive AD)
Unusual change in features
Predicting churn
Predicting events
Trend forecasting
Detecting influencing entities
Early warning of failure – predictive
maintenance
Identify peer groups
Event correlation
Reduce alert noise
Anomaly Detection Predictive Analytics Clustering
Splunk Customers Have ML Problems
9. The ML Process
Get and
explore data
Select and fit an
algorithm,
generating a model
Apply and
validate models
Surface model to
consumers to
solve problems
Problem: <Stuff in the world> causes big time and money expense. Value Hypothesis
Solution: Build ML model to forecast <possible incidents>, act pre-emptively and learn
Operationalize
11. Overview of AI Powered by ML at Splunk
CORE PLATFORM
SEARCH
PACKAGED PREMIUM
SOLUTIONS
MACHINE LEARNING
TOOLKIT
12. Search Includes Machine Learning
Core platform search is a powerful and highly flexible interface built with ML
13. Splunk IT Service Intelligence
Get Data
Define services,
entities and KPIs
Monitor and
troubleshoot
Analyze
and detect
Data-Defined, Data-Driven Service Insights
Adaptive Thresholds and Anomaly Detection
14. Anomalous Behavior Risky Users Unknown Threats
Splunk User Behavior Analytics
An out-of-the-box solution that helps organizations find
with the use of machine learning
15. ▶ Assistants: Guided model building, testing
and deployment for common objectives
▶ Showcases: Interactive examples for typical
IT, security, business and IoT use cases
▶ Algorithms: 25+ standard algorithms
included with the Toolkit
▶ ML Commands: New SPL commands to fit,
test and operationalize models
▶ Python for Scientific Computing Library:
Access to 300+ open source algorithms
Splunk Machine Learning Toolkit
Extends Splunk platform functions and provides a guided modeling environment
Build custom analytics for any use case
16. Custom Machine Learning – Success Formula
Identify use cases
Drive decisions
Set business/ops priorities
SPL
Data prep
Statistics/math background
Algorithm selection
Model building
Splunk ML Toolkit
facilitates and simplifies
via examples and guidance
Operational success
Data
Science
Expertise
Splunk
Expertise
Domain
Expertise
(IT, Security…)
17. Continuous Data Ingest at Scale
DevelopVisualize PredictAlertSearch
Engineers Data
Analysts
Security
Analysts
Business
Users
Native Inputs
TCP, UDP, Logs, Scripts, Wire, Mobile
Industrial Data
SCADA, AMI, Meter Reads
Modular Inputs
MQTT, AMQP, COAP, REST, JMS
HTTP Event Collector
Token Authenticated Events
Technology Partnerships
Kepware, AWS IoT, Cisco, Palo Alto
Maintenance
Info
Asset
Info
Data
Stores
External
Lookups/Enrichment
OT
Industrial Assets
IT
Consumer and
Mobile Devices Real Time
23. Machine Learning Customer Success
Network Incident Detection
Service Degradation Detection
Security/Fraud Prevention
Machine Learning
Consulting Services
Analytics App Built
on ML Toolkit
Optimizing operations and business results
Predict Gaming Outages
Fraud Prevention
Entertainment
Company
Cell Tower Incident Detection
Optimize Repair Operations
Prioritize Website Issues
and Predict Root Cause
Hallo, mein Name ist Dirk Nitschke und ich arbeite als Sales Engineer bei Splunk.
Dieser Vortrag trägt den Titel „Holen Sie mit Splunk und künstlicher Intelligenz mehr aus Ihren Maschinendaten heraus“.
Künstliche Intelligenz ist ein weites Feld und wir betrachten hier das Konzept des maschinellen Lernens.
Als erstes kann man sich natürlich fragen, warum wir die Hilfe von Maschinen benötigen, um mehr aus unseren Maschinendaten herauszuholen.
Denn eigentlich sind wir Menschen ziemlich gut darin Dinge zu lernen, das Gelernte anzuwenden, aus der Erfahrung zu lernen.
Allerdings wird es schwierig, wenn wir großen Mengen an Daten verarbeiten sollen. Das Abarbeiten eines Berges an Daten ist für uns recht zeitaufwändig. Wir sind einfach nicht schnell genug.
Und wenn wir uns viele unterschiedliche Details für einen relativ kurzen Zeitraum merken sollen, wird es auch schwierig. Viele haben sicherlich schon von der magischen Zahl 7 gehört. Viele Menschen können sich im Kurzzeitgedächtnis eine zufällige Buchstabenfolge von 7 Zeichen merken – vielleicht 1 oder 2 Buchstaben mehr oder weniger. Es sind schon Tricks und Übung nötig, um hier besser zu werden – etwa häufiges Wiederholen (das dauert) oder es geling einem, die Buchstabenfolge in einen anderen Zusammenhang bringen. Das Merken ganzer Worte fällt uns zum Beispiel deutlich leichter. Auch wenn sie mehr als 7 Zeichen lang sind.
Der Trend geht dahin, Entscheidungen nicht aus dem Bauch heraus, sondern nachvollziehbar und auf Basis von Daten zu treffen. Und das idealerweise zeitnah, -- vielleicht sogar nahe Echtzeit – und nicht erst nach Wochen oder Monaten.
Noch schöner ist es, nicht nur reaktiv tätig zu sein, sondern neue Entwicklungen frühzeitig zu erkennen, so dass man proaktiv handeln kann und sich so einen Vorteil gegenüber den Marktbegleitern verschafft.
Die dafür benötigten Daten sind vielfältig, kommen aus unterschiedlichen Bereichen und sind meist unstrukturiert.
Machine Learning kann uns dabei helfen, auf Basis großer Mengen asolcher Daten Entscheidungen zu treffen, indem man zum Beispiel Trends und ungewöhnliches Verhalten erkennt oder Vorhersagen trifft. Und das bei Bedarf auch in Echtzeit.
Was benötigt man dafür? Eine Platform, die die für mich relevanten unstrukturierten Maschinendaten in großen Mengen erfassen und analysieren kann und mir Erkenntnisse liefert, die die ich dann umsetzen kann.
Die Maschinendaten, die ich dafür benötige, stammen aus ganz unterschiedlichen Bereichen. Vielleicht betreiben Sie heute schon eine IT oder Security Operations Center. Oder vielleicht sogar schon ein übergreifendes Business Operations Center. Neben den aktuellen Daten der letzten Tage oder Wochen sind aber auch weitere Daten von Interesse. Zum Beispiel historische Daten, um daraus zu lernen und Muster zu erkennen.
Oder aber als Anreicherung aktueller Daten. Denken Sie zum Beispiel an einen Webshop. Aufgrund der Daten, die sie erfassen, sehen sie, welche Waren sich in Warenkörben befinden, die Ihre Webshop-Besucher nicht ausgecheckt haben. Wenn sie diese Daten jetzt mit den Preisen und Herstellungskosten der Produkte anreichen, können sie sehen, welchen Wert diese liegengelassenen Warenkörbe haben, also welchen Umsatz sie nicht erzielen konnten.
Das Schöne ist, dass Splunk ihnen genau eine solche Platform für die Analyse von Maschinendaten zur Verfügung stellt.
Doch was ist eigentlich Machine Learning?
Schauen wir auf die formale Definition, dann betrachtet Machine Learning Algorithmen, die eine gewisse Aufgabe erfüllen und dabei aus der Erfahrung lernen und so ihre Aufgabe in Zukunft besser erfüllen können.
8
Wie führt man so etwas jetzt praktisch durch? Zunächst einmal formuliert man ein Problem, dass man lösen möchte. Nehmen wir den Ausfall einer Produktionsmaschine, der dazu führt, das eine Reihe von Angestellten nicht arbeiten kann und keine Waren erzeugt werden können.
Zusätzlich definiert man, welches Ziel man erreichen möchte. In unserem Fall soll der Ausfall der Maschine vorhergesagt werden – idealerweise mit einem Vorlauf, so dass man noch eingreifen kann.
Anhand welcher Daten soll das Problem untersucht werden? Diese Daten werden zunächst untersucht. Etwa auf Vollständigkeit, Qualität der Erfassung (d.h. steht da Unsinn drin, wie etwa Baujahr eines Autos in der Zukunft) und gegebenenfalls bereinigt.
Anschließend erstellt man ein Model, basierend auf einem mathematischen Algorithmus. Das heißt man beschreibt den Zusammenhang zwischen den erfassten Daten und dem Ereignis „Ausfall der Maschine“. Dieses Model wird dann auf die Testdaten angewendet und man überprüft das Ergebnis. Gegebenenfalls passt man Parameter des Algorithmus an, um ein besseres Modell zu erhalten. Die Ergebnisse präsentiert man anschließend.
Allerdings ist dies noch nicht das Ende. Üblicherweise operationalisiert man das Ganze. D.h. die Nutzer des Models geben Rückmeldungen über die Genauigkeit des Models, veränderte Anforderungen und andere Erkenntnisse, die dann zurückfließen und zu einer Verfeinerung des Modells führen. Das Model „lernt“.
Welche Möglichkeiten haben Sie jetzt, Machine Learning in Splunk anzuwenden?
Wir möchten Ihnen die Nutzung von Machine Learning möglichst einfach machen. In Splunk stehen Machine Larning Algorithmen und Funktionalitäten in drei Ausprägungen zur Verfügung. WARUM? In Hinblick auf Vorkenntnisse, Aufgabenstellung, ...)
Nämlich in Splunk Core selbst, paketiert in unseren Premium Lösungen ITSI und UBA, und zusätzlich im sogenannten Machine Learning Toolkit. Wir schauen jetzt etwas genauer auf diese drei Varianten.
Die Suchsprache in Splunk Core enthält bereits eine Reihe an Befehlen, die für die drei typischen Anwendungsfälle genutzt werden können, zum Beispiel:
anomalydetection für das Erkennen von Ausreißern
predict zur Vorhersage von Werten über die Zeit
cluster zur Gruppierung von Events (das steckt übrigens hintern dem „Pattern“ Tab in der GUI)
und noch einige mehr. Ach ja, für die Erkennung von Ausreißern lassen sich auch die klassischen statistischen Funktionen nutzen: etwa Mittelwert und Standardabweichung.
In unseren Premiumlösungen hat Splunk Machine Learning für dedizierte Anwendungsfälle eingebaut und so die Nutzung vereinfacht.
Splunk ITSI ist eine Erweiterung, die auf das End-to-End Monitoring von Services ausgelegt ist.
In ITSI werden somit Services definiert und Key Performance Indikatoren, die wiederum den Gesundheitszustand von Services beschreiben. Machine Learning ist hier speziell für die folgenden drei Bereiche integriert und die Nutzung durch eine grafische Oberfläche startk vereinfacht:
* Adaptive Schwellwerte: ein fester Schwellwert für einen KPI ist nicht immer gewünscht. Denken wir zum Beispiel an die Anzahl an Loginversuchen an einem System. Hier erwarten wir am Morgen zum Beispiel eine deutlich höhere Anzahl als am Abend. Ein fester Schwellwert liefert uns dann entweder regelmäßig morgens falsch positive Benachrichtigungen oder wir erhöhen den Schwellwert und bekommen dann fast gar keine Meldungen mehr, was aber den ganzen KPI sinnlos macht. Wäre es nicht hilfreich hier Schwellwerte zu definieren, die sich an das übliche Verhalten über die Zeit anpassen? Also einen hohen Schwellwert am Morgen und einen niedrigeren Schwellwert am Abend? Genau das erreichen wir mit adaptiven Schwellwerten, bei denen anhand historischer Daten als Baseline unterschiedliche Schwellwerte für unterschiedliche Zeiträume gesetzt werden.
* Splunk ITSI enthält auch Möglichkeiten zur Erkennung von Anomalien, also Abweichungen vom erwarteten Verhalten.
* Last but not least kann Splunk ITSI sogenannte „Notable Events“ anhand von Machine Learning gruppieren und so dazu beitragen, die Anzahl an Benachrichtigungen, die abzuarbeiten sind auf ein handhabbares Maß zu reduzieren und insbesondere eine Verbindung zu den betroffenen Services herzustellen, so dass die Bearbeitung entsprechend der Wichtigkeit des Services priorisiert werden kann.
Splunk User Behavior Analytics (Splunk UBA) ist eine weitere Premium-Lösung, die Machine Learning vorkonfiguriert nutzt. Sie verfügt über eine große Zahl an Algorithmen, die darauf ausgelegt sind unbekannte Angriffe und Bedrohungen durch Insider zu entdecken. Dies unterstützt Security Operations Center zum Beispiel dabei proaktiv ungewöhnliches Benutzerverhalten zu analysieren. Beispielsweise eine ungewöhnlich hohe Anzahl an Dateizugriffen.
Wer seinen eigenen Ansatz verfolgen möchte, volle Flexibilität haben möchte und tiefer in Machine learning einsteigen, der sollte sich mit dem Machine Learniing Toolkit beschäftigen. Dies ist eine App, die die Splunk Suchsprache um neue Befehle erweitert und so Zugriff auf mehr als 30 typische Machine learning Algorithmen bietet.
Zusätzlichen helfen sogenannte Assistenten beim Einstieg, indem sie sie durch die einzelnen Schritte der Erstellung eines Modells, dem Testen und Anwenden eines Modells leiten. Die Assistenten umfassen die Vorhersage von numerischen und kategoriellen Felder, das Aufspüren von numerischen oder kategoriellen Ausreißern und die Gruppierung von Daten.
Zusätzlich gibt es eine Reihe an Beispielen zum Probieren und Lernen.
Welche Variante soll man jetzt wählen? Wir möchten, dass Sie erfolgreich Machine Learning einsetzen und daher geben wir hier eine Hilfestellung.
Um erfolgreich Machine Learning einzusetzen, sind gewisse Kenntnisse erforderlich. Neben Kenntnissen in Splunk, werden noch Kenntnisse in dem Bereich benötigt, der untersucht werden soll und natürlich auch Kenntnisse im Bereich Data Science. Abhängig von der Problemstellung und der verfügbaren Expertise wähle man. Wer Zugriff auf Data Science Kenntnisse hat, volle Flexibilität haben möchte oder sich selber etwas intensiver mit Machine Learning beschäftigen möchte, für den ist das MLTK eine gute Wahl. Haben Sie keinen Zugang zu Data Science, dann kann eine unserer paketierten Lösungen für sie sinnvoll sein.
Wir haben bisher darüber gesprochen, dass man unterschiedliche Arten von Maschinendaten benötigt. Wir haben aber noch nicht betrachtet, wie man diese überhaupt mit Splunk erfasst und was SPlunk dann mit diesen Daten tun kann.
Auch hier ist Splunk sehr flexibel. Neben der Möglichkeit klassische Logfiles einzulesen, kann man auch über andere Wege Daten in Splunk erfassen. Zum Beispiel über REST API. Applikationen können auch Daten selber senden, zum Beispiel über HTTP an den sogenannten HTTP Event Collector. Ebenso gibt es Schnittstellen für Daten, die in Cloud-Umgebungen anfallen, wie zum Beispiel Amazon Web Services.
Interessant sicherlich auch die Möglichkeit, Netzwerkdaten einzulesen. Stichwort ist hier Splunk Stream.
All diese Daten werden in Splunk indiziert. Sie stehen unmittelbar zur Analyse zur Verfügung, das heißt sie lassen sich durchsuchen. Suchergebnisse sind dann die Basis für Alarmierungen oder können visualisiert werden. Wie besprochen werden die gesammelten Daten auch als Quelle für Vorhersagen oder die Erkennung von Ausreißern genutzt.
Die Daten werden von unterschiedlichen Nutzer verwendet. Jeder erhält die für ihn relevante Sicht auf die Daten.
Die in Splunk gesammelten Daten können durch externe Quellen angereichert werden, zum Beispiel Informationen die in relationalen Datenbanken vorhanden sind. Umgekehrt kann Splunk auch selber Daten an andere Systeme senden.
Alles in Splunk basiert auf einer Suche. Eine solche Suche kann Machine Learning Funktionalität verwenden – zum einen mit den bereits in der Splunk Suchsprache enthaltenen Kommandos oder mit Hilfe der durch das Machine Learning Toolkit hinzugekommenen Suchbefehle.
Das bedeutet, dass Sie zum Beispiel auf Basis des Ergebnisses einer Suche eine Alarmierung durchführen können, die ihnen mitteilt, dass es zum Beispiel ungewöhnlich viele fehlerhafte Anmeldeversuche auf einem ihrer Systeme gibt. Eine solche Alarmierung kann in Form eine Mail durchgeführt werden, oder sie lassen sich per Messenger information oder generieren ein Ticket in Ihrem Ticketsystem. Beispielhaft seien hier Anbindungen an BMC Remedy oder Service Now genannt.
Ich möchte jetzt einmal das Machine Learning Toolkit mit seinen Showcases und Assistenten durchgehen.
MLTK Demo: Zuerst landet man in den Showcases. Diese sind aufgeteilt in verschidene Kategorien: Vorhersage numerischer Werte, Erkennung numerischer Ausreißer, ...
In jeder Kategorie wird kurz beschrieben, um welche Problemstellung es sich handelt. Außerdem sehen wir die einzelnen Beispiele, die zur Verfügung stehen.
Wir wählen eine aus, Server Power Consumption. Was jetzt passiert ist folgendes: wir gelangen in den Assitenten für die Vorhersage numerischer Felder und es werden die Beispieldaten eingelesen und einige Parameter gesetzt.
Im oberen Teil werden die Daten eingelsen, hier jetzt einfach eine CSV Datei. Man kann hier aber jeder Splunk-Suche verwenden, um die nötigen Daten auszuwählen.
Darunter gibt es die Möglichkeit, die Daten vorzuverarbeiten. Vielleicht ist es sinnvoll, die Daten zu skalieren. Wir benötigen das hier jetzt nicht.
Dann wählen wir den Algorithmus zur Lösung des Problems aus. Dann wählen wir die Variable, die wir verhersagen möchten und die Variablen, die wir für die Vorhersage nutzen wollen.
Rechts legen wir fest, wie wir den eingelseenen Datensatz aufteilen wollen: wir können einen sogenannten Trainingsdatensatz und einen Testdatensatz definieren. Was bedeutet das?
Das Modell wird anhand der Trainingsdaten erstellt. Der Testdatensatz wird dann verwendet, um das Model zu validieren und zu bewerten, wie gut es die Testdaten beschreibt.
„Show SPL“ zeigt uns, was in der Suchsprache passieren würde.
Preview Data: „predicted(ac_power)“ zeigt uns das Ergebnis des Models, das auf die Daten angewendet wurde. Residue zeigt uns den Fehler an.
Show SPL -> zeigt uns SPL dazu. Scheduled Alert -> kann gleich einen Alarm definieren!
Fit
Apply
Bewerten
Kann es in anderer Suche verwenden.
Industry:
Technology
Splunk Use Cases:
IT Operations
Challenges:
Monitoring and response required for 24/7 customer access
Separate silos created Balkanized IT department
Needed to pare down thousands of alerts and events
Splunk Products:
Splunk Enterprise
Splunk ITSI
Data Sources:
Application
Device
Firewall
Network
Server
Case Study: https://www.splunk.com/en_us/customers/success-stories/leidos.html
Nasdaq is a global exchange operator.
They use Splunk Enterprise Security premium solution for security investigations. With Splunk ES they have gained a efficiency level of over 50% in analyst ability to track down data.
Splunk has also sped up their security investigation time by 50% as well.
Splunk allows them to have a skill set that is common across the organization. It is reusable by analysts at different levels and gives a deep understanding of the organization’s overall security posture.
Our Early Adopter customers have had much success creating and operationalizing ML models. Some examples include:
Zillow makes hundreds of website updates daily, including content from several partners nationally. These updates can often cause issues in the site. Zillow built an ML model that predicts which of these changes is likely to result in an issue to allow the team to fix them proactively. Once a potential or actual issue has been identified, the model can also provide guidance on likely root cause and resolution.
TELUS has thousands of mobile phone towers across Canada; when one of these goes offline it can cause significant disruption for their customers. TELUS built a model to predict which towers are likely to fail so that they can proactively fix issues before they occur.
Fassen wir zusammen: Splunk bietet die Platform für die Sammlung und Analyse von Maschinendaten – auch in Real-Time. Durch die Verwendung von Machine Learning lassen sich dabei zusätzliche Einblicke und Erkenntnisse gewinnen, die Basis von Entscheidungen sein können. BLA, unterschiedlcieh Darreichungsformen passen sich ihren use cases an.
Wie üblich können sie Feedback zu diesem Vortrag geben Nutzen sie dafür unseren Pony Poll. Die URL versteckt sich hinter dem QR Code.
Damit geht der Track „Splunk Überblick“ zu Ende. Ich hoffe, es war informativ für Sie. Draußen haben Sie jetzt noch Gelegenheit sich untereinander auszutauschen und mit unseren Partnern oder meinen Kollegen von Splunk ins Gespräch zu kommen. Oder an besagtem „Machine Learning Roundtable“ diskutieren.