Upload
vodiep
View
213
Download
0
Embed Size (px)
Citation preview
Big Data Logdatenanalyse
Lukas Havemann
Einsatz von NoSQL-Technologie zum Monitoring
von Banking-Anwendungen
1
Überblick
Inhalt
Fazit & Ausblick
Demo
Der Technologie-Stack
Logdatenanalyse
Vorstellung PPI
© PPI AG
2
PPI Vorstellung
Seit mehr als 30 Jahren Spezialist für die Finanzbranche
PPI Aktiengesellschaft
Vorstand: Thomas Reher (Vorsitz), Uwe Prieß, Dirk Weske
Grundkapital: 2 Mio. €, Aktienbesitz: Familie Pape, Vorstand, Mitarbeiter
Standorte: Hamburg, Kiel, Frankfurt, Düsseldorf, Paris, München, Zürich
Stabilität und
Kontinuität:
Geschäftsfelder:
© PPI AG
Banken
Versicherungen
Consulting Software Factory Produkte
280Mitarbeiter
36,1Leistung [Mio €]
2008
311
27,0*
2009
* Rumpfgeschäftsjahr Januar bis September 2009
340
37,5
2010
350
42,9
2011
358
42,4
2012
372
47,3
2013
388
51,7
2014
3
PPI Vorstellung
Referenzen Banken / Versicherungen (Auszug)
© PPI AG
4
PPI Vorstellung
Trendbewertung durch studentische Arbeiten
Unsere Kunden sind tendenziell konservativ gegenüber der Adaption neuer
Technologien
Als zuverlässiger Partner in der Finanzbranche sehen wir es als unsere Aufgabe:
© PPI AG
Technologietrends aufmerksam zu verfolgen
diese zu analysieren (Potenzialabschätzung)
ggf. zu investieren (studt. Forschungsprojekte)
und nach ausführlicher Evaluation
ggf. Inproduktionsnahme / Vertrieb
6
Logdatenanalyse
Aspekte der Logdatenanalyse
typische Eigenschaften von Log-Events:
Ereignisse aus Anwendungen, Middleware oder Infrastruktur
Zeitstempel beschreibt Generierungszeitpunkt
codieren Quelle: Rechner und/oder Softwarekomponente
enthaltene technische und/oder fachliche Informationen
unstrukturiertes oder semistrukturiertes Format
Auswertung von Log-Events
basierend auf historischen Daten und/oder Live-Event-Streams
teilweise sehr großes Datenvolumen und/oder hohe Event-Frequenz
fachlicher Vorgang verteilt über diverse Systeme, Rechner und Logs
© PPI AG
7
Logdatenanalyse
Fragestellungen der Logdatenanalyse
Monitoring / Health Check
Betriebsstörungen feststellen
Fehler analysieren
Performance-Engpässe analysieren
Kapazitäten planen
Mustererkennung
Anwenderverhalten verstehen / vorhersagen
Angriffsversuche erkennen (Fraud Prevention and Detection)
Monitoring + Mustererkennung ⇒ Frühwarnsysteme
© PPI AG
9
Technologie-Stack
Überblick Lösungsansatz von PPI
Apache
Morphlines
Log-Events sammeln,
vorverarbeiten und verteilen
Log-Events speichern und
für Volltextsuche indizieren
Log-Events visualisieren /
© PPI AG
Marvel etc.
unterschiedliche Quellen und
Formate für Log-Events
Cluster administrieren
10
Technologie-Stack
Überblick Lösungsansatz von PPI
Apache
Morphlines
Log-Events sammeln,
vorverarbeiten und verteilen
Log-Events visualisieren /
© PPI AG
Marvel etc.
unterschiedliche Quellen und
Formate für Log-Events
Cluster administrieren
11
viele NoSQL-DBs garantieren durch eine verteilte Architektur:
sehr hohe Abfrage- und Schreibgeschwindigkeit
einfache und kostengünstige horizontale Skalierbarkeit
hohe Ausfallsicherheit (automatische Verteilung/Replizierung)
kein festes Datenbankschema
ermöglicht flexible Anreicherung mit Zusatzinformationen
erweitertes/anderes Log-Format erfordert keine Datenmigration
© PPI AG
NoSQL
Warum NoSQL?
12
AC
NoSQL
CAP-Theorem – Verteilte Datenbanksysteme
Consistency
Der Zustand, der gespeichert
wurde, wird auch wieder
zurückgeliefert, sofern er nicht
explizit geändert wurde
Availability
garantiert, dass auf jede
Anfrage eine Antwort kommt
Partition tolerance
Das System arbeitet fehlerfrei
weiter, auch wenn Nachrichten
verloren gehen oder Knoten
von einander getrennt werden
© PPI AG
P
No
Go
Enforced
Consistency
RDBMS
Eventual
Consistency
NoSQL
nach Eric Brewer
Bspw. Geldautomaten
14
Überblick der analysierten Infrastruktur
Ein Produktions-Cluster
© PPI AG
RP
App
App
App
…
HTTP-Requests
Div.
(Andere HTTP-Dienste)
Access-Log
Applikations-
Logs
RP = Reverse Proxy
15
Überblick der analysierten Infrastruktur
Clusterverbund
LB
Cluster 1
Cluster 2
HTTP
RP
App
RP
RP = Reverse Proxy
LB = Load Balancer
© PPI AG
App
App
App
App
App
20
Demo
Penetrationstest - gefiltert
in dem analysierten Zeitraum wurde ein Penetrationstest gegen das Produktivsystem
gefahren
© PPI AG
21
Demo
Server-Failover
in KW 11 und KW 13 hat Cluster 1 die hauptsächliche Last getragen und in KW 12
Cluster 2
eigentlich sollten beide Cluster gleich viel Last tragen
© PPI AG
23
Demo
Fachliche Interaktionsanalyse
Es kann beliebig nach Mandanten, Clients, Sessions und bestimmten Nutzeraktionen
gefiltert werden
© PPI AG
25
PPI-Erweiterungen
Wo stecken PPI-Erweiterungen?
© PPI AG
2
3
4
1
1 PPI log4j JMX Adapter
2 Cloudera Morphlines Integration
3 PPI Percolate Flume Sink
4 ES Plugin: Native Query Skripte
5
5 PPI Heatmap Diagramm
27
Fazit
Ergebnis des Forschungsprojektes
Einsatz des Technologie-Stacks als integrative Komponente in der inhouse
Produktentwicklung
Analyse auf Basis von Logdaten aus:
Funktions- / Schnittstellentests
Oberflächentests
Lasttest
Stresstests
etc.
Erfolgreicher Vertrieb von Dienstleistungen wie z.B.:
Health Check von Produktionssystemen und Infrastrukturkomponenten beim Kunde
© PPI AG
Ableitung von
Verbesserungen
Bestätigung des
Qualitätsanspruchs
Durch Analyse
der Testlogdaten
28
Ausblick
Big Data + Cloud Computing
Problem: Big Data bedarf vieler Ressourcen
Lösungsansatz: Erschließung unternehmensinterner und/oder externer Rechner-
ressourcen durch Cloud Computing Technologie
Bachelorarbeit: „Betriebs- und Sicherheitskonzept für die mandantenfähige Analyse von
vertraulichen, strukturierten Textdaten mit ELK in einer Private-Cloud-Infrastruktur“ –
Bastian Germann
Ergebnis: Demosystem auf Basis des ELK-Stack und der quelloffenen Cloud-Plattform
Openstack
© PPI AG Bildquellen: http://olap.com/big-data/ und http://www.magnetsolutionsgroup.com/a-brief-history-of-cloud-computing/
+
29© PPI AG
VIELEN DANK!
Lukas HavemannDualstudent
PPI Aktiengesellschaft
Moorfuhrtweg 13
22301 Hamburg
Telefon: +49 40 227433-1440
32
PPI Vorstellung
Schwerpunkte der Leistungen
von der Strategie bis zur IT-Umsetzung: Management Consulting,
Business Consulting, IT-Consulting, professionelle Methodik in allen
Beratungsphasen hohe Branchen- und Technologiekompetenz
Fertigung nach Maß – Komponenten und Gesamtsysteme
individuelle Fertigungstiefe – optionale Übernahme von Analyse,
Design, Teilrealisierung oder Wartung durch den Kunden garantierte
Lieferbedingungen: Preis, Termin und Qualität
umfassende Produktpalette für Zahlungsverkehr und Filetransfer
vom Marktführer in Deutschland praxisgerechte Lösungen durch
langjährige Erfahrung ausgelegt für höchste Anforderungen der
Produktion: Verfügbarkeit, Skalierbarkeit, Durchsatz, Lastverteilung,
Betriebskosten
© PPI AG
Produkte eBanking
Software Factory
Consulting
33
Big Data
Aspekte von Big Data
Data
VolumeData
Variety
Data
Velocity© PPI AG 3 Vs nach Gartner Analyst Doug Laney
Batch
Near Time
Real Time
Streams
Big Data
Analyse
Erkennen von
Zusammenhängen,
Bedeutungen und Mustern
34
Überblick
Lösungsansatz von PPI
basiert auf modernen Big Data Technologien
baut auf populäre Open-Source-Lösungen auf
beruht auf dem sog. ELK-Stack
Die Log-Events werden aus:
© PPI AG
div. Quellen gesammelt und vorverarbeitet (ETL-Prozess)
in einem zentralen
NoSQL-Cluster gespeichert
auf einer Web Oberfläche visualisiert
36
Big Data
Brauchen wir ein ein anderes Entwicklungsmodell?
Um Entscheidungen treffen zu können:
Informationen!
Vergleich von Vergangenheit zu Gegenwart
Trends erkennen
Aggregierung von Information
Und es benötigt Zeit!
© PPI AG nach einer Idee von Rich Hickey: „The Value of Values“
Business NeedsIT Business
37
Big Data
Brauchen wir ein ein anderes Entwicklungsmodell?
© PPI AG nach einer Idee von Rich Hickey: „The Value of Values“
IT Business
„I like your database
more than the one
you gave me“
CRUD-App
Business Needs
Zeit
39
Technologie-Stack
Apache Flume und Cloudera Morphlines
Apache Flume (ETL-Tool)
Framework zum Sammeln und Verteilen von Log-Events
solide Architektur
- hohe Ausfallsicherheit
- horizontal skalierbar
- leicht erweiterbar
- verteilt
Cloudera Morphlines
Framework zum Parsen von Textdaten
ermöglicht Formatkonvertierung, fachliche Vorverarbeitung, etc.
© PPI AG
40
Technologie-Stack
Elasticsearch
dokumentenorientierte NoSQL-Datenbank
schnelle Volltextsuche über gesamten Datenbestand
Echtzeitanalyse über REST-API
einfach konfigurierbar (Zeroconf)
schemafrei
solide Architektur
hohe Ausfallsicherheit
horizontal skalierbar
leicht erweiterbar / anpassbar
verteilt
entwicklerfreundliche APIs.:
Java-API, Python-API, REST-API etc.
liefert eine leicht zu lesende Query-DSL
© PPI AG
41
Technologie-Stack
Kibana
dient zur Visualisierung der in Elasticsearch gespeicherten Dokumente
Zeitreihen, Scatterplots und diverse andere Diagrammtypen
flexibles & anpassbares Interface
einfaches Sharing von einzelnen Visualisierungen / Dashboards
moderne JavaScript-Anwendung (AngularJS)
bedient sich der Elasticsearch Aggregations-API
Grafiken werden als SVG mit Hilfe von d3.js gerendert
sehr effiziente Log-Analyse durch
Visualisierung von (mehreren) Zeitreihen
inkrementellen Drilldown
vielfältige Query-Möglichkeiten / Volltextsuche
© PPI AG
42tt.mm.jjjj <Anlass oder Kunde>© PPI AG
Das war nur die Spitze des Eisberges…
Logs aus Infrastruktur etc.
mehr numerische Werte aus der
Anwendung (div. Laufzeiten etc.)
größere Zeitspannen
Benutzerfluss-Analyse
(Sankey-Diagramme)
Kibana 4 Features
Elasticsearch-Entwicklung
44
Ausblick
Sankey-Diagramm
© PPI AG
„Ein Sankey-Diagramm ist eine graphische Darstellung von
Mengenflüssen. Anders als beim Flussdiagramm werden die
Mengen durch mengenproportional dicke Pfeile dargestellt.“
Anwendungsfall: Nachrichtenfluss in einem System verfolgen, User-Flow etc.
46
PPI-Erweiterungen
dynamische Kategorisierung / Alarmierung
© PPI AG
Query pro Kategorie /
Alarm speichern
passende Queries zu
neuem Event finden
Kategorie / Alarm im Event speichern
Visualisierung
(Alarmierung)
Queries
1
0
1
1
1
0
1
0
1
1
1
0
1
0
1
Neues Event
1
0
1
1
1
0
1
0
1
1
1
0
1
0
1
Queries Events
passende Query
1
0
1
1
1
0
1
0
1
1
1
0
1
0
1
Events
47
PPI-Erweiterungen
Periodisches Monitoring von Java Anwendungen
© PPI AG
Werte aus Java-Anwendung
auslesen
mittels Flume Agenten
Speicherort Elasticsearch
Visualisierung mit Kibana
1
0
1
1
1
0
1
0
1
1
1
0
1
0
1
JMX
lediglich Anpassung der
Logging Konfiguration
Notwendig
48
Zugriffskontrolle
Elasticsearch und Kibana haben kein Konzept für Zugriffskontrolle
mögliche Lösungsansätze
Browser-Login
pro Datentopf getrennte Elasticsearch-Installationen
Elasticsearch Security-Plugin
LDAP/Kerberos zur Authentifizierung z. B. gegen Windows-Domaine
LDAP Anbindung zur Autorisierung (Rollen / Rechte)
ermöglicht Zugriffsschutz auf Index-Ebene
Neuerdings: Elastic Shield
© PPI AG