Neben der Alarmierung ziehe ich es immer vor, ein Dashboard meines Datenflusses zu haben, um einen Überblick über die Gesamtleistung zu erhalten. In den meisten Fällen lande ich bei einem Dashboard mit zu vielen Diagrammen oder sogar mehreren Dashboards.
Mit dem Flowcharting-Plugin für Grafana können Sie Draw.io-Diagramme verwenden und Ihre Metrik darüber legen. Auf diese Weise erhalten Sie eine visuelle Darstellung Ihres Datenflusses, einschließlich der Leistungsmetriken in einer einzigen Übersicht. Die Integration mit Office 365 und Microsoft Teams Apps erweitert die Funktionalität. Außerdem ist es mit Google Drive innerhalb des Google Workplace-Ökosystems kompatibel.
Dieser Blog führt Sie durch den Prozess der Erstellung des folgenden Grafana-Dashboards. Es stellt einen einfachen Datenfluss dar und enthält Diagramme, die aufpoppen, wenn Sie den Mauszeiger über die verschiedenen Objekte bewegen, und ein Warnsymbol anzeigen, wenn bestimmte Schwellenwerte erreicht werden.
Voraussetzungen:
- Docker oder eine Grafana-Instanz
- Draw.io (optional)
Hinweis: Sie können auch die Online-Edition von Draw.io verwenden.
Schritt 1: Vorbereiten Ihres Draw.io-Diagramms
Umbenennung der Identifikatoren
Schritt 2: Grafana einrichten
Für dieses Beispiel habe ich Docker verwendet. Der folgende Befehl startet Grafana, wobei das richtige Plugin (agenty-flowcharting-panel) installiert wird.
docker run -d
-p 3000:3000
--name=grafana
-e "GF_INSTALL_PLUGINS=agenty-flowcharting-panel"
grafana/grafana
Wenn dies erfolgreich war, können Sie zu localhost:3000 navigieren und Grafana sollte angezeigt werden.
Melden Sie sich mit admin / admin an und ändern Sie das Passwort.
Alternativ, mit Ihrem eigenen Grafana
Wenn Sie Grafana bereits laufen haben, können Sie das Plugin mit dem folgenden Befehl installieren. Vergessen Sie nicht, Grafana nach der Installation des Plugins neu zu starten.
grafana-cli plugins install agenty-flowcharting-panel
Schritt 3: Fügen Sie die Datenquelle TestData hinzu.
In diesem Blog verwenden wir die Testdatenquelle in Grafana, um Beispieldaten für unsere Diagramme zu erstellen.
Angenommen, Sie haben die Grafana-Benutzeroberfläche geöffnet, dann führen Sie folgende Schritte aus:
- Klicken Sie auf
Configuration>>Data Sources - Klicken Sie auf
Add data source - Suche nach
TestData - Klicken Sie auf
TestData - Klicken Sie auf
Save & Test
Schritt 4: Erstellen Sie Beispieldiagramme
Lassen Sie uns ein Dashboard mit einem einzigen Panel und 7 Abfragen erstellen.
- Klicken Sie auf
+>>Dashboard - Klicken Sie auf
Add new panel - Unten links sehen Sie eine Registerkarte mit dem Namen
Query (1), die bereits eine definierte Abfrage mit dem NamenA - Ändern Sie den Abfragenamen in
api-incoming-requests, indem Sie auf das Bleistiftsymbol hinter dem FeldA - Stellen Sie
Scenario,AliasundString Inputentsprechend den Werten in der Tabelle wie unten gezeigt ein.
- Klicken Sie nach jeder Abfrage auf das Symbol
Duplicate query, um die nächste Abfrage hinzuzufügen.
| Abfrage | Szenario | Alias | String Eingabe |
|---|---|---|---|
| api-incoming-requests | CSV-Metriken Werte | api-incoming-requests | 62,89,96,57,90,68,91,53,91,77,99,79 |
| warteschlange-message-in | CSV-Metriken Werte | warteschlange-message-in | 81,77,97,57,77,85,99,74,52,48,63,68 |
| warteschlange-message-out | CSV-Metriken Werte | warteschlange-message-out | 51,69,52,80,75,48,72,97,45,46,64,53 |
| app-mallformed | CSV-Metriken Werte | app-mallformed | 1,9,2,0,5,8,2,7,5,6,4,3 |
| datenbank-cpu | CSV-Metriken Werte | datenbank-cpu | 90,48,99,74,77,71,92,49,74,52,49,64 |
| Datenbank-Festplatte | CSV-Metrikwerte | datenbank-disk | 16,16,16,17,17,18,18,18,19,20,20,20 |
| Pipeline-Zeit | CSV-Metriken Werte | pipeline-zeit | 0.3,0.2,0.1,0.8,0.2,0.5,0.1,0.9,0.1,0.1,0.1,0.5 |
Ihr Diagramm sollte wie folgt aussehen
Schritt 5: Ändern Sie das Diagramm in das Draw.io Diagramm
Wir müssen unser Diagramm in XML "exportieren" und es in Grafana "importieren". Mit Draw.io können Sie Prozessdiagramme und UML-Diagramme erstellen, die dann nach Grafana exportiert werden können.
In Draw.io (Export):
- Klicken Sie auf
Extra>>Edit Diagram…. Dadurch wird Ihr Diagramm als XML dargestellt. - Wählen Sie das XML aus und kopieren Sie es in Ihre Zwischenablage
In Grafana (Import):
- Klicken Sie auf der rechten Seite auf die Registerkarte
Panel - Erweitern Sie den Bereich
Visualizations - Klicken Sie auf
FlowCharting
- Erweitern Sie den Bereich
FlowChart, der gerade unter dem BereichVisualizationserschienen ist. - Ersetzen Sie den Inhalt von
Source Contentdurch unser Diagramm, indem Sie das XML einfügen. Machen Sie sich keine Sorgen, wenn Ihr Diagramm nicht korrekt geladen wird! - Aktivieren Sie die folgende(n) Option(en): a. Draw.io-Quelle zulassen - dadurch wird das Diagramm korrekt geladen
Schritt 6: Verknüpfen Sie Grafana-Abfragen mit den Diagrammobjekten
Nun ist es an der Zeit, unsere Abfragen mit den Objekten im Diagramm zu verknüpfen. Das Plugin verwendet dazu rules.
- Erweitern Sie den Bereich
Mappingauf der rechten RegisterkartePanel - Dies zeigt eine Standardregel namens
MyRule - Erweitern Sie die Standardregel
MyRule - Konfigurieren Sie die Regel entsprechend den in der Tabelle API angegebenen Werten. Jede Tabelle ist eine einzelne Regel. Der unten stehende Screenshot zeigt das Ergebnis, nachdem die erste Regel
apikonfiguriert wurde.
Hinweis: Möglicherweise sehen Sie weitere Felder und Optionen, aber das sind die wichtigsten.
- Scrollen Sie ein wenig nach oben und klappen Sie die soeben erstellte Regel aus, um Platz zu schaffen.
- Klicken Sie auf das Symbol
Clone this rule, um die nächste Regel hinzuzufügen.
Nachdem Sie die erste Regel namens api hinzugefügt haben, sollten Sie ein Diagramm sehen, wenn Sie mit der Maus über das API-Objekt fahren.
- Fahren Sie mit den nächsten 4 Regeln(Warteschlange, APP, Datenbank, Pipeline) fort, indem Sie die Schritte 4, 5 und 6 wiederholen.
Schritt 7: Schwellenwerte festlegen und sichtbar machen
Für jede Regel können Sie Schwellenwerte festlegen. Wenn ein bestimmter Schwellenwert erreicht wird, ändert sich der Status dieser Regel von [0: Ok] auf z.B. [1: Warnung] oder [2: Kritisch]. Basierend auf diesem Status können wir das Aussehen der Objekte ändern. Sie können den Text und die Größe des Objekts ändern, ein kleines Warnsymbol einblenden oder es ganz altmodisch blinken lassen.
Um Ihnen eine Vorstellung davon zu geben, wie Sie dies einrichten können, fügen wir einen Schwellenwert für die App hinzu, der uns warnt, wenn die Anzahl der fehlerhaften Nachrichten in der APP über 10 liegt.
- Erweitern Sie die Regel
app - Aktivieren Sie
Icon state. Dadurch wird ein kleines Warnsymbol neben dem App-Objekt angezeigt. - Aktivieren Sie
Invert. Dadurch wird die Schwellenwertlogik invertiert. - Legen Sie die folgenden Schwellenwerte fest:
Farbe Nummer Lvl (Zustand) Grün Basis 0 (Ok) Orange 10 1 (Warnung) Rot 25 3 (Kritisch) - Aktivieren Sie unter Tooltips die Option
Color with state. Dadurch ändert sich die Farbe des Diagramms entsprechend dem Status (Grün, Orange, Rot). Wenn Sie mehrere Diagramme in einem Popup haben, können Sie auf diese Weise für jedes Diagramm den aktuellen Status leicht erkennen.
Schritt 8: Lösen Sie die Regel aus und sehen Sie, was passiert
Lösen Sie die Regel aus, indem Sie der Abfrage app-mallformed einen zusätzlichen Datenpunkt hinzufügen.
- Suchen Sie die Abfrage
app-mallformedauf der RegisterkarteQueryunten links. - Und fügen Sie
,12zu denString input
Im Diagramm wird neben dem App-Objekt ein Warnsymbol angezeigt. Wenn Sie nun mit der Maus über das App-Objekt fahren, sehen Sie, dass das Diagramm zu Orange wechselt. Fügen Sie nun einen weiteren Datenpunkt hinzu (,26), um den nächsten Schwellenwert auszulösen, und überprüfen Sie, ob das Diagramm auf rot wechselt.
Erledigt
Sie sollten nun ein Diagramm mit 5 Objekten (einschließlich Pfeil) haben, wie am Anfang gezeigt. Wenn Sie mit dem Mauszeiger über ein Objekt fahren, werden die verschiedenen Diagramme eingeblendet, ein Warnsymbol wird in der Nähe von APP angezeigt und das APP-Diagramm sollte rot eingefärbt sein.
Extra: Mehr Spaß mit Regeln
Gehen Sie zurück zur Regel app-mallformed und suchen Sie nach den folgenden Optionen:
- Label/Text-Zuordnungen - Link-Zuordnungen - Ereignis/Animation-Zuordnungen
Diese können die Diagrammobjekte für einen bestimmten Zustand manipulieren. Die Verwendung dieser Optionen ähnelt der Einstellung der Schwellenwerte in Schritt 6. Ich werde die Optionen kurz erklären.
Label/Text Mappings Damit können Sie die Textbeschriftung des Objekts im Diagramm ändern, wenn ein bestimmter Schwellenwert erreicht wird. Die folgende Konfiguration fügt den Wert hinzu.
Link Mappings Basierend auf den Schwellenwerten können Sie eine URL für das Objekt im Diagramm festlegen. Damit können Sie z.B. einen Link zu einem detaillierteren Dashboard für die App erstellen.
Zuordnungen von Ereignissen und Animationen
Um Ihr Diagramm noch interessanter zu gestalten bling bling, können Sie Objekten, Textbeschriftungen und Pfeilen Animationen hinzufügen.
Referenzen:
Unsere Ideen
Weitere Blogs
Contact




