Aggregierte Messdaten

Vorbereitung

Wenn die alte Datenaggregation (<=8.1.2) aktiv ist, muss der PostgreSQL-Synchronisierungsjob deaktiviert werden.

psql -U infosim -d infosim -c "SELECT delete_job((SELECT max(job_id) FROM timescaledb_information.jobs where proc_schema = 'stablenet' AND proc_name = 'update_measurement_data_aggregated'));"

Darüber hinaus wird empfohlen, die alten Aggregat-Tabellen zu entfernen und die Datenabfragen so umzugestalten, dass sie die durch die neue Datensynchronisierung erstellten Tabellen verwenden.

Stellen Sie sicher, dass die Einstellungen unter „/etc/stablenet-fdw/stablenet-fdw.conf“ korrekt sind.

Erste Synchronisierung

Die folgenden Befehle werden verwendet, um Messdaten aus StableNet/Oracle/MySQL zu synchronisieren.

Die Befehle sollten beim ersten Mal manuell in sequenzieller Reihenfolge ausgeführt werden, um sicherzustellen, dass alles ordnungsgemäß funktioniert.

Bei der ersten Ausführung der Befehle werden nur die Daten des aktuellen Tages synchronisiert. Historische Daten können später, nach Einrichtung der automatischen Synchronisierung, synchronisiert werden.

Das Argument „server_id“ ist nur erforderlich, wenn es konfiguriert ist. Diese Befehle müssen für jede „server_id“ separat ausgeführt werden.

Messungssynchronisierung

sudo -u eranger /opt/stablenet-fdw/measurement-data-sync/measurement-sync.sh [server_id>]

Dieser Befehl synchronisiert die Messungen aus der StableNet-API basierend auf den konfigurierten Tag-Filtern. Dies wird später in der inkrementellen Synchronisierung verwendet, um nur Daten für erforderliche Messungen zu synchronisieren.

Inkrementelle Synchronisierung

sudo -u eranger /opt/stablenet-fdw/measurement-data-sync/incremental-sync.sh [server_id>]

Dieser Befehl synchronisiert Rohmessdaten von Oracle/MySQL mit PostgreSQL. Bei jedem Durchlauf werden nur neue Daten synchronisiert. Die Daten werden in „sn_ping_data“, „sn_snmp_data“ und „sn_usrscript_data“ gespeichert. Zusätzlich werden diese Rohdaten in der Tabelle „stablenet_measurement_data_minutely“ aggregiert, die „value_avg“, „value_min“ und „value_max“ enthält.

Aggregierte Synchronisierung

Dieser Schritt ist optional und nur erforderlich, wenn Sie die 5- und 15-Minuten-Buckets benötigen. Wenn nicht, fahren Sie stattdessen mit der stündlichen Synchronisierung fort.

sudo -u eranger /opt/stablenet-fdw/measurement-data-sync/aggregate-sync.sh [server_id>]

Aggregiert Rohdaten aus der inkrementellen Synchronisierung in 5-Minuten- und 15-Minuten-Buckets. Die Daten werden in „stablenet_measurement_data_5_minutely“ und „stablenet_measurement_data_15_minutely“ gespeichert. Die resultierenden Tabellen enthalten die Spalten „value_avg“, „value_min“ und „value_max“ für die aggregierten Zeilen.

Aggregierte stündliche Synchronisierung

sudo -u eranger /opt/stablenet-fdw/measurement-data-sync/aggregate-hourly-sync.sh [server_id>]

Aggregiert Daten aus der Tabelle „stablenet_measurement_data_minutely“ in „stablenet_measurement_data_hourly“. Diese Tabelle enthält zwar „value_min“ und „value_max“, jedoch nicht „value_avg“. Stattdessen enthält sie Zeitskalierte-Datenbank-Statistiksäulen (stats_agg statssummary2d, percentile_agg uddsketch, state_agg stateagg). Diese Säulen können später verwendet werden, um viele statistische Informationen über die aggregierten Daten zu erhalten.

Messungen, für die „state_agg“-Daten abgerufen werden sollen, müssen in „/etc/stablenet-fdw/stablenet-fdw.conf“ unter Verwendung der Option „snmp_state_agg_measurements“ konfiguriert werden. Messungen werden durch den Namen der Vorlage und den Metrikschlüssel definiert. Beispiel

snmp_state_agg_measurements = Interface Relative IPMPLS 64Bit#1008

Mehrere Mess-/Metrikschlüsselpaare können durch ein Komma getrennt werden.

Aktivieren Sie „state_agg“ nur für Messungen/Metriken mit geringer Kardinalität, d. h. nur sehr wenigen unterschiedlichen Werten (z. B. Enums).

Statistik-Synchronisierung

sudo -u eranger /opt/stablenet-fdw/measurement-data-sync/stats-sync.sh [server_id>]

Führt eine Zusammenfassung der statistischen Daten aus „stablenet_measurement_data_hourly“ in „stablenet_measurement_data_daily“, „stablenet_measurement_data_weekly“, „stablenet_measurement_data_monthly“, „stablenet_measurement_data_quartely“ und „stablenet_measurement_data_yearly“ durch.

Automatische Synchronisierung

Nachdem wir die Synchronisierungsbefehle manuell ausgeführt haben, möchten wir einige Jobs in SKOOR Engine einrichten, um die Synchronisierung automatisch durchzuführen.

  1. Erstellen Sie eine Gruppe namens „StableNet Data Sync” im Stammverzeichnis.

    image-20250627-061619.png
  2. Erstellen Sie ein Gerät namens „localhost” unterhalb der Gruppe „StableNet Data Sync”.

    image-20250627-061655.png
  3. Erstellen Sie 5 Ausführungsjobs unter „localhost“.

    1. StableNet Measurement Sync [server_id]
      Intervall:1 hour, fix, if longer immediately
      Programm-Pfad: /opt/stablenet-fdw/measurement-data-sync/measurement-sync.sh [server_id] Ausgabe in
      Datei speichern: stablenet-measurement-sync.log

    2. StableNet Incremental Sync [server_id]
      Intervall:1 minute, fix, if longer immediately
      Programm-Pfad: /opt/stablenet-fdw/measurement-data-sync/incremental-sync.sh [server_id] Ausgabe in
      Datei speichern: stablenet-incremental-sync.log

    3. StableNet Aggregate Sync (OPTIONAL, nur hinzufügen, wenn Sie 5- und 15-Minuten-Buckets benötigen)
      Intervall:1 minute, fix, if longer immediately
      Programm-Pfad: /opt/stablenet-fdw/measurement-data-sync/aggregate-sync.sh [server_id] Ausgabe in
      Datei speichern: stablenet-aggregate-sync[-server_id].log

    4. StableNet Aggregate Hourly Sync
      Intervall:10 minutes, fix, if longer immediately
      Programm-Pfad: /opt/stablenet-fdw/measurement-data-sync/aggregate-hourly-sync.sh [server_id] Ausgabe in
      Datei speichern: stablenet-aggregate-hourly-sync[-server_id].log

    5. StableNet Stats Sync
      Intervall:1 hour, fix, if longer immediately
      Programm-Pfad: /opt/stablenet-fdw/measurement-data-sync/stats-sync.sh [server_id] Ausgabe in
      Datei speichern: stablenet-stats-sync[-server_id].log

Verlaufssynchronisierung

Führen Sie diesen Befehl NACH der ersten Synchronisierung und NACH der Einrichtung der automatischen Synchronisierung aus.

sudo -u eranger /opt/stablenet-fdw/measurement-data-sync/history-sync.sh [server_id>]

Dieser Befehl synchronisiert historische Daten basierend auf den Konfigurationen [history_sync] days , start_date und end_date. Normalerweise möchten Sie für eine erste Synchronisierung des Verlaufs möglicherweise nur days festlegen oder die Einstellungen unverändert lassen und einfach ein Jahr zurück synchronisieren.

Es kann auch sinnvoll sein, nohup zu verwenden, um den Befehl auszuführen, da dies einige Zeit in Anspruch nehmen kann.