Einführung in die ENLYZE API Data Source für Grafana.
Lernziele
Verstehen, wann und warum die ENLYZE API Data Source zum Einsatz kommt
Erste API-Anfrage an die ENLYZE Platform API stellen
JSON-Antworten mit JSONPath parsen
API-Daten in Grafana-Panels anzeigen
Voraussetzungen
Teil 1-3 der Tutorials abgeschlossen (Grafana-Grundkenntnisse)
Zugang zu Grafana mit beiden konfigurierten ENLYZE Data Sources
Überblick
Bisher hast du die ENLYZE Data Source verwendet, um Dashboards zu erstellen. Sie ist einfach und für die meisten Anwendungsfälle ausreichend. Für fortgeschrittene Szenarien brauchst du jedoch die ENLYZE API Data Source (basierend auf dem Infinity Plugin).
ENLYZE Data Source vs. ENLYZE API Data Source
Merkmal
ENLYZE
ENLYZE API
Bedienbarkeit
Point-and-Click
Query-Konfiguration
Zeitreihendaten
Sehr gut
Möglich (mehr Konfiguration nötig)
API-Abfragen
Nicht unterstützt
Volle Kontrolle
Variablen/Dropdowns
Eingeschränkt
Volle Unterstützung
Alerting
Nicht unterstützt
Voraussetzung für Alerts
Benutzerdefinierte Transformationen
Einfach
Fortgeschritten (JSONPath/JSONata)
Lernkurve
Niedrig
Mittel
Wann die ENLYZE API Data Source verwenden
Verwende die ENLYZE API Data Source, wenn du Folgendes brauchst:
Dashboard-Variablen - Dynamische Dropdowns für Standort-, Maschinen- und Produktauswahl
Alerting - Grafana-Alerts funktionieren ausschließlich mit der ENLYZE API Data Source
OEE-/Produktivitätskennzahlen - Der Productivity-Metrics-API-Endpunkt
Aufträge und Stillstände - Historische Produktionsdaten
Individuelle Datenkombinationen - Daten aus mehreren Endpunkten zusammenführen
Die ENLYZE Platform API verstehen
Die ENLYZE API Data Source verbindet sich direkt mit der ENLYZE Platform API. So funktioniert sie.
Base URL
Alle API-Anfragen gehen an:
Diese URL ist in deiner Grafana-Instanz bereits vorkonfiguriert.
Authentifizierung
Deine Grafana-Instanz hat die API-Authentifizierung bereits vorkonfiguriert. Du musst keine Tokens oder Zugangsdaten hinzufügen.
Antwortformat
Alle ENLYZE API-Endpunkte liefern paginierte JSON-Antworten:
Wichtige Punkte:
data - Array mit den eigentlichen Ergebnissen
next_cursor - Paginierungs-Token (null, wenn keine weiteren Seiten vorhanden)
Erste ENLYZE API Query
Erstelle ein Panel, das alle Maschinen über die API auflistet.
Schritt 1: Neues Panel erstellen
Erstelle ein neues Dashboard oder öffne ein vorhandenes
Klicke auf Add > Visualization
Wähle Table als Visualisierungstyp
Schritt 2: ENLYZE API Data Source auswählen
Klicke im Query-Editor auf das Data-Source-Dropdown
Wähle ENLYZE API (nicht ENLYZE)
[SCREENSHOT: Data source dropdown showing ENLYZE API selection]
Schritt 3: Query konfigurieren
Konfiguriere folgende Einstellungen:
Einstellung
Wert
Type
JSON
Parser
Backend
Source
URL
Format
Table
Method
GET
URL
machines
[SCREENSHOT: ENLYZE API query configuration for machines endpoint]
Hinweis: Du musst nur machines eingeben, nicht die vollständige URL. Die Base URL ist bereits konfiguriert.
Schritt 4: Root Selector hinzufügen
Die API liefert Daten innerhalb eines data-Arrays. Um diese zu extrahieren:
Suche das Feld Root selector
Gib ein: $.data
Dieser JSONPath-Ausdruck weist Grafana an, das data-Array als Quelle zu verwenden.
[SCREENSHOT: Root selector configuration]
Schritt 5: Ergebnisse anzeigen
Klicke auf Refresh oder warte, bis das Panel aktualisiert wird. Du solltest eine Tabelle sehen mit:
uuid
name
site
genesis_date
141e...
Kiefel
a5ea...
2020-08-26
cc0d...
Macchi
a5ea...
2021-03-15
...
...
...
...
[SCREENSHOT: Table showing machines list]
JSONPath-Grundlagen
Mit JSONPath navigierst du durch JSON-Daten. Hier die wichtigsten Ausdrücke:
Häufige Selektoren
JSONPath
Beschreibung
Beispielergebnis
$
Root-Element
Gesamte Antwort
$.data
Eigenschaft "data"
Das data-Array
$.data[0]
Erstes Element im Array
Erste Maschine
$.data[*].name
Alle name-Werte
["Kiefel", "Macchi", ...]
Warum $.data?
Die ENLYZE API verpackt Ergebnisse für die Paginierung in einem data-Array. Ohne Root Selector würde Grafana versuchen, die gesamte Antwort einschließlich next_cursor darzustellen.
Ohne Root Selector:
Mit $.data Root Selector:
Standorte abfragen
Füge ein weiteres Panel hinzu, um alle Standorte aufzulisten.
Query-Konfiguration
Einstellung
Wert
Type
JSON
Parser
Backend
Source
URL
Format
Table
Method
GET
URL
sites
Root selector
$.data
Erwartetes Ergebnis
uuid
name
a5ea...
Koln
241a...
Stuttgart
Variablen einer Maschine abfragen
Du kannst API-Ergebnisse mit Query-Parametern filtern.
POST-Anfragen und dynamische Zeiträume werden in Tutorial 4.2 behandelt.
Praktische Übung
Erstelle ein Dashboard mit drei Panels:
Maschinentabelle - Alle Maschinen mit Name und Standort-UUID auflisten
Standorttabelle - Alle Standorte mit Name auflisten
Variablentabelle - Variablen der Kiefel-Maschine auflisten
Nutze das Gelernte:
ENLYZE API Data Source
JSON-Typ, Backend-Parser
Root Selector $.data
Table-Visualisierung
Häufige Fehler
"No data" oder leere Ergebnisse
Problem: Panel zeigt "No data"
Lösungen:
URL prüfen (nur machines, nicht die vollständige URL)
Root Selector $.data überprüfen
Sicherstellen, dass der Parser auf "Backend" steht
Rohes JSON statt Tabelle
Problem: Panel zeigt rohen JSON-Text
Lösungen:
Format auf "Table" setzen (nicht "Data frame")
Root Selector $.data hinzufügen
Sicherstellen, dass Type auf "JSON" steht
Authentifizierungsfehler
Problem: 401- oder 403-Fehler
Lösung: Wende dich an deinen ENLYZE-Administrator. Möglicherweise muss das API-Token erneuert werden.
Tipps und Best Practices
Backend-Parser verwenden
Setze den Parser für ENLYZE API Queries immer auf Backend. Dadurch werden die Daten auf dem Grafana-Server verarbeitet, was zuverlässiger und sicherer ist.
Einfach anfangen
Beim Erstellen komplexer Queries:
Zuerst die einfache Query mit $.data zum Laufen bringen
Dann Spaltenauswahl hinzufügen
Zuletzt Transformationen ergänzen
URLs im Browser testen
Du kannst API-URLs direkt testen (sofern du ein API-Token hast):
Das hilft beim Debuggen, bevor du Grafana konfigurierst.
Zusammenfassung
Du hast die Grundlagen der ENLYZE API Data Source kennengelernt:
Wann die ENLYZE API Data Source statt der ENLYZE Data Source verwenden
GET-Anfragen an API-Endpunkte senden
JSONPath-Root-Selektoren ($.data) verwenden
API-Ergebnisse in Tabellen darstellen
Nächste Schritte
Weiter mit:
ENLYZE API abfragen - POST-Anfragen, Produktivitätskennzahlen, fortgeschrittene Queries