Timelion: Der Time Series-Composer für Kibana
Ich stelle gerade eine Demo von Kibana zusammen und denke mir: Ich wünschte, ich könnte mit Time Series-Daten in Kibana noch viel mehr machen. Gleichzeitig denke ich auch schon eine Weile über eine neue Ausdrucks-Syntax für Kibana nach: Was, wenn es einen Weg gäbe, Queries, Umwandlungen und Visualisierung an einem Ort, in einer Zeile zu beschreiben. Ich hatte für den nächsten Tag einen Transatlantikflug gebucht und hatte einen Plan: einen kleinen Ein-Mann-Hackathon während des Fluges als ein Experiment, sowohl zu Time Series Daten als auch meine den Ausdrücken.
Als ich in Houston landete, hatte ich eine Syntax, ein Diagrammraster und einige einfache Funktionen. Nach einigen weiteren Stunden des Hackings war ich in Phoenix und konnte Fragen beantworten, die ich vorher nie hätte stellen können:
- Wie viele Seiten besucht jeder einzigartige Besucher über die Zeit?
- Welche Unterschiede bestehen zwischen diesem Freitag und vergangenem Freitag?
- Wie viel % der Bevölkerung von Japan kamen heute auf meine Website?
- Wie lautet der gleitende Durchschnitt der letzten Tage für den S&P 500?
- Wie lautet die kumulative Summe aller Suchen aus den vergangenen 2 Jahren?
Timelion macht all das und noch mehr möglich. Timelion ist ein Elastic {Re}search Projekt für Time Series Daten, aber es ist mehr als nur ein Experiment: Es ist voll nutzbar. Von Ihnen. Genau jetzt.
Elastic {Re}search?
{Re}search ist das Labor von Elastic für modernste Technologie. {Re}search ist unser Spielplatz, der Sandkasten, in dem wir unsere verrücktesten Sandburgen bauen. {Re}search-Projekte werden von Elastic-Entwicklern gestartet, die eine Idee haben und diese umsetzen und teilen möchten. Die unter dem Schlagwort {Re}search gestarteten Projekte zeigen unsere nächsten großen Dinge in Paketen, die Sie heute schon nutzen (und missbrauchen) können. Einige sind unabhängig, aber viele sind Plugins und Erweiterungen für unsere vorhandenen Produkte. Wir laden Sie ein, zu installieren, zu experimentieren und Ihre Erfahrungen mit {Re}search zu teilen: Deshalb existieren sie, um Feedback zu unseren Ideen zu sammeln.
Das ist Timelion
Timelion, das als "Timeline", ausgesprochen wird, bringt komplett unabhängige Datenquellen in einer einzigen Schnittstelle zusammen, die mit einer simplen einzeiligen Ausdruckssprache läuft, welche Datenabruf, Time Series-Kombination und -Umwandlung und Visualisierung kombiniert. Jeder Timelion-Ausdruck beginnt mit einer Datenquellenfunktion, zum Beispiel .elasticsearch(*)
(oder .es(*)
in Kurzform). Einfacher wird es nicht, oder? Sie können alles in Elasticsearch im Zeitablauf messen. Ganz einfach. Wie Sie sehen können, beginnen Funktionen immer mit einem ‚.‘ (Punkt). Wie würde ich damit zum Beispiel die erste der obigen Fragen beantworten: „Wie viele Seiten besucht jeder einzigartige Besucher im Zeitablauf?“. Nun, ich könnte die beiden Teile in einem Diagramm plotten, indem ich sie durch ein Komma trenne. Aber es gibt eine bessere Methode ...
Wir können mehr schreiben als nur einzelne Funktionen, wir können Funktionen verketten! Was möchte ich wirklich – Gesamtbesuche durch einzigartige Besucher teilen. WIR KÖNNEN DAS. PUNKT. Wir sagen hier einfach: Rufe alles ab, dann teile jeden Punkt in dieser Reihe durch jeden Punkt in dieser Benutzerfeld-Kardinalitätsreihe, die ich dann weiterleite an .divide()
Wir können das tun und noch vieles mehr: Timelion kann mit anderen Datenquellen Kontakt aufnehmen, und das mit exakt derselben Syntax. Zum Beispiel mit der Daten-API der Weltbank. Reihen können sogar zu Listen gruppiert werden, wo auch Klammern und Funktionen für die Gruppen ins Spiel kommen. Alle Datenquellen können ein Offset-Argument erhalten, z. B. offset=-1M, um den vergangenen Monat so zu vergleichen, als würde er gerade stattfinden. Timeline kann sogar Reihen mit unterschiedlichen Intervallen in einer Referenz unterbringen und es Ihnen dann ermöglichen, die minütlichen Elasticsearch-Reihen beispielsweise durch die jährlichen Weltbankdaten zu teilen.
Das bedeutet, dass wir diese Quellen selbst im selben Ausdruck nach Belieben zusammenstellen können. So können wir verrückte Fragen stellen, zum Beispiel „Welchen persönlichen Anteil am Bruttoinlandsprodukt der USA hat mein Unternehmen seit Jahresbeginn bis heute?“ Und wenn diese Zahl groß genug ist, könnte man sie auch mit seinem alten Kumpel Rashid teilen, oder? Ich mache nur Spaß. Oder vielleicht auch nicht?
Funk-shun Al
Es gibt 25 verschiedene Funktionen: von einfacher Arithmetik wie Addition und Division bis hin zu gleitenden Durchschnitten, kumulierten Summen und Ableitungen. Unabhängig davon sind die Funktionen und Datenquellen von Timelion vollkommen „zusammenfügbar“ und total einfach zu schreiben. Wir fänden es ganz klasse, wenn Sie das Angebot vervollständigen könnten, also ran an's Hacken!
Holen Sie es sich
Ich werde nicht alles verraten, dahinter steckt mehr als nur dieser Post. Timelion startet bald ein Tutorial, mit dem Sie durch die Konfiguration und einige einfache Anfängerfunktionen geführt werden, aber den Rest müssen Sie allein entdecken.
Die Installation ist einfach: Führen Sie das aus, starten Sie den Kibana-Server neu und laden Sie Ihren Browser neu: ./bin/kibana plugin -i kibana/timelion. Sie können es auch kostenlos auf Found ausprobieren, dem besten gehosteten Elasticsearch im Universum: Found by Elastic.
Benutzen Sie es jetzt. Missbrauchen Sie es.
Sobald Sie es installiert haben, wird ein neues Symbol in Kibana angezeigt, das den App-Switcher öffnet und Ihnen den Wechsel zu anderen Apps ermöglicht.
Wenn Sie uns bei der Elastic{ON}-Tour besucht haben, haben Sie dieses Video schon gesehen. Wenn Sie bei Elastic{ON} nicht dabei waren, haben Sie wohl Ihre Lektion gelernt? Vielleicht sollten Sie zur Elastic{ON}16 kommen?
Auf diesem Blog werden Sie schon bald weitere Tipps und Tricks bekommen. Behalten Sie auch dasTwitter-Konto von Elastic im Auge, wenn Sie auf Augenschmaus stehen. Sie haben eine tolle Idee? Sie haben eine tolle neue Timelion-Funktion geschrieben? Git ist hier.