ELK Stack - Bessere Entscheidungen durch bessere Daten

ELK Stack - Bessere Entscheidungen durch bessere Daten

Presented at the OOP Konferenz 2015. Slides auf Deutsch.

Um bestmögliche Entscheidungen zu treffen, unabhängig davon, ob auf Business- oder technischer Ebene, gilt es, diese auf einer möglichst guten Datenbasis mit einer hohen Datenqualität zu treffen. Dass diese Datenbasis jedoch auch kontinuierlich gepflegt, verbessert und angereichert werden muss, wird in Unternehmen schnell vergessen. Dieser Vortrag liefert einen Einblick in den ELK Stack (Elasticsearch, Logstash & Kibana) und zeigt anhand unterschiedlicher Anwendungsbeispiele, wie dieser Prozess automatisiert werden kann.

098332e9d988080a9057816f84d668f7?s=128

Elasticsearch Inc

January 29, 2015
Tweet

Transcript

  1. Alexander Reelsen @spinscale alexander.reelsen@elasticsearch.com Elasticsearch, Logstash & Kibana Bessere Entscheidungen

    durch bessere Daten
  2. Einführung Der ELK Stack Beispiele Zusammenfassung Agenda

  3. Einführung Der ELK Stack Beispiele Zusammenfassung Demo Agenda

  4. ... Elasticsearch 2012 gegründet Büros in Mountain View, Amsterdam, London,

    Berlin, Phoenix VC von Benchmark, Index Ventures & NEA Trainings, Development/Production Support Produkte: Elasticsearch, Logstash, Kibana, Marvel, Shield Über...
  5. ... Elasticsearch 2012 gegründet Büros in Mountain View, Amsterdam, London,

    Berlin, Phoenix VC von Benchmark, Index Ventures & NEA Trainings, Development/Production Support Produkte: Elasticsearch, Logstash, Kibana, Marvel, Shield ... mich seit Anfang 2013 bei Elasticsearch interessiert an Skalierung & Concurrency Core/Shield Entwickler, Blogger, Trainer, Supporter, Speaker Über...
  6. Einführung

  7. Limitierte Ressourcen Budget, Zeit, Mitarbeiter, Kunden... Entscheidungsfindung Logdateien Hochregallager Kreditkartenbetrug

    Fließband Entscheiden, aber wie?
  8. über Systeme Daten sind verteilt     

        Webserver Application Server Database
  9. über Abteilungen Daten sind verteilt     

        Buchhaltung Research & Development Marketing
  10. Silos Daten sind verteilt      

       Buchhaltung Research & Development Marketing
  11. Keine Kommunikation Daten sind verteilt     

        Buchhaltung Research & Development Marketing ◦ ◦
  12. Keine Korrelation Daten sind verteilt     

        Buchhaltung Research & Development Marketing ◦ ◦
  13. Information Anreicherung Daten haben einen Wert # Reaktion $ %

  14. Information Anreicherung Daten ändern ihren Wert # Reaktion $ %

    Dauer von Ereignis bis Auswertung
  15. Information Anreicherung Daten ändern ihren Wert # Reaktion $ %

    Mehrwert durch Anreicherung
  16. Information Anreicherung Daten ändern ihren Wert # Reaktion $ %

    Optimieren für Extraktion Speicheroptimierung zweirangig!
  17. UI Echtzeit Anforderungen | Struktur ' (

  18. UI Echtzeit Anforderungen | Struktur ' ( Datenaufbereitung

  19. UI Echtzeit Anforderungen | Struktur ' ( Zeitnahe Bereitstellung der

    Daten
  20. UI Echtzeit Anforderungen | Struktur ' ( Visualisierung

  21. ELK Stack

  22. Kibana Elasticsearch ELK Stack | Logstash 

  23. Kibana Elasticsearch ELK Stack | Logstash  Annahme & Konvertierung

    Anreicherung Weitergabe
  24. Kibana Elasticsearch ELK Stack | Logstash  Speicherung

  25. Kibana Elasticsearch ELK Stack | Logstash  Anfrage

  26. Logstash

  27. Events and Logs verwalten Daten sammeln Daten auswerten Daten anreichern

    Daten speichern Open Source: Apache License 2.0 Logstash
  28. Output Filter Architektur ) Input * +

  29. Output Filter Inputs ) Input * + Lesen des Ereignisses

    datastore, stream, log files, files, monitoring, queues, network
  30. Output Filter Filter ) Input * + Ändern des Ereignisses

    parse, enrich, tag, drop
  31. Output Filter Output ) Input * + Schreiben des Ereignisses

    datastore, files, email, pager, monitoring, chat, API, queues
  32. Output Filter It’s a pipe! ) Input * + Unix

    pipe?
  33. Output Filter Beispiel: GeoIP Filter ) Input * + Input

    stdin
  34. Output Filter Beispiel: GeoIP Filter ) Input * + Bearbeiten

    des Ereignisses grok, date, useragent, geoip
  35. Output Filter Beispiel: GeoIP Filter ) Input , + ip:

    141.1.1.1
  36. Output Filter Beispiel: GeoIP Filter ) Input , + ip:

    141.1.1.1 city: Munich country: GER
  37. Output Filter Beispiel: GeoIP Filter ) Input * + Speichern

    elasticsearch
  38. Elasticsearch

  39. HTTP & JSON Was ist Elasticsearch? ,

  40. HTTP & JSON Schema-less Was ist Elasticsearch? , $

  41. HTTP & JSON Schema-less distributed Was ist Elasticsearch? - ,

    $
  42. HTTP & JSON Schema-less distributed document-oriented Was ist Elasticsearch? -

    , $ .
  43. HTTP & JSON Schema-less distributed document-oriented near-realtime Was ist Elasticsearch?

    - ' , $ .
  44. HTTP & JSON Schema-less distributed document-oriented near-realtime search Was ist

    Elasticsearch? / - ' , $ .
  45. HTTP & JSON Schema-less distributed document-oriented near-realtime search analytics Was

    ist Elasticsearch? 0 / - ' , $ .
  46. Analytics Logging Use-Cases | 1 Search /

  47. Analytics Logging Use-Cases | 1 Search / Volltextsuche Dokumente, Produkte,

    Quellcode
  48. Analytics Logging Use-Cases | 1 Search / Zentralisierung & Suchbarkeit

    System, Webserver, Audit, Firewall
  49. Analytics Logging Use-Cases | 1 Search / Aggregation Reporting, BI,

    Facetted Navigation
  50. Analytics Logging Use-Cases: Kombination | 1 Search / & &

  51. Kibana

  52. Kibana Discover Visualize Dashboard 2

  53. Kibana Discover Visualize Dashboard 2 Interaktive Datenexploration Ad-Hoc Suchanfragen

  54. Kibana Discover Visualize Dashboard 2 Visualisierungen und Charts

  55. Kibana Discover Visualize Dashboard 2 Flexible, interaktive Dashboards

  56. Kibana

  57. Kibana 4

  58. Kibana 4

  59. Kibana 4

  60. Kibana 4

  61. Kibana 4

  62. Beispiele

  63. Guardian case study Web server logs meetup.com RSVP stream kippo

    SSH honeypot Beispiele
  64. Ophan: In-house analytics software Empower the organization Give the entire

    organization real-time insight into audience engagement Democratize analytics access for more than 500 users Encourage a culture of exploration and innovation for all employees Leverage real-time analytics Easily query 360 million documents See traffic for all content as it happens Gain insight into how updates impact site traffic http://www.elasticsearch.com/case-study/guardian/ Case study: The Guardian
  65. Case study: The Guardian

  66. Case study: The Guardian

  67. Case study: The Guardian

  68. Case study: The Guardian

  69. Beispiel: Web server logs

  70. Beispiel: Logstash Konfiguration input { stdin {} } filter {

    grok { match => { "message" => "%{COMBINEDAPACHELOG}" } } date { match => [ "timestamp", "dd/MMM/YYYY:HH:mm:ss Z" ] } geoip { source => “clientip" } useragent { source => "agent" target => "useragent" } } output { elasticsearch { protocol => "http" host => "localhost" } }
  71. Beispiel: Logstash Konfiguration input { stdin {} } filter {

    grok { match => { "message" => "%{COMBINEDAPACHELOG}" } } date { match => [ "timestamp", "dd/MMM/YYYY:HH:mm:ss Z" ] } geoip { source => “clientip" } useragent { source => "agent" target => "useragent" } } output { elasticsearch { protocol => "http" host => "localhost" } } cat access.log | logstash agent -f logstash.conf
  72. Alle Reservierungen werden an einen HTTP Stream gesendet Jede Zeile

    ist ein eigenes JSON Dokument (= Event) http://stream.meetup.com/2/rsvps meetup.com RSVP stream
  73. All RSVPs are written out to a stream Each line

    is a JSON document Available at http:// stream.meetup.com/2/rsvps meetup.com RSVP stream
  74. kippo SSH honeypot

  75. Zusammenfassung

  76. Zusammenfassung Daten Fokus Iteration 3 4 5

  77. Zusammenfassung Daten Fokus Iteration 3 4 5 Extrahieren & zentralisieren

    Bereitstellen & demokratisieren
  78. Zusammenfassung Daten Fokus Iteration 3 4 5 Informationsgewinnung Visualisierung

  79. Zusammenfassung Daten Fokus Iteration 3 4 5 Kontinuierliche Verbesserung

  80. Elasticsearch, Logstash & Kibana herunterladen & anfangen Einfach loslegen! #

    elasticsearch-1.4.2/bin/elasticsearch # kibana-4.0.0/bin/kibana # logstash-1.5.0/bin/logstash agent -f logstash.conf # open localhost:5601
  81. Resourcen

  82. Elasticsearch, Logstash & Kibana http://www.elasticsearch.org http://www.elasticsearch.org/blog/ http://www.elasticsearch.org/guide/ http://www.elasticsearch.com http://www.elasticsearch.com/customers/ http://www.elasticsearch.com/products/shield

    http://www.elasticsearch.com/products/marvel Links
  83. Resources

  84. Alexander Reelsen @spinscale alexander.reelsen@elasticsearch.com Vielen Dank! We’re hiring! http://elasticsearch.com/jobs We’re

    helping! http://elasticsearch.com/support http://elasticsearch.com/training