Transcript
Page 1: 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

Page 2: Analyse von Applikationslogs und Querylogs: Datenbanken, Hadoop oder Splunk?

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

Page 3: Analyse von Applikationslogs und Querylogs: Datenbanken, Hadoop oder Splunk?

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

Page 4: Analyse von Applikationslogs und Querylogs: Datenbanken, Hadoop oder Splunk?

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

Page 5: Analyse von Applikationslogs und Querylogs: Datenbanken, Hadoop oder Splunk?

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

Page 6: Analyse von Applikationslogs und Querylogs: Datenbanken, Hadoop oder Splunk?

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

Page 7: Analyse von Applikationslogs und Querylogs: Datenbanken, Hadoop oder Splunk?

7

Page 8: Analyse von Applikationslogs und Querylogs: Datenbanken, Hadoop oder Splunk?

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

Page 9: Analyse von Applikationslogs und Querylogs: Datenbanken, Hadoop oder Splunk?

Use Cases

•  Web Log Analyse •  Applikations Log Analyse •  DWH Query Log Analyse

9

Page 10: Analyse von Applikationslogs und Querylogs: Datenbanken, Hadoop oder Splunk?

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

Page 11: Analyse von Applikationslogs und Querylogs: Datenbanken, Hadoop oder Splunk?

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

Page 12: Analyse von Applikationslogs und Querylogs: Datenbanken, Hadoop oder Splunk?

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

Page 13: Analyse von Applikationslogs und Querylogs: Datenbanken, Hadoop oder Splunk?

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::

Page 14: Analyse von Applikationslogs und Querylogs: Datenbanken, Hadoop oder Splunk?

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

Page 15: Analyse von Applikationslogs und Querylogs: Datenbanken, Hadoop oder Splunk?

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

Page 16: Analyse von Applikationslogs und Querylogs: Datenbanken, Hadoop oder Splunk?

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

Page 17: Analyse von Applikationslogs und Querylogs: Datenbanken, Hadoop oder Splunk?

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

Page 18: Analyse von Applikationslogs und Querylogs: Datenbanken, Hadoop oder Splunk?

HDFS

Hadoop Überblick

Map Reduce Map Reduce

Node 1 Node N

Hadoop

App

“A scalable, fault-tolerant, distributed storage and computation platform”

18

Page 19: Analyse von Applikationslogs und Querylogs: Datenbanken, Hadoop oder Splunk?

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

Page 20: Analyse von Applikationslogs und Querylogs: Datenbanken, Hadoop oder Splunk?

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

Page 21: Analyse von Applikationslogs und Querylogs: Datenbanken, Hadoop oder Splunk?

Kombination von Hadoop und Splunk

21

Page 22: Analyse von Applikationslogs und Querylogs: Datenbanken, Hadoop oder Splunk?

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

Page 23: Analyse von Applikationslogs und Querylogs: Datenbanken, Hadoop oder Splunk?

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

Page 24: Analyse von Applikationslogs und Querylogs: Datenbanken, Hadoop oder Splunk?

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

Page 25: Analyse von Applikationslogs und Querylogs: Datenbanken, Hadoop oder Splunk?

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

Page 26: Analyse von Applikationslogs und Querylogs: Datenbanken, Hadoop oder Splunk?

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

Page 27: Analyse von Applikationslogs und Querylogs: Datenbanken, Hadoop oder Splunk?

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


Recommended