StableNet-Abfragen
Dieser Abschnitt gilt nur für Systeme, die mit StableNet® integriert sind
StableNet®-Daten können sowohl aus einem aggregierten Datensatz in einer lokalen SKOOR-Datenbank als auch in Echtzeit über die StableNet®-API abgefragt werden. Die folgenden Richtlinien helfen dabei, diese beiden Methoden zu kombinieren und zu optimieren.
Vorbereiten einer materialisierten Datenabfrage für Geräte und Messungen
Die folgende Beispielabfrage liefert grundlegende Daten zur Verwendung mit einem FilterMatrix-Widget (z. B. Filter für Geräte oder Messungen) sowie zum Zusammenführen von Messdaten aus der StableNet®-API oder der aggregierten Datentabelle. Die Datenquelle muss auf einen Typ vom Typ StableNet eingestellt sein.
-- Data query example "device_measurement" SELECT std.id AS device_id, std.display_name AS device_name, sm.id as measurement_id, sm.name as measurement_name FROM stablenet_taggable_device std JOIN stablenet_measurement sm ON std.id = sm.dest_device_id
Da sich Geräte- und Messdaten nicht sehr oft ändern, sollte diese Abfrage materialisiert werden. Die Leistung wird dadurch erheblich gesteigert.
Stellen Sie das Aktualisierungsintervall auf täglich ein und erstellen Sie Indizes für alle Attribute:
Verbinden Sie eine Fremdtabelle für Echtzeitdaten
Zusätzlich zur vorbereiteten materialisierten Datenabfrage können Daten aus der StableNet®-API mithilfe einer Fremdtabelle verknüpft werden.
Das Schlüsselwort FROM im folgenden Beispiel verweist auf die oben vorbereitete materialisierte Abfrage.
SELECT dm.device_id, dm.device_name, dm.measurement_name, dm.measurement_id, sma.metric_key, sma.metric_name, sma.interval, sma.min, sma.max, sma.avg, sma.timestamp FROM device_measurement dm JOIN stablenet_measurement_data sma ON dm.measurement_id = sma.measurement_id WHERE sma.start = ${begin}::timestamptz AND sma."end" = ${end}::timestamptz AND sma.bucket_size = EXTRACT( EPOCH FROM ('1 ' || ${bucket_size})::interval )::integer AND sma.metric_name = ${metric_name}
Im Dashboard bzw. der Datenvorschau müssen für diese Beispielabfrage folgende Attribute gesetzt werden:
begin/end: ISO 8601-Zeitstempel, z. B. 2024-05-01T00:00:00Z
bucket_size: Zeitrahmen in Wörtern wie Stunde , Tag , Monat usw.
metric_name: Ein gültiger StableNet®-Metrikname wie Round Trip Time
Aggregierte Datentabelle verknüpfen
Wenn die Leistung wichtiger ist als Echtzeitdaten, sollte die aggregierte Datentabelle den Fremdtabellen vorgezogen werden.
Das Schlüsselwort FROM im folgenden Beispiel verweist auf die oben vorbereitete materialisierte Abfrage.
SELECT dm.device_id, dm.device_name, dm.measurement_name, dm.measurement_id, sma.metric_key, sma.metric_name, sma.interval, sma.min, sma.max, sma.avg, sma.timestamp FROM device_measurement dm JOIN stablenet_measurement_data_aggregated sma ON dm.measurement_id = sma.measurement_id WHERE sma.timestamp BETWEEN ${begin}::timestamptz AND ${end}::timestamptz AND sma.metric_name = ${metric_name}
Im Dashboard bzw. der Datenvorschau müssen für diese Beispielabfrage folgende Attribute gesetzt werden:
begin/end: ISO 8601-Zeitstempel, z. B. 2024-05-01T00:00:00Z
metric_name: Ein gültiger StableNet®-Metrikname wie Round Trip Time
Ausländische Tabellen
Name | Felder | Qualifikation |
---|---|---|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
Obwohl measurement_id
und metric_key
optional sind, wird nicht empfohlen, Abfragen ohne auszuführen. Dadurch werden Messdaten aller Messungen und aller Metriken gelesen, was lange dauern kann und den StableNet- Server stark belastet. Nur für sehr kurze Zeiträume < 1 Stunde zu empfehlen. Wenn mehrere Messungen und Metriken benötigt werden, sollte die Tabelle stablenet_measurement_data_aggregated
verwendet werden.
Aggregierte Messdaten
Stündlich aggregiert, stündlich automatisch aktualisiert. Kann verwendet werden, um Analyseabfragen für einen großen Messbereich und große Zeiträume durchzuführen.
Ist im Grunde eine Timescale-Hypertabelle ( https://docs.timescale.com/ ). Die Blockgröße beträgt 7 Tage, die Blöcke werden nach 7 Tagen komprimiert.
Name | Felder |
---|---|
| |
stablenet_measurement_data_aggregated
enthält nur Daten für konfigurierte Metrikschlüssel.