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.
SCAPE - Skalierbare Langzeitarchivierung (SCAPE - scalable longterm digital p...
Analyse von Applikationslogs und Querylogs: Datenbanken, Hadoop oder Splunk?
1. 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
2. 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
3. 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
4. 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:
• 1901: Albert Einstein
4
5. 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
6. Data Scientist
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
6
8. 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
9. Use Cases
• Web Log Analyse
• Applikations Log Analyse
• DWH Query Log Analyse
9
10. 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
12. 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
13. Beispiel: Applikationslog
Logs von unterschiedlichster Struktur::
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“
13
14. 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
15. 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
16. 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
17. 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
19. 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
Map
Final results
stored in
HDFS
Map
MapReduce
Code
Map
Shuffle & Sort
Hadoop cluster
Reduce
Reduce
19
20. 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
22. 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
23. 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
24. 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
25. 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
26. 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
27. 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: Kurt.Stockinger@zhaw.ch
27