SlideShare ist ein Scribd-Unternehmen logo
1 von 30
Downloaden Sie, um offline zu lesen
Zentrales Logging mit Elasticsearch
Digital Xchange 2019
Wer bin ich
● Simon Schneider
● Software Engineer bei der Rewe Digital
○ Schwerpunkt: Suche
● Bis Oktober 2018, INFORM GmbH in Aachen
○ Schwerpunkt: Zentrales Logging
2/28
Agenda
1) Allgemein
a) Was bedeutet “Zentrales Logging”?
b) Wie funktioniert der Elastic Stack?
c) Wie nutzt REWE Digital den Elastic Stack?
2) Ingest und Speicherung
a) Setup Elasticsearch
b) Setup Logstash
3) Datenanalyse mit Kibana
a) Live Demo
4) Fragen
3/28
“Zentrales Logging”Was bedeutet
Was bedeutet “Zentrales Logging” ?
Dezentrales Logging
VPN Maschine
Jump Host
(beim Kunden)
Application ServerEntwickler PC
5/28
Was bedeutet “Zentrales Logging” ?
Zentrales Logging
Application ServerEntwickler PC Logging Service
Anfragen der Logs Senden der Logs
6/28
Zentrales Logging
Vor- und Nachteile des Zentralen Loggings
Pros Contras
● Single source of truth (SSOT):
Alle Logs an einem Ort => Leicht zu finden
Keine Suchen nach Logs auf Servern => Schneller
● Neue Zusammenhänge:
Globale Sicht ermöglicht arbeiten über Service
Grenzen => CorrelationId
● Verbesserte Sicherheit:
Entwickler benötigen weniger/keinen Zugriff auf
Produktivsysteme
● Exploratives Verhaltensanalyse:
Entwickler können mit wenig Aufwand
Programmverhalten im Livebetrieb nachvollziehen
● Zusätzliche Infrastruktur:
Neuer Speicherplatz und Rechenkapazität
wird benötigt
● Großer Initialaufwand:
Alle existierenden Services müssen auf das
neue System umgestellt werden.
7/28
Wie funktioniert der Elastic Stack ?
Wie funktioniert der Elastic Stack ?
Allgemeines
● Bestandteile
○ Elasticsearch
○ Logstash
○ Kibana
○ Beats
● Maintainer: Elastic NV (Niederlande)
● Lizenz: Apache License Version 2.0
9/28
Wie funktioniert der Elastic Stack ?
Aufbau Elastic Stack
Kibana
Elasticsearch
Beats Logstash
SaaS Self Managed
Elastic Stack
Visualize & Manage
Store, Search & Analyze
Ingest
DeploymentElastic Cloud Elastic Cloud
Enterprise
Standalone
10/28
Wie funktioniert Logstash ?
Logstash
● Annehmen von Daten aus:
○ Beats
○ Redis
○ Kafka
○ Salesforce
○ ...
● Verarbeiten der Daten mit:
○ Grok
○ Geo IP
○ Date/Time Parser
○ Ruby/Java
○ …
● Ablegen der Daten in:
○ Elasticsearch
○ Syslog
○ ...
11/28
Wie funktionieren Beats ?
Filebeat/Metricbeat/Packetbeat...
● Filebeat => Logs einlesen
● Metricbeat => System/Docker/MongoDB/Kubernetes Metriken sammeln
● Packetbeat => Sammelt und Analysiert Netzwerkverkehr
● Winlogbeat => Einlesen der Windows Ereignisprotokolle
● Auditbeat => Einlesen der Ereignisse aus dem Linux Audit Framework
● Heartbeat => Heartbeat Pings über ICMP, TCP und HTTP
● Libbeat => Go Library für das entwickeln von Beats
12/28
Wie funktioniert Elasticsearch ?
Allgemein
● Eigenschaften
○ Suchmaschine und Analytics Engine auf Basis von Lucene
○ Skalierbar auf mehrere hundert Knoten
○ Robust gegen Störungen (Resilenz)
○ Flexibel, verschiedene Anwendungsfälle werden abgedeckt
● Kompatibilität
○ RESTful
○ SQL
13/28
Wie funktioniert Elasticsearch ?
Knoten Modi
● Master
○ Verwaltung des Clusters
○ Geringe CPU Last, kaum Speicherverbrauch
● Data
○ Speichern von Daten
○ Hohe CPU Last, hoher Speicherverbrauch, häufige Festplattenzugriffe
● Ingest / Machine Learning
○ Verarbeiten der Daten
○ Hohe CPU Last, mittelmäßiger bis hoher Speicherverbrauch
14/28
Elasticsearch Architekturen
Daumenregeln Hot-Warm Indizes
● Hot-Warm Architektur
○ Master Knoten (3)
○ Hot Knoten (>=3)
○ Warm Knoten (>=3)
● Indizes
○ Jeden Tag ein neuer Index
○ Alte Indizes werden auf die Warm Knoten verschoben
○ Ein Alias zeigt immer auf den tagesaktuellen Index
○ Alte Indizes werden komprimiert
● Shards
○ Shard Replication mindestens auf 2
○ Shard Anzahl = Datenmenge / 30 GB + 1
https://www.elastic.co/de/blog/hot-warm-architecture-in-elasticsearch-5-x
15/28
Wie funktioniert Elasticsearch ?
Datenhaltung Elasticsearch
Elasticsearch Index
Elasticsearch Shard Elasticsearch Shard Elasticsearch Shard Elasticsearch Shard
Lucene Index Lucene Index Lucene Index Lucene Index
Segment Segment Segment Segment Segment Segment Segment Segment
16/28
den Elastic StackWie nutzt REWE
Elastic Stack @
Logging im Rewe Online Shop - Technical Logs
● Die Logs aller Microservice Instanzen müssen persistiert werden
● Datenmenge Pro Tag:
○ 427 Millionen Log Events
○ 435 GB Log Daten
● Datenmenge Gesamt:
○ 5,9 Milliarden Log Events
○ 6,09 TB Log Daten
18/28
Logging im Rewe Online Shop - Logging Infrastruktur
● Docker Node
○ Docker / Logstash
● Ingest/Master Nodes:
○ Redis / Logstash / Elasticsearch
○ 3 Nodes
● Data Nodes:
○ 4 CPU Cores / 64GB RAM / 2TB SSD
○ 8 Nodes
● Kibana Nodes:
○ Kibana / Elasticsearch
○ 2 Nodes
Docker Node
Ingest Node
Data Node
Kibana
Node
Elastic Stack @
19/28
Setup Elasticsearch
Live Coding
LogstashSetup
Setup Logstash
Pipeline Konfiguration
● Input
○ Einlesen mit “gelf” auf UDP Port 12201
● Filter
○ JSON Entpacken
○ Nginx/Service Logs unterscheiden
● Output
○ Logs an Elasticsearch senden
gelf {
type => docker
port => 12201
}
json {
source => "message"
target => "payload"
}
if [tag] == "app" {
...
}
elasticsearch {
hosts => ["elasticsearch:9200"]
}
23/28
Live Coding
mit KibanaDatenanalyse
Live Demo
Fragen ?
Vielen Dank!
für eure Aufmerksamkeit
10:30 Uhr 11:30 Uhr 14:30 Uhr
Elasticsearch Cluster
Anforderungen
● Workload: 1TB pro Tag
● Speicherdauer: 30 Tage
● Relevanz Quantil: 7 Tage
● Datenaufbereitung: Ingest
● Datensammlung
A
B
A
B
C
A
A
A
Credits
Log Icon made by Freepik from www.flaticon.com
Elastic Icons - https://www.elastic.co/de/brand
30/28

Weitere ähnliche Inhalte

Ähnlich wie Zentrales Logging mit Elasticsearch

OSMC 2013 | Enterprise Platforms Monitoring at s IT Solutions AT by Johannes ...
OSMC 2013 | Enterprise Platforms Monitoring at s IT Solutions AT by Johannes ...OSMC 2013 | Enterprise Platforms Monitoring at s IT Solutions AT by Johannes ...
OSMC 2013 | Enterprise Platforms Monitoring at s IT Solutions AT by Johannes ...NETWAYS
 
Wie baue ich eine KI, die besser als jeder Mensch ein Problem und dessen Ursa...
Wie baue ich eine KI, die besser als jeder Mensch ein Problem und dessen Ursa...Wie baue ich eine KI, die besser als jeder Mensch ein Problem und dessen Ursa...
Wie baue ich eine KI, die besser als jeder Mensch ein Problem und dessen Ursa...OPITZ CONSULTING Deutschland
 
Überblick: 18c und Autonomous Data Warehouse Cloud (ADWC)
Überblick: 18c und Autonomous Data Warehouse Cloud (ADWC)Überblick: 18c und Autonomous Data Warehouse Cloud (ADWC)
Überblick: 18c und Autonomous Data Warehouse Cloud (ADWC)Ulrike Schwinn
 
Dataservices - Data Processing mit Microservices
Dataservices - Data Processing mit MicroservicesDataservices - Data Processing mit Microservices
Dataservices - Data Processing mit MicroservicesQAware GmbH
 
MySQL für Oracle DBA's
MySQL für Oracle DBA'sMySQL für Oracle DBA's
MySQL für Oracle DBA'sFromDual GmbH
 
Rex - Infrastruktur als Code
Rex - Infrastruktur als CodeRex - Infrastruktur als Code
Rex - Infrastruktur als CodeJan Gehring
 
Public Cloud Erfahrungsbericht SBB
Public Cloud Erfahrungsbericht SBBPublic Cloud Erfahrungsbericht SBB
Public Cloud Erfahrungsbericht SBBBATbern
 
Softwaremonitoring mit prometheus
Softwaremonitoring mit prometheusSoftwaremonitoring mit prometheus
Softwaremonitoring mit prometheusGeorg Öttl
 
AdminCamp 2014: Quo Vadis – Wohin mit IBM Notes/Domino?
AdminCamp 2014: Quo Vadis – Wohin mit IBM Notes/Domino?AdminCamp 2014: Quo Vadis – Wohin mit IBM Notes/Domino?
AdminCamp 2014: Quo Vadis – Wohin mit IBM Notes/Domino?panagenda
 
OSMC 2013 | Monitoring als Quelle der Wahrheit im Wellendeployment einer dyna...
OSMC 2013 | Monitoring als Quelle der Wahrheit im Wellendeployment einer dyna...OSMC 2013 | Monitoring als Quelle der Wahrheit im Wellendeployment einer dyna...
OSMC 2013 | Monitoring als Quelle der Wahrheit im Wellendeployment einer dyna...NETWAYS
 
MT AG Präsentation Rapid Application Development mit APEX 5
MT AG Präsentation Rapid Application Development mit APEX 5MT AG Präsentation Rapid Application Development mit APEX 5
MT AG Präsentation Rapid Application Development mit APEX 5MT AG
 
Realtime BigData Step by Step mit Lambda, Kafka, Storm und Hadoop
Realtime BigData Step by Step mit Lambda, Kafka, Storm und HadoopRealtime BigData Step by Step mit Lambda, Kafka, Storm und Hadoop
Realtime BigData Step by Step mit Lambda, Kafka, Storm und HadoopValentin Zacharias
 
Schulung: Einführung in das GPU-Computing mit NVIDIA CUDA
Schulung: Einführung in das GPU-Computing mit NVIDIA CUDASchulung: Einführung in das GPU-Computing mit NVIDIA CUDA
Schulung: Einführung in das GPU-Computing mit NVIDIA CUDAJörn Dinkla
 
Zukunftstrends: was bringt 2013 für die IT?
Zukunftstrends: was bringt 2013 für die IT?Zukunftstrends: was bringt 2013 für die IT?
Zukunftstrends: was bringt 2013 für die IT?Werner Fischer
 
Roadshow: «Whats new in sql server 2014»
Roadshow: «Whats new in sql server 2014»Roadshow: «Whats new in sql server 2014»
Roadshow: «Whats new in sql server 2014»Digicomp Academy AG
 
Clickstream Analysis with Spark—Understanding Visitors in Realtime by Josef A...
Clickstream Analysis with Spark—Understanding Visitors in Realtime by Josef A...Clickstream Analysis with Spark—Understanding Visitors in Realtime by Josef A...
Clickstream Analysis with Spark—Understanding Visitors in Realtime by Josef A...Spark Summit
 

Ähnlich wie Zentrales Logging mit Elasticsearch (20)

OSMC 2013 | Enterprise Platforms Monitoring at s IT Solutions AT by Johannes ...
OSMC 2013 | Enterprise Platforms Monitoring at s IT Solutions AT by Johannes ...OSMC 2013 | Enterprise Platforms Monitoring at s IT Solutions AT by Johannes ...
OSMC 2013 | Enterprise Platforms Monitoring at s IT Solutions AT by Johannes ...
 
Wie baue ich eine KI, die besser als jeder Mensch ein Problem und dessen Ursa...
Wie baue ich eine KI, die besser als jeder Mensch ein Problem und dessen Ursa...Wie baue ich eine KI, die besser als jeder Mensch ein Problem und dessen Ursa...
Wie baue ich eine KI, die besser als jeder Mensch ein Problem und dessen Ursa...
 
Froscon 2012 DWH
Froscon 2012 DWHFroscon 2012 DWH
Froscon 2012 DWH
 
Überblick: 18c und Autonomous Data Warehouse Cloud (ADWC)
Überblick: 18c und Autonomous Data Warehouse Cloud (ADWC)Überblick: 18c und Autonomous Data Warehouse Cloud (ADWC)
Überblick: 18c und Autonomous Data Warehouse Cloud (ADWC)
 
Dataservices - Data Processing mit Microservices
Dataservices - Data Processing mit MicroservicesDataservices - Data Processing mit Microservices
Dataservices - Data Processing mit Microservices
 
MySQL für Oracle DBA's
MySQL für Oracle DBA'sMySQL für Oracle DBA's
MySQL für Oracle DBA's
 
Rex - Infrastruktur als Code
Rex - Infrastruktur als CodeRex - Infrastruktur als Code
Rex - Infrastruktur als Code
 
Public Cloud Erfahrungsbericht SBB
Public Cloud Erfahrungsbericht SBBPublic Cloud Erfahrungsbericht SBB
Public Cloud Erfahrungsbericht SBB
 
Softwaremonitoring mit prometheus
Softwaremonitoring mit prometheusSoftwaremonitoring mit prometheus
Softwaremonitoring mit prometheus
 
Amazon Redshift
Amazon RedshiftAmazon Redshift
Amazon Redshift
 
AdminCamp 2014: Quo Vadis – Wohin mit IBM Notes/Domino?
AdminCamp 2014: Quo Vadis – Wohin mit IBM Notes/Domino?AdminCamp 2014: Quo Vadis – Wohin mit IBM Notes/Domino?
AdminCamp 2014: Quo Vadis – Wohin mit IBM Notes/Domino?
 
NoSQL with MySQL
NoSQL with MySQLNoSQL with MySQL
NoSQL with MySQL
 
OSMC 2013 | Monitoring als Quelle der Wahrheit im Wellendeployment einer dyna...
OSMC 2013 | Monitoring als Quelle der Wahrheit im Wellendeployment einer dyna...OSMC 2013 | Monitoring als Quelle der Wahrheit im Wellendeployment einer dyna...
OSMC 2013 | Monitoring als Quelle der Wahrheit im Wellendeployment einer dyna...
 
MT AG Präsentation Rapid Application Development mit APEX 5
MT AG Präsentation Rapid Application Development mit APEX 5MT AG Präsentation Rapid Application Development mit APEX 5
MT AG Präsentation Rapid Application Development mit APEX 5
 
Realtime BigData Step by Step mit Lambda, Kafka, Storm und Hadoop
Realtime BigData Step by Step mit Lambda, Kafka, Storm und HadoopRealtime BigData Step by Step mit Lambda, Kafka, Storm und Hadoop
Realtime BigData Step by Step mit Lambda, Kafka, Storm und Hadoop
 
Schulung: Einführung in das GPU-Computing mit NVIDIA CUDA
Schulung: Einführung in das GPU-Computing mit NVIDIA CUDASchulung: Einführung in das GPU-Computing mit NVIDIA CUDA
Schulung: Einführung in das GPU-Computing mit NVIDIA CUDA
 
Zukunftstrends: was bringt 2013 für die IT?
Zukunftstrends: was bringt 2013 für die IT?Zukunftstrends: was bringt 2013 für die IT?
Zukunftstrends: was bringt 2013 für die IT?
 
SuperCollider SS2016 1
SuperCollider SS2016 1SuperCollider SS2016 1
SuperCollider SS2016 1
 
Roadshow: «Whats new in sql server 2014»
Roadshow: «Whats new in sql server 2014»Roadshow: «Whats new in sql server 2014»
Roadshow: «Whats new in sql server 2014»
 
Clickstream Analysis with Spark—Understanding Visitors in Realtime by Josef A...
Clickstream Analysis with Spark—Understanding Visitors in Realtime by Josef A...Clickstream Analysis with Spark—Understanding Visitors in Realtime by Josef A...
Clickstream Analysis with Spark—Understanding Visitors in Realtime by Josef A...
 

Zentrales Logging mit Elasticsearch

  • 1. Zentrales Logging mit Elasticsearch Digital Xchange 2019
  • 2. Wer bin ich ● Simon Schneider ● Software Engineer bei der Rewe Digital ○ Schwerpunkt: Suche ● Bis Oktober 2018, INFORM GmbH in Aachen ○ Schwerpunkt: Zentrales Logging 2/28
  • 3. Agenda 1) Allgemein a) Was bedeutet “Zentrales Logging”? b) Wie funktioniert der Elastic Stack? c) Wie nutzt REWE Digital den Elastic Stack? 2) Ingest und Speicherung a) Setup Elasticsearch b) Setup Logstash 3) Datenanalyse mit Kibana a) Live Demo 4) Fragen 3/28
  • 5. Was bedeutet “Zentrales Logging” ? Dezentrales Logging VPN Maschine Jump Host (beim Kunden) Application ServerEntwickler PC 5/28
  • 6. Was bedeutet “Zentrales Logging” ? Zentrales Logging Application ServerEntwickler PC Logging Service Anfragen der Logs Senden der Logs 6/28
  • 7. Zentrales Logging Vor- und Nachteile des Zentralen Loggings Pros Contras ● Single source of truth (SSOT): Alle Logs an einem Ort => Leicht zu finden Keine Suchen nach Logs auf Servern => Schneller ● Neue Zusammenhänge: Globale Sicht ermöglicht arbeiten über Service Grenzen => CorrelationId ● Verbesserte Sicherheit: Entwickler benötigen weniger/keinen Zugriff auf Produktivsysteme ● Exploratives Verhaltensanalyse: Entwickler können mit wenig Aufwand Programmverhalten im Livebetrieb nachvollziehen ● Zusätzliche Infrastruktur: Neuer Speicherplatz und Rechenkapazität wird benötigt ● Großer Initialaufwand: Alle existierenden Services müssen auf das neue System umgestellt werden. 7/28
  • 8. Wie funktioniert der Elastic Stack ?
  • 9. Wie funktioniert der Elastic Stack ? Allgemeines ● Bestandteile ○ Elasticsearch ○ Logstash ○ Kibana ○ Beats ● Maintainer: Elastic NV (Niederlande) ● Lizenz: Apache License Version 2.0 9/28
  • 10. Wie funktioniert der Elastic Stack ? Aufbau Elastic Stack Kibana Elasticsearch Beats Logstash SaaS Self Managed Elastic Stack Visualize & Manage Store, Search & Analyze Ingest DeploymentElastic Cloud Elastic Cloud Enterprise Standalone 10/28
  • 11. Wie funktioniert Logstash ? Logstash ● Annehmen von Daten aus: ○ Beats ○ Redis ○ Kafka ○ Salesforce ○ ... ● Verarbeiten der Daten mit: ○ Grok ○ Geo IP ○ Date/Time Parser ○ Ruby/Java ○ … ● Ablegen der Daten in: ○ Elasticsearch ○ Syslog ○ ... 11/28
  • 12. Wie funktionieren Beats ? Filebeat/Metricbeat/Packetbeat... ● Filebeat => Logs einlesen ● Metricbeat => System/Docker/MongoDB/Kubernetes Metriken sammeln ● Packetbeat => Sammelt und Analysiert Netzwerkverkehr ● Winlogbeat => Einlesen der Windows Ereignisprotokolle ● Auditbeat => Einlesen der Ereignisse aus dem Linux Audit Framework ● Heartbeat => Heartbeat Pings über ICMP, TCP und HTTP ● Libbeat => Go Library für das entwickeln von Beats 12/28
  • 13. Wie funktioniert Elasticsearch ? Allgemein ● Eigenschaften ○ Suchmaschine und Analytics Engine auf Basis von Lucene ○ Skalierbar auf mehrere hundert Knoten ○ Robust gegen Störungen (Resilenz) ○ Flexibel, verschiedene Anwendungsfälle werden abgedeckt ● Kompatibilität ○ RESTful ○ SQL 13/28
  • 14. Wie funktioniert Elasticsearch ? Knoten Modi ● Master ○ Verwaltung des Clusters ○ Geringe CPU Last, kaum Speicherverbrauch ● Data ○ Speichern von Daten ○ Hohe CPU Last, hoher Speicherverbrauch, häufige Festplattenzugriffe ● Ingest / Machine Learning ○ Verarbeiten der Daten ○ Hohe CPU Last, mittelmäßiger bis hoher Speicherverbrauch 14/28
  • 15. Elasticsearch Architekturen Daumenregeln Hot-Warm Indizes ● Hot-Warm Architektur ○ Master Knoten (3) ○ Hot Knoten (>=3) ○ Warm Knoten (>=3) ● Indizes ○ Jeden Tag ein neuer Index ○ Alte Indizes werden auf die Warm Knoten verschoben ○ Ein Alias zeigt immer auf den tagesaktuellen Index ○ Alte Indizes werden komprimiert ● Shards ○ Shard Replication mindestens auf 2 ○ Shard Anzahl = Datenmenge / 30 GB + 1 https://www.elastic.co/de/blog/hot-warm-architecture-in-elasticsearch-5-x 15/28
  • 16. Wie funktioniert Elasticsearch ? Datenhaltung Elasticsearch Elasticsearch Index Elasticsearch Shard Elasticsearch Shard Elasticsearch Shard Elasticsearch Shard Lucene Index Lucene Index Lucene Index Lucene Index Segment Segment Segment Segment Segment Segment Segment Segment 16/28
  • 17. den Elastic StackWie nutzt REWE
  • 18. Elastic Stack @ Logging im Rewe Online Shop - Technical Logs ● Die Logs aller Microservice Instanzen müssen persistiert werden ● Datenmenge Pro Tag: ○ 427 Millionen Log Events ○ 435 GB Log Daten ● Datenmenge Gesamt: ○ 5,9 Milliarden Log Events ○ 6,09 TB Log Daten 18/28
  • 19. Logging im Rewe Online Shop - Logging Infrastruktur ● Docker Node ○ Docker / Logstash ● Ingest/Master Nodes: ○ Redis / Logstash / Elasticsearch ○ 3 Nodes ● Data Nodes: ○ 4 CPU Cores / 64GB RAM / 2TB SSD ○ 8 Nodes ● Kibana Nodes: ○ Kibana / Elasticsearch ○ 2 Nodes Docker Node Ingest Node Data Node Kibana Node Elastic Stack @ 19/28
  • 23. Setup Logstash Pipeline Konfiguration ● Input ○ Einlesen mit “gelf” auf UDP Port 12201 ● Filter ○ JSON Entpacken ○ Nginx/Service Logs unterscheiden ● Output ○ Logs an Elasticsearch senden gelf { type => docker port => 12201 } json { source => "message" target => "payload" } if [tag] == "app" { ... } elasticsearch { hosts => ["elasticsearch:9200"] } 23/28
  • 28. Vielen Dank! für eure Aufmerksamkeit 10:30 Uhr 11:30 Uhr 14:30 Uhr
  • 29. Elasticsearch Cluster Anforderungen ● Workload: 1TB pro Tag ● Speicherdauer: 30 Tage ● Relevanz Quantil: 7 Tage ● Datenaufbereitung: Ingest ● Datensammlung A B A B C A A A
  • 30. Credits Log Icon made by Freepik from www.flaticon.com Elastic Icons - https://www.elastic.co/de/brand 30/28