Aggregierte Messdaten

Vorbereitung

Wenn die alte Datenaggregation (<=8.1.2) aktiv ist, muss der PostgreSQL-Synchronisierungsauftrag 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 ist es ratsam, die alten Aggregat-Tabellen zu entfernen und die Datenabfragen so umzugestalten, dass sie die von der neuen Datensynchronisierung erstellten verwenden.

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

Anfängliche Synchronisierung

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

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

Wenn Sie die Befehle zum ersten Mal ausführen, 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 wird nur benötigt, wenn es konfiguriert ist. Diese Befehle müssen für jeden server_id einzeln ausgeführt werden.

Synchronisierung der Messungen

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

Dieser Befehl synchronisiert die Messungen von der StableNet-API basierend auf den konfigurierten Tag-Filtern. Dies wird später bei 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>]

Mit diesem Befehl werden Rohmessdaten von Oracle/MySQL mit PostgreSQL synchronisiert. Bei jedem Durchlauf werden nur neue Daten synchronisiert. Die Daten werden in sn_ping_data, sn_snmp_data und sn_usrscript_data gespeichert.

Aggregate Sync

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

Aggregiert Rohdaten aus der inkrementellen Synchronisierung in minütliche, 5-minütliche und 15-minütliche Buckets. Die Daten werden in stablenet_measurement_data_minutely, 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 Synchronisation

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 keine Durchschnitts-, Minimal- und Maximalwerte, sondern stattdessen zeitlich skalierte Statistikspalten (stats_agg statssummary2d, stats_agg_max statssummary2d, percentile_agg uddsketch, percentile_agg_max uddsketch). Diese Spalten können später verwendet werden, um viele statistische Informationen über die aggregierten Daten zu erhalten.

Statistik-Synchronisation

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

Führt ein Rollup der statistischen Daten von 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, wollen wir einige Jobs in der 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 Execute-Jobs unter localhost

    1. StableNet Measurement Sync [server_id]
      Intervall: 1 hour, fix, if longer immediately
      Programmpfad: /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
      Programmpfad: /opt/stablenet-fdw/measurement-data-sync/incremental-sync.sh [server_id]
      Ausgabe in einer Datei speichern: stablenet-incremental-sync.log

    3. StableNet Aggregate Sync
      Intervall: 5 minutes, fix, if longer immediately
      Programmpfad: /opt/stablenet-fdw/measurement-data-sync/aggregate-sync.sh [server_id]
      Ausgabe in einer Datei speichern: stablenet-aggregate-sync[-server_id].log

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

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

Historie Sync

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 auf der Grundlage der Konfiguration history_days.