Kibana Benutzerhandbuch. Visualisierung. Teil 6

Ein Fünftel der Übersetzung der offiziellen Dokumentation zur Datenvisualisierung in Kibana.

Link zum Originalmaterial: Kibana User Guide [6.6] »Visualisieren

Link zu Teil 1: Kibana Benutzerhandbuch. Visualisierung. Teil 1
Link zu Teil 2: Kibana Benutzerhandbuch. Visualisierung. Teil 2
Link zu Teil 3: Kibana Benutzerhandbuch. Visualisierung. Teil 3
Link zu Teil 4: Kibana Benutzerhandbuch. Visualisierung. Teil 4
Link zu Teil 5: Kibana Benutzerhandbuch. Visualisierung. Teil 5

Inhalt:

1. Vega-Diagramme

2. Überprüfen von Visualisierungen

Zählt Vega


Warnung Diese Funktion ist experimentell und kann in einer zukünftigen Version geändert oder entfernt werden. Elastic wird sein Bestes tun, um Probleme zu beheben, aber experimentelle Funktionen werden von den offiziellen GA-Funktionen der SLA nicht unterstützt.
Sie können Visualisierungen von Vega- und VegaLite-Daten in Kibana sowohl offline als auch über der Karte erstellen . Sehen Sie sich dieses kurze Übersichtsvideo an , um Vega in Aktion zu sehen.

Beginnen Sie mit Vega


Befolgen Sie diese Schritte, um Ihre erste Vega-Visualisierung zu erstellen.

  1. Wählen Sie in Kibana Visualisieren und fügen Sie eine Vega-Visualisierung hinzu. Sie sollten das Standarddiagramm sehen.
  2. Versuchen Sie, die mark von line zu point , area , bar , circle , square usw. zu ändern (siehe Dokumentation ).
  3. Probieren Sie den Rest der Vega- oder VegaLite-Visualisierungen aus. Möglicherweise müssen Sie die URLs absolut machen, z. B. "url": "data/world-110m.json" durch "url": "https://vega.imtqy.com/editor/data/world-110m.json" ersetzen "url": "https://vega.imtqy.com/editor/data/world-110m.json" (siehe Hinweis unten).
  4. Erstellen Sie mit dem Dienstprogramm makelogs einige Logstash-Daten und probieren Sie die Logstash-Beispiele aus ( Verwenden Sie keine Makelogs in einem Produktionscluster).

Vega gegen VegaLite


VegaLite ist eine vereinfachte Version von Vega, die für einen schnellen Start nützlich ist, jedoch eine Reihe von Einschränkungen aufweist. VegaLite wird vor der Ausführung automatisch in Vega konvertiert. Vergleichen Sie logstash-simple_line-vega und logstash-simple_line-vegalite (beide verwenden einige Logstash-Daten von Elasticsearch). Mit diesem Editor können Sie VegaLite in Vega konvertieren.

Elasticsearch-Abfragen


Standardmäßig kann ein Vega- Datenelement interne und externe Daten mit dem Parameter "url" . Kibana bietet Unterstützung für direkte Elasticsearch-Abfragen, indem der "url" Wert neu "url" wird.
Hier ist ein Beispiel für eine Elasticsearch-Abfrage, bei der die Anzahl der Dokumente in allen Indizes gezählt wird. Die Abfrage verwendet das Feld @timestamp , um den @timestamp zu filtern und in Histogrammsegmente aufzuteilen.

 // An object instead of a string for the url value // is treated as a context-aware Elasticsearch query. url: { // Filter the time picker (upper right corner) with this field %timefield%: @timestamp // Apply dashboard context filters when set %context%: true // Which indexes to search index: _all // The body element may contain "aggs" and "query" subfields body: { aggs: { time_buckets: { date_histogram: { // Use date histogram aggregation on @timestamp field field: @timestamp // interval value will depend on the daterange picker // Use an integer to set approximate bucket count interval: { %autointerval%: true } // Make sure we get an entire range, even if it has no data extended_bounds: { min: { %timefilter%: "min" } max: { %timefilter%: "max" } } // Use this for linear (eg line, area) graphs // Without it, empty buckets will not show up min_doc_count: 0 } } } // Speed up the response by only including aggregation results size: 0 } } 

Das vollständige Ergebnis hat den folgenden Strukturtyp:

 { "aggregations": { "time_buckets": { "buckets": [{ "key_as_string": "2015-11-30T22:00:00.000Z", "key": 1448920800000, "doc_count": 28 }, { "key_as_string": "2015-11-30T23:00:00.000Z", "key": 1448924400000, "doc_count": 330 }, ... 

Beachten Sie, dass "key" ein Unix-Zeitstempel ist und ohne Konvertierung durch Vega-Datumsausdrücke verwendet werden kann.

Für die meisten Diagramme benötigen wir nur eine Liste von Segmentwerten. Daher verwenden wir das Ausdrucksformat format: {property: "aggregations.time_buckets.buckets"} , um uns nur auf die Daten zu konzentrieren, die wir benötigen.

Die Anforderung kann mit einem individuellen Bereich und einem Kontextinformationsfeld angegeben werden. Diese Abfrage entspricht "%context%": true, "%timefield%": "@timestamp" , außer dass der Zeitbereich vor 10 Minuten verschoben wurde.

 { body: { query: { bool: { must: [ // This string will be replaced // with the auto-generated "MUST" clause "%dashboard_context-must_clause%" { range: { // apply timefilter (upper right corner) // to the @timestamp variable @timestamp: { // "%timefilter%" will be replaced with // the current values of the time filter // (from the upper right corner) "%timefilter%": true // Only work with %timefilter% // Shift current timefilter by 10 units back shift: 10 // week, day (default), hour, minute, second unit: minute } } } ] must_not: [ // This string will be replaced with // the auto-generated "MUST-NOT" clause "%dashboard_context-must_not_clause%" ] } } } } 

"%timefilter%" kann auch verwendet werden, um einen einzelnen Minimal- oder Maximalwert zu bestimmen. Wie oben gezeigt, können extended_bounds in Date_Histogram mit zwei Werten festgelegt werden - Minimum und Maximum. Anstatt den Wert fest zu codieren, können Sie "min": {"%timefilter%": "min"} , das zu Beginn des aktuellen Zeitbereichs überschrieben wird. shift und unit Werte werden ebenfalls unterstützt. Das "Intervall" kann abhängig vom aktuell ausgewählten Bereich dynamisch eingestellt werden: "interval": {"%autointerval%": 10} versucht, ungefähr 10-15 Datenpunkte (Segmente) zu erhalten.

Elastische Kartendateien


Dies ist die Möglichkeit, nach einem bestimmten Mechanismus auf Elastic Map Service-Dateien zuzugreifen.

 url: { // "type" defaults to "elasticsearch" otherwise type: emsfile // Name of the file, exactly as in the Region map visualization name: World Countries } // The result is a geojson file, get its features to use // this data source with the "shape" marks // https://vega.imtqy.com/vega/docs/marks/shape/ format: {property: "features"} 

Vega mit Karte


Die Kibana-Karte kann standardmäßig als Basis für das Vega-Diagramm verwendet werden. Zum Aktivieren muss das Diagramm in der Hostkonfiguration type=map definieren.

 { "config": { "kibana": { "type": "map", // Initial map position "latitude": 40.7, // default 0 "longitude": -74, // default 0 "zoom": 7, // default 2 // defaults to "default". Use false to disable base layer. "mapStyle": false, // default 0 "minZoom": 5, // defaults to the maximum for the given style, // or 25 when base is disabled "maxZoom": 13, // defaults to true, shows +/- buttons to zoom in/out "zoomControl": false, // defaults to true, disables mouse wheel zoom "scrollWheelZoom": false, // When false, repaints on each move frame. // Makes the graph slower when moving the map "delayRepaint": true, // default true } }, /* the rest of Vega JSON */ } 

Diese Visualisierung bettet automatisch eine Projektion namens "projection" . Verwenden Sie diese Option, um die Position aller geoorientierten Tags zu berechnen. Zusätzlich können Sie Längen- und Breitengrad sowie Skalierung verwenden. Diese Signale können im Diagramm verwendet oder aktualisiert werden, um die Position der Karte zu ändern.

Debuggen


Browser-Debug-Konsole


Verwenden Sie die Browser-Tools zum Debuggen (z. B. F12 oder Strg + Umschalt + J in Chrome), um die Variable VEGA_DEBUG zu überprüfen: * view - Zugriff auf View the Vega object. Informationen zum Überprüfen von Daten und Signalen zur Laufzeit finden Sie im Vega-Debugging-Handbuch . Für VegaLite erhält VEGA_DEBUG.view.data('source_0') den Hauptdatensatz. Für Vega wird ein Datenname verwendet, der speziell in Ihrer Vega-Spezifikation enthalten ist. * vega_spec Spezifikation des Vega JSON-Diagramms nach einigen Änderungen von Kibana. Im Fall von VegaLite ist dies die Ausgabe des VegaLite-Compilers. * vegalite_spec - Wenn es sich um ein VegaLite-Diagramm handelt, die JSON-Spezifikation des Diagramms vor dem Kompilieren von VegaLite

Daten


Wenn Sie eine Elasticsearch-Abfrage verwenden, stellen Sie sicher, dass die empfangenen Daten Ihren Erwartungen entsprechen. Der einfachste Weg, dies zu sehen, ist die Verwendung der Registerkarte "Netzwerk" in den Debugging-Tools Ihres Browsers (z. B. F12). Ändern Sie das Diagramm ein wenig, sodass eine Suchabfrage durchgeführt und die Serverantwort angezeigt wird. Ein anderer Ansatz besteht darin, die Registerkarte Kibana Dev Tools zu verwenden. Platzieren Sie den GET <INDEX_NAME>/_search in der ersten Zeile: GET <INDEX_NAME>/_search , und fügen Sie Ihre Abfrage in der nächsten Zeile hinzu (nur der Wert des Felds "query" ).
Wenn Sie das Diagramm für jemanden freigeben müssen , können Sie die Antwort der Datenzeichenfolge auf gist.github.com kopieren , möglicherweise mit der Erweiterung .json , die Schaltfläche [raw] verwenden und diese URL direkt in Ihrem Diagramm verwenden.
Fügen Sie der Datei kibana.yml vega.enableExternalUrls: false hinzu, um zu verhindern, dass Vega Datenquellen verwendet, die nicht von ES stammen.

Nützliche Links



Verwenden von Vega- und VegaLite-Beispielen


Wenn Sie die Beispiele Vega und VegaLite verwenden , müssen Sie den Abschnitt "Daten" ändern, um eine absolute URL zu verwenden. Ersetzen Sie beispielsweise "url": "data/world-110m.json" durch "url": "https://vega.imtqy.com/editor/data/world-110m.json" . Außerdem verwenden sie in regulären Vega-Beispielen das "autosize": "pad" die "autosize": "pad" , und Kibana verwendet fit . Entfernen Sie alle Werte für autosize , width und height . Siehe unten Abmessungen und Positionierung.

Zusätzliche Konfigurationsoptionen


Diese Optionen sind spezifisch für Kibana. Die Kartenunterstützung bietet zusätzliche Konfigurationsoptionen.

 { config: { kibana: { // Placement of the Vega-defined signal bindings. // Can be `left`, `right`, `top`, or `bottom` (default). controlsLocation: top // Can be `vertical` or `horizontal` (default). controlsDirection: vertical // If true, hides most of Vega and VegaLite warnings hideWarnings: true // Vega renderer to use: `svg` or `canvas` (default) renderer: canvas } } /* the rest of Vega code */ } 

Größe und Position


Vega und VegaLite.

Standardmäßig verwenden Vega-Diagramme in Kibana das autosize = { type: 'fit', contains: 'padding' } für Vega- und VegaLite-Diagramme. Das fit verwendet den gesamten verfügbaren Speicherplatz, ignoriert die Werte für width und height , berücksichtigt jedoch die Einrückungswerte. Sie können dieses Verhalten überschreiben, indem Sie einen anderen Wert für die autosize Größe autosize .

Vega auf der Karte.

Alle Vega-Diagramme ignorieren die autosize , width , height und padding Verwendung des Null-Einrückungs- fit .

Visualisierungsinspektion


Mit vielen Visualisierungen können Sie die der Visualisierung zugrunde liegenden Daten überprüfen.
Um die Visualisierung zu überprüfen, klicken Sie im Editor auf die Schaltfläche Überprüfen, oder wählen Sie im Menü des Dashboard-Bedienfelds die Option Überprüfen aus.

Der Einstiegsbildschirm zeigt die Basisdaten zur Visualisierung. Sie können Daten als CSV-Datei ( Comma Separated Value) im Format Format oder Raw laden. Formatiert lädt Daten im Tabellenformat. Raw lädt die Daten wie dargestellt - Daten als Zeitstempel, Zahlen ohne tausendste Trennzeichen usw.

Um Anforderungen anzuzeigen, die Daten erfassen, wählen Sie oben rechts im Menü Ansicht die Option Anforderungen .

Welche Ansichten verfügbar sind, hängt von der überprüften Visualisierung ab.

Source: https://habr.com/ru/post/de442278/


All Articles