Upgrade to Pro — share decks privately, control downloads, hide ads and more …

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.

Elasticsearch Inc

January 29, 2015
Tweet

More Decks by Elasticsearch Inc

Other Decks in Technology

Transcript

  1. Alexander Reelsen
    @spinscale
    [email protected]
    Elasticsearch, Logstash & Kibana
    Bessere Entscheidungen durch bessere Daten

    View Slide

  2. Einführung
    Der ELK Stack
    Beispiele
    Zusammenfassung
    Agenda

    View Slide

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

    View Slide

  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...

    View Slide

  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...

    View Slide

  6. Einführung

    View Slide

  7. Limitierte Ressourcen
    Budget, Zeit, Mitarbeiter, Kunden...
    Entscheidungsfindung
    Logdateien
    Hochregallager
    Kreditkartenbetrug
    Fließband
    Entscheiden, aber wie?

    View Slide

  8. über Systeme
    Daten sind verteilt









    Webserver
    Application Server
    Database

    View Slide

  9. über Abteilungen
    Daten sind verteilt









    Buchhaltung
    Research & Development
    Marketing

    View Slide

  10. Silos
    Daten sind verteilt









    Buchhaltung
    Research & Development
    Marketing

    View Slide

  11. Keine Kommunikation
    Daten sind verteilt









    Buchhaltung
    Research & Development
    Marketing


    View Slide

  12. Keine Korrelation
    Daten sind verteilt









    Buchhaltung
    Research & Development
    Marketing


    View Slide

  13. Information
    Anreicherung
    Daten haben einen Wert
    #
    Reaktion
    $
    %

    View Slide

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

    View Slide

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

    View Slide

  16. Information
    Anreicherung
    Daten ändern ihren Wert
    #
    Reaktion
    $
    %
    Optimieren für Extraktion
    Speicheroptimierung zweirangig!

    View Slide

  17. UI
    Echtzeit
    Anforderungen
    |
    Struktur
    '
    (

    View Slide

  18. UI
    Echtzeit
    Anforderungen
    |
    Struktur
    '
    (
    Datenaufbereitung

    View Slide

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

    View Slide

  20. UI
    Echtzeit
    Anforderungen
    |
    Struktur
    '
    (
    Visualisierung

    View Slide

  21. ELK Stack

    View Slide

  22. Kibana
    Elasticsearch
    ELK Stack
    |
    Logstash

    View Slide

  23. Kibana
    Elasticsearch
    ELK Stack
    |
    Logstash

    Annahme & Konvertierung
    Anreicherung
    Weitergabe

    View Slide

  24. Kibana
    Elasticsearch
    ELK Stack
    |
    Logstash

    Speicherung

    View Slide

  25. Kibana
    Elasticsearch
    ELK Stack
    |
    Logstash

    Anfrage

    View Slide

  26. Logstash

    View Slide

  27. Events and Logs verwalten
    Daten sammeln
    Daten auswerten
    Daten anreichern
    Daten speichern
    Open Source: Apache License 2.0
    Logstash

    View Slide

  28. Output
    Filter
    Architektur
    )
    Input
    *
    +

    View Slide

  29. Output
    Filter
    Inputs
    )
    Input
    *
    +
    Lesen des Ereignisses
    datastore, stream, log files, files, monitoring, queues,
    network

    View Slide

  30. Output
    Filter
    Filter
    )
    Input
    *
    +
    Ändern des Ereignisses
    parse, enrich, tag, drop

    View Slide

  31. Output
    Filter
    Output
    )
    Input
    *
    +
    Schreiben des Ereignisses
    datastore, files, email, pager, monitoring, chat, API, queues

    View Slide

  32. Output
    Filter
    It’s a pipe!
    )
    Input
    *
    +
    Unix pipe?

    View Slide

  33. Output
    Filter
    Beispiel: GeoIP Filter
    )
    Input
    *
    +
    Input stdin

    View Slide

  34. Output
    Filter
    Beispiel: GeoIP Filter
    )
    Input
    *
    +
    Bearbeiten des Ereignisses
    grok, date, useragent, geoip

    View Slide

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

    View Slide

  36. Output
    Filter
    Beispiel: GeoIP Filter
    )
    Input
    ,
    +
    ip: 141.1.1.1
    city: Munich
    country: GER

    View Slide

  37. Output
    Filter
    Beispiel: GeoIP Filter
    )
    Input
    *
    +
    Speichern
    elasticsearch

    View Slide

  38. Elasticsearch

    View Slide

  39. HTTP & JSON
    Was ist Elasticsearch?
    ,

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  46. Analytics
    Logging
    Use-Cases
    |
    1
    Search
    /

    View Slide

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

    View Slide

  48. Analytics
    Logging
    Use-Cases
    |
    1
    Search
    /
    Zentralisierung & Suchbarkeit
    System, Webserver, Audit, Firewall

    View Slide

  49. Analytics
    Logging
    Use-Cases
    |
    1
    Search
    /
    Aggregation
    Reporting, BI, Facetted Navigation

    View Slide

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

    View Slide

  51. Kibana

    View Slide

  52. Kibana
    Discover Visualize Dashboard
    2

    View Slide

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

    View Slide

  54. Kibana
    Discover Visualize Dashboard
    2
    Visualisierungen und Charts

    View Slide

  55. Kibana
    Discover Visualize Dashboard
    2
    Flexible, interaktive Dashboards

    View Slide

  56. Kibana

    View Slide

  57. Kibana 4

    View Slide

  58. Kibana 4

    View Slide

  59. Kibana 4

    View Slide

  60. Kibana 4

    View Slide

  61. Kibana 4

    View Slide

  62. Beispiele

    View Slide

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

    View Slide

  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

    View Slide

  65. Case study: The Guardian

    View Slide

  66. Case study: The Guardian

    View Slide

  67. Case study: The Guardian

    View Slide

  68. Case study: The Guardian

    View Slide

  69. Beispiel: Web server logs

    View Slide

  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"
    }
    }

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

  74. kippo SSH honeypot

    View Slide

  75. Zusammenfassung

    View Slide

  76. Zusammenfassung
    Daten Fokus Iteration
    3
    4 5

    View Slide

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

    View Slide

  78. Zusammenfassung
    Daten Fokus Iteration
    3
    4 5
    Informationsgewinnung
    Visualisierung

    View Slide

  79. Zusammenfassung
    Daten Fokus Iteration
    3
    4 5
    Kontinuierliche Verbesserung

    View Slide

  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

    View Slide

  81. Resourcen

    View Slide

  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

    View Slide

  83. Resources

    View Slide

  84. Alexander Reelsen
    @spinscale
    [email protected]
    Vielen Dank!
    We’re hiring!
    http://elasticsearch.com/jobs
    We’re helping!
    http://elasticsearch.com/support
    http://elasticsearch.com/training

    View Slide