Slide 1

Slide 1 text

Analytics mit Elastic_ Ad-hoc Analysen auf strukturierten Daten [email protected]

Slide 2

Slide 2 text

•Ad-hoc •Strukturierte Daten •Analysemöglichkeiten in elasticsearch •Visualisierung •Demo Inhalt_ 2

Slide 3

Slide 3 text

•„für diesen Augenblick gemacht“ •Reporting für nicht-technische Endbenutzer •Reports müssen nicht vordefiniert oder programmiert werden •Beantwortet geschäftsspezifische Fragestellungen •Idealerweise webbasiert •near-realtime Ad-hoc_ 3

Slide 4

Slide 4 text

•Typisierte Daten • Skalare Typen • Aufzählungen • Zusammengesetzte Typen •Bedeutung einzelnen Datenelemente Strukturierte Daten_ 4

Slide 5

Slide 5 text

•Datenformat in elasticsearch is JSON •JSON eigene Datentypen • Zeichenkette • Nummer • Boolscher Wert • Undefinierter Wert (null) • Aufzählung • Objekt Strukturierte Daten_ 5

Slide 6

Slide 6 text

•Elasticsearch Datentypen • Alle JSON Typen • Datum • Geopunkt/Geohash • Binary • IPv4 Strukturierte Daten_ 6

Slide 7

Slide 7 text

{ "firstname":"Max", "name":"Mustermann", "current_ip_addr":"192.168.1.1", "birthdate":"1977-02-17", "last_login":"2016-03-12T12:02:22.321+02:00", "last_login_from":{ "lat":41.12, "lon":-71.34 }, "login_count":1332, "is_premium":true, "roles":[ "users", "premium" ], "addresses":[ { "type":"BILLING", "street":"Musterstr. 11", "plz":"76227" }, { "type":"SHIPPING", "street":"Lorenzweg 34a", "plz":"90998" } ] } Strukturierte Daten_ 7 "firstname":"Max", "name":"Mustermann", "current_ip_addr":"192.168.1.1", "birthdate":"1977-02-17", "last_login":"2016-03-12T12:02:22.321+02:00", "last_login_from":{ "lat":41.12, "lon":-71.34 } String String IPv4 Date Object/Geopoint

Slide 8

Slide 8 text

{ "firstname":"Max", "name":"Mustermann", "current_ip_addr":"192.168.1.1", "birthdate":"1977-02-17", "last_login":"2016-03-12T12:02:22.321+02:00", "last_login_from":{ "lat":41.12, "lon":-71.34 }, "login_count":1332, "is_premium":true, "roles":[ "users", "premium" ], "addresses":[ { "type":"BILLING", "street":"Musterstr. 11", "plz":"76227" }, { "type":"SHIPPING", "street":"Lorenzweg 34a", "plz":"90998" } ] } Strukturierte Daten_ 8 "login_count":1332, "is_premium":true, "roles":[ "users", "premium" ] Number Boolean Array

Slide 9

Slide 9 text

{ "firstname":"Max", "name":"Mustermann", "current_ip_addr":"192.168.1.1", "birthdate":"1977-02-17", "last_login":"2016-03-12T12:02:22.321+02:00", "last_login_from":{ "lat":41.12, "lon":-71.34 }, "login_count":1332, "is_premium":true, "roles":[ "users", "premium" ], "addresses":[ { "type":"BILLING", "street":"Musterstr. 11", "plz":"76227" }, { "type":"SHIPPING", "street":"Lorenzweg 34a", "plz": null } ] } Strukturierte Daten_ 9 "addresses":[ { "type":"BILLING", "street":"Musterstr. 11", "plz":"76227" }, { "type":"SHIPPING", "street":"Lorenzweg 34a", "plz": null } ] Array String/Enum null

Slide 10

Slide 10 text

•Aggregationen • Metrik Aggregationen • Bucket Aggregationen • Pipeline Aggregationen • Metrik oder Bucket Aggregationen verketten • Eingabe einer Aggregation ist Ausgabe einer anderen •Near-realtime •Keine „rollups“ nötig •Einbeziehung unstrukturierter Daten möglich Analysemöglichkeiten in elasticsearch_ 10

Slide 11

Slide 11 text

•Metrik Aggregation • Berechnen eine Metrik auf Basis einer Menge an Dokumenten • Relevante Dokumente per Suche (Query) finden • Mögliche Aggregationen (Auswahl) • Summe (sum) • Durchschnitt (avg) • Minimum/Maximum (min/max) • Kardinalität (cardinality) • Percentile (percentiles) • „Per Skript“ (scripted_metric) Analysemöglichkeiten_ 11

Slide 12

Slide 12 text

•Bucket Aggregation • Erzeugt „Töpfe“ (buckets) von Dokumenten • Ausprägung des buckets hängt vom Typ der Aggregation ab • Mögliche Aggregationen (Auswahl) • Ausdruck (terms) • Bereich (range) • Histogramm (histogram) • Geo Distanz (geo_distance) Analysemöglichkeiten_ 12

Slide 13

Slide 13 text

•kibana Visualisierung_ 13 Metric Chart Map Chart Chart Query (auch über unstrukturierte Daten)

Slide 14

Slide 14 text

•Zeitreihenorientiert (geht aber auch ohne) •Interaktives „Discovery“ •Interaktive Dashboards • Drill-down • Filter • Suche Visualisierung_ 14

Slide 15

Slide 15 text

•New York Unfall Statistik •https://github.com/salyh/elk2-out-of-the-box-demo Demo_ 15

Slide 16

Slide 16 text

•Discover Demo_ 16

Slide 17

Slide 17 text

Demo_ 17 •Visualize

Slide 18

Slide 18 text

Demo_ 18 •Dashboard

Slide 19

Slide 19 text

•Discovery: Suche zusammenstellen •Visualize: Aggregation erstellen •Dashboards: Visualisierungen kombinieren Demo_ 19

Slide 20

Slide 20 text

Demo_ 20 •Beispiel: Unfallzahl nach Stadtteil und Ursache

Slide 21

Slide 21 text

Demo_ 21 •Beispiel: Unfallzahl mit Todesopfern nach Stadtteil und Ursache

Slide 22

Slide 22 text

Demo_ 22 •Beispiel: Summe betroffener Personen nach Stadtteil und Zeithistogramm

Slide 23

Slide 23 text

Demo_ 23 Mehr: https://www.elastic.co/use-cases Demo

Slide 24

Slide 24 text

[email protected] Fragen? 24