Zentraler Logserver
Splunk, Graylog und ElasticSearch/Kibana
Umgebung
- Webshop
- 120k Besucher
- Java/Tomcat
- Reverse Proxy Stack
- VMs
- Getrenntes Dev-System
Probleme/Anforderungen
- 2 Proxy Stacks (NGinx, Varnish, Apache)
- 5 Applikationsserver (Backend + 4 Frontend)
- Isolierte Produktionssysteme
- Proxy Stack
- 3 Applikationsserver
- NAS (NFS)
Logdaten
- Accesslog NGinx
- Accesslog Apache
- App Log (Log4J)
- VarnishNCSA Log*
Datenraten
- NGinx ~100 /s
- Apache ~ 60 /s
- App Logs ~ 20 /s
Übertragung
- Produktiv System zum Dev-System
- Über Firewalls
- TLS notwendig
- Verluste nicht akzeptabel
- Blocking nicht akzeptabel (Syslog)
- Mehrzeilenlogs (Log4J)
- Kaum bis keine Eingriffe in das Logging der Apps
POC
- Nur Dev-System
- Geringe Ressourcen
- Graylog/Logstash
- Kaum Konfig
Versuch 1
- Syslog UDP von Proxys
- Logstash auf den App-Nodes Fileinput/Graylog
- Graylog-Radio
- RabbitMQ
- Graylog-Indexer
Ergebnisse 1
- Kein TLS
- Syslog UDP und
- GELF UDP > Firewall + Verlust
- Radio+MQ+Indexer > Speicher
- Datenverlust
Versuch 2
- Logstash-Forwarder
- Logstash
- Graylog
Ergebnisse 2
- TLS
- TCP
- Logstash Forwarder: Klein, Logrotate, ACK, "neue Dateien"
- Logstash 1.4 Bug: Speicherleck
- Graylog zu langsam
Versuch 3
- Logstash Forwarder
- Logstash
- Elasticsearch direkt
- Kibana3/4
Ergebnisse 3
- TLS
- TCP
- Logstash 1.5 Beta (Bug weg)
- Im Maximum 600 Events/s
- Teils 300MB/s
Ergebnisse 3
- Logstash modifiziert Einträge
- Datentypen
- Plugin UserAgent
- Plugin GeoIP
- Metrics
- Multiline
- Grok
Ergebnisse 3
- Seit 22.12.2014
- 320 Mio Einträge
- 280GB
- 242 Shards
- Access-Log Dashboard
- App-Log Dashboard
- GeoIP Filter
- UserAgent Filter
Ergebnis ElasticSearch
- Aufwand eher hoch
- Ergebnis fast gut
- Beta Software
- Antworten aus Logs aufwändig
Splunk
POC
- Lizenz für 20GB Tag
- Splunk-Forwarder
- Userspace
- CLI: add, remove Dateien/Pfade
- Splunk Server
- Web GUI
- Dashboards
- Konfig
- Userverwaltung
- Mails
POC
- Setup mit TLS (zwingend)
- Pro Server 15 Minuten
- Indexer Setup 30 Minuten
Splunk Features
- Archivierung der Daten
- Log Typen Erkennung
- Auto Felder pro Typ
- Extrahieren von Daten und Events / Nachträglich
- Verkettete Suchen
- type=access | geoip=ip | top 10 countrys by sum(count)
- Grafische Darstellung in der Suche
- Mobile Access
Splunk Features
- Inputs TCP, UDP, Dateien, Scripte
- Typen in großer Menge (accesslogs, log4j, mysqld,...)
- Forwarder
- Cluster
- Remote Management der Indexer und Forwarder
Splunk für Admins
- Suche
- Zeitfenster
- Event Mail
- Pro Aktiv
- Zentrale Ablage für Logs
Splunk für Bosse
- Apps
- Einfach eigene Felder
- Grafiken/Mobile
- Executive Dashboards ohne Suche
- Excel Export
Splunk Preise
- Verhandlungssache :)
- 40k / 5GB
- 12k / 20GB
- Kostenlos bis 500MB
Lohnt sich das?
- Ja, wenn man Wissen aus Logs generieren muss
- Ja, wenn man Support und SLA braucht
- Ja, wenn man unter 500m ist :)
- Nicht, wenn man nur in Logs suchen will oder Graylog es auch tut
Fragen?
Zentraler Logserver
By Thoms Be
Zentraler Logserver
- 1,717