51
Big Data Logdatenanalyse Lukas Havemann Einsatz von NoSQL-Technologie zum Monitoring von Banking-Anwendungen

Einsatz von NoSQL-Technologie zum Monitoring von Banking ... · Big Data Logdatenanalyse Lukas Havemann Einsatz von NoSQL-Technologie zum Monitoring von Banking-Anwendungen

  • 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

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

5

LOGDATENANALYSE

© PPI AG

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

8

DER TECHNOLOGIE-STACK

© 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

13

DEMO

© PPI AG

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

16

Demo

Überblick: Access-Log

© PPI AG

17

Demo

User-Agent-Analyse

18

Demo

Penetrationstest - Übersicht

19

Demo

Penetrationstest - Übersicht

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

22

Demo

Server-Failover - Detailansicht

© PPI AG

23

Demo

Fachliche Interaktionsanalyse

Es kann beliebig nach Mandanten, Clients, Sessions und bestimmten Nutzeraktionen

gefiltert werden

© PPI AG

24

FAZIT & AUSBLICK

© 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

26

PPI-Erweiterungen

Kibana Heatmap

© PPI AG

github.com/ppi-ag

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

[email protected]

AppendixBackup Folien für Rückfragen

Aus Zeitgründen gestrichene Folien

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

35

Demo

Dashboard

Für Kibana lassen sich mehrere Dashboards konfigurieren:

© PPI AG

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

38

TECHNOLOGIE-STACK

DETAILS

© PPI AG

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

43

Venture Capital Elasticsearch

© PPI AG

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.

45

Ausblick

Sankey Diagramm bei Google Analytics

© PPI AG

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

49

Monitoring Tools

abgeschaltet

50

Anwenderverhalten

Angewendete Filter: User Agent = IE 7 oder IE 8 oder IE 9 und Request-Url enthält handle.

Hierdurch werden die meisten Bot-Request herausgefiltert