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

Preview:

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.

Citation preview

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: Kurt.Stockinger@zhaw.ch

27

Recommended