analyse von applikationslogs und querylogs: datenbanken, hadoop oder splunk?
DESCRIPTION
Applikationen und Datenbanken generieren Logfiles, deren Inhalte wichtige Aussagen über Zugriffsmuster enthalten. So kann ermittelt werden, welche Produkte am häufigsten abgefragt werden oder welche Kundentrends sich abzeichnen. In diesem Vortrag beleuchten wir zunächst die Problematik anhand von praktischen Use Cases. Danach zeigen wir, wie sich die Probleme mit einem herkömmlichen Datenbankansatz, mit Hadoop und mit Splunk lösen lassen.TRANSCRIPT
Analyse von Applikationslogs und Querylogs: Datenbanken, Hadoop oder Splunk?
Dr. Kurt Stockinger Dozent für Informatik
Zürcher Hochschule für Angewandte Wissenschaften
DW 2013, 12. November 2013, Zürich
Inhalt
• Überblick über ZHAW und Data Science Lab • Use Cases für Analyse von Applikations- und Query-Logs • Technologien:
• Datenbanken • Hadoop • Splunk
• Implementierung der Use Cases mit den 3 Technologien
2
CV Kurt Stockinger
• Dozent an der ZHAW seit 1. August 2013 • 2007-2013:
Data Warehouse & Business Intelligence Architect bei Credit Suisse, Zürich & Forschungsprojekte mit ETH Zürich
• 2004-2007: Forschungstätigkeit am Lawrence Berkeley National Laboratory, Berkeley, Kalifornien (Scientific Data Management)
• 2002-2003: Forschungstätigkeit am CERN (Grid Computing, Datenbanken)
• 1999-2001: Doktorat in Informatik am CERN (Zugriffsoptimierung für objektorientierte Datenbanken) Gastforscher am California Institute of Technology, Pasadena, Kalifornien
3
Zürcher Hochschule für Angewandte Wissenschaften (ZHAW)
• Geht zurück auf Technikum in Winterthur • Gegründet 1874 • Seit 2007 existiert Name ZHAW:
• Zusammenschluss mehrerer Hochschulen im Kanton Zürich • Zurzeit mehr als 10‘000 Studierende • Standorte in Zürich, Winterthur und Wädenswil
• Prominentester Dozent:
4
• 1901: Albert Einstein
Datalab = Data Science @ ZHAW
• Eines der ersten Data Science Labs in Europa (wenn nicht sogar das
erste) • Zusammenschluss von Informatikern, Statistikern, Mathematikern und
Physikern zur Lösung von Data Science Problemen in Forschung und Lehre: • Institut für Angewandte Informationstechnologie
• www.init.zhaw.ch • Institut für Datenanalyse und Prozessdesign
• www.idp.zhaw.ch
5
Data Scientist
6
T. Stadelmann, K. Stockinger, M. Braschler, M. Cieliebak, G. Baudinot, O. Dürr, A. Ruckstuhl, Applied Data Science in Europe. In: European Computer Science Summit. ECSS 2013. Amsterdam, The Netherlands: IEEE. http://pd.zhaw.ch/publikation/upload/204718.pdf
7
Inhalt
• Überblick über ZHAW und Data Science Lab • Use Cases für Analyse von Applikations- und Query-Logs • Technologien:
• Datenbanken • Hadoop • Splunk
• Implementierung der Use Cases mit den 3 Technologien
8
Use Cases
• Web Log Analyse • Applikations Log Analyse • DWH Query Log Analyse
9
Web Log Analyse
• Gegeben: • Log Files von Webserver für eCommerce:
• z.B. Online Shop, eBanking, Produktdokumentation & Hilfe
• Gesucht:
• Welche Artikel werden gesucht? • Wie verändert sich das Suchverhalten über die Zeit? • Von welchen Lokationen greifen die Benutzer darauf zu? • Welche Seiten wurden nie angesehen?
10
Beispiel: Web Log
91.57.78.223 - - [09/Sep/2013:00:00:06 +0200] "GET /assets/static/dojo-0.4.3-custom-4.1.5/nls/dojo_de.js HTTP/1.1" 200 884 "http://www.superapp.info/product/DataScienceKit" "Mozilla/5.0 (X11; Linux i686) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/28.0.1500.71 Chrome/28.0.1500.71 Safari/537.36"
Standardisierte Logs::
11
Applikations Log Analyse
• Gegeben: • Logfiles von unterschiedlichen Applikationen der eigenen Firma • Jedes Logfile hat anderes Format • Jede Applikation hat andere Funktionen, die für Auswertung relevant sind
• Gesucht: • Wer sind die Hauptkunden? • Werden bestimmte Funktionen einer Applikation aufgerufen? • Was sind die häufigsten Fehlermeldungen über welchen zeitlichen Verlauf? • Sieht man Korrelationen zwischen einzelnen Ereignissen?
12
Beispiel: Applikationslog
13
2013/10/11 – getUser(„Schrödinger“) – Visting time: 32 sec 2013-Oct-14,14:30 Error – User „xyz“ not allowed to execute task 2013-27-10 eCommerce: Buy artile: „Schrödinger‘s Cat Trilogy, Robert Anthon Wilson, 1979“
Logs von unterschiedlichster Struktur::
DWH Query Log Analyse
• Gegeben: • DWH Query Logs (ausgeführte SQL Statements)
• Gesucht: • Wer hat welche Queries ausgeführt? • Über welchen Zeitraum? • Gibt es Korrelationen zwischen den Benutzern? • Welche Tabellen wurden am häufigsten abgefragt? • Gibt es Zugriffsverletzungen oder sind bestimmte Zugriffsrechte falsch
vergeben?
14
Beispiel: DWH Query Log im XML Format
<xml> <audit> <username> john_smith </username> <timestamp> 21/12/2012 23:59:59 </timestamp> <sql_query> SELECT * FROM sales S, customers C WHERE S.customer_ID = C.id AND C.hair_color = black </sql_query> … </audit>
</xml>
15
Inhalt
• Überblick über ZHAW und Data Science Lab • Use Cases für Analyse von Applikations- und Query-Logs • Technologien:
• Datenbanken • Hadoop • Splunk
• Implementierung der Use Cases mit den 3 Technologien
16
Data Warehouse basierend auf relationale Datenbanktechnologie
§ Relationale Datenbanken seit den 70er
§ ETL (extract, transform, load) = Kitt zwischen DWH-Schichten
§ Sehr effizient für Prozessierung von struktierten und normalisierten Daten
§ Parallele Datenbank für High Performance
17
HDFS
Hadoop Überblick
Map Reduce Map Reduce
Node 1 Node N
Hadoop
App
“A scalable, fault-tolerant, distributed storage and computation platform”
18
Pig Überblick
Pig Latin ist eine SQL-ähnliche Sprache Jedes Statement wird on-the-fly in MapReduce kompiliert Pig Statements werden auf Hadoop ausgeführt
PIG Script
Runtime compiler
MapReduce Code
Hadoop cluster
Map Map Map
Shuffle & Sort
Reduce Reduce
Final results stored in
HDFS
19
Splunk Überblick
Kommerzielles, closed-source Produkt zur Indizierung und Suche von Log-Daten
Intuitives Interface und Suchsprache (entspricht Goolge-Suche + Erweiterungen)
Indizes sind verteilt, jedoch keine Replication von Daten und Index
20
Kombination von Hadoop und Splunk
21
Inhalt
• Überblick über ZHAW und Data Science Lab • Use Cases für Analyse von Applikations- und Query-Logs • Technologien:
• Datenbanken • Hadoop • Splunk
• Implementierung der Use Cases mit den 3 Technologien
22
Datenbanken
• Grundsätzlich sind Datenbanken für Analyse von strukturieren Daten konzipiert
• Log Files sind jedoch semi-strukturiert oder unstrukturiert • Extrahierungsschritt muss ausserhalb der Datenbank erfolgen
(Textextrahierung) • Danach können Ergebnisse strukturiert in Datenbank abgelegt werden • Visualisierung und Analyse erfolgt typischer Weise via Business
Intelligence Tools
• Pro: • Etablierte Tools vorhanden • Gute Unterstützung von Zugriffsverwaltung
• Con: • Drei unterschiedliche Tools notwendig • Eigentlich haben wir hier kein Datenbankproblem 23
Hadoop
• Log Files können direkt mit Hadoop prozessiert werden: • Low-level API: MapReduce + Java • High-level Progammiersprache: Pig Latin
• Analyse und Auswertung erfolgt ebenfalls in Hadoop • Visualisierung der Ergebnisse mit anderem Tool
• Pro: • End-to-end-processing in einem skalierbaren Tool • Open-source Software
• Con: • Zugriffsverwaltung noch nicht ausgereift • Visualisierung durch externes Tool • Know-how noch nicht so stark verbreitet (Data Scientists werden benötigt)
24
Splunk
• Log Files können direkt mit Splunk prozessiert werden: • Web Log Files werden direkt erkannt • Python API erlaubt Erweiterungen
• Visualisierung erfolgt direkt mit Splunk • Zugriffsberechtigungen können über Dashboards gesteuert werden
• Pro: • Integriertes System (End-to-end Auswertung + Visualisierung) • Zugriffsverwaltung • Kombination mit Hadoop möglich
• Con: • Entwicklung von komplexen Dashboards nicht trivial • Gewisse Lernkurve für Aufsetzen der Infrastruktur und Einschulung der
Entwickler 25
Nächste Schritte
• Analyse von Log Files ermöglicht breite Anwendungsmöglichkeiten
• Recommender Systems: • Vorschlagen von ähnlichen Produkten • Anwendungen:
• Marketing, etc.
• Machine Learning: • Lernen von Benutzerverhalten und Zugriffsmuster • Erkennen von Produktaffinitäten von Benutzern • Anwendung:
• Marketing, Fraud detection, Kundenbetreuung
26
Zusammenfassung
• Analyse von Log Files ist kein Datenbankproblem und sollte nicht über das DWH gemacht werden.
• Kombination mit Hadoop erlaubt skalierbaren Ansatz. • Einsatz von Splunk hat sich in der Praxis gut bewährt. • Log Analyse ist typisches Problem für Data Scientists:
• Weltweit eine rare Spezies • Aber:
• Swiss Data Science Workshop im März 2014: Anmeldung ab Mitte Nov. • Wir arbeiten an einem Curriculum für Data Scientists. • DAS Data Science für Herbstsemester 2014 geplant. • Kontakt: [email protected]
27