Analyse von Applikationslogs und Querylogs: Datenbanken, Hadoop oder Splunk?
-
Upload
kurtstockinger -
Category
Technology
-
view
367 -
download
0
description
Transcript of Analyse von Applikationslogs und Querylogs: Datenbanken, Hadoop oder Splunk?
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