Dati di misurazione aggregati

Preparazione

Se è attiva la vecchia aggregazione dei dati (<=8.1.2), è necessario disabilitare il lavoro di sincronizzazione di PostgreSQL.

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'));"

Inoltre, si consiglia di rimuovere le vecchie tabelle aggregate e di rifattorizzare le query di dati per utilizzare quelle create dalla nuova sincronizzazione dei dati.

Assicurarsi che le impostazioni di /etc/stablenet-fdw/stablenet-fdw.conf siano corrette.

Sincronizzazione iniziale

I seguenti comandi sono utilizzati per sincronizzare i dati di misura da StableNet/Oracle/MySQL.

I comandi devono essere eseguiti manualmente la prima volta in ordine sequenziale per assicurarsi che tutto funzioni correttamente.

Quando si eseguono i comandi per la prima volta, vengono sincronizzati solo i dati del giorno corrente. I dati storici possono essere sincronizzati in seguito, dopo aver impostato la sincronizzazione automatica.

L'argomento server_id è necessario solo se configurato. Questo comando deve essere eseguito separatamente per ogni server_id.

Sincronizzazione delle misure

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

Questo comando sincronizza le misure dall'API StableNet in base ai filtri tag configurati. Viene poi utilizzato nella sincronizzazione incrementale per sincronizzare solo i dati delle misure richieste.

Sincronizzazione incrementale

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

Questo comando sincronizza i dati di misura grezzi da Oracle/MySQL a PostgreSQL. Ad ogni esecuzione, vengono sincronizzati solo i nuovi dati. I dati sono memorizzati in sn_ping_data, sn_snmp_data e sn_usrscript_data.

Sincronizzazione aggregata

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

Aggrega i dati grezzi dalla sincronizzazione incrementale in bucket di minuti, 5 minuti e 15 minuti. I dati sono memorizzati in stablenet_measurement_data_minutely, stablenet_measurement_data_5_minutely e stablenet_measurement_data_15_minutely. Le tabelle risultanti contengono le colonne value_avg, value_min e value_max per le righe aggregate.

Sincronizzazione oraria aggregata

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

Aggrega i dati della tabella stablenet_measurement_data_minutely in stablenet_measurement_data_hourly. Questa tabella non contiene valori medi, minimi e massimi, ma colonne statistiche timescaledb (stats_agg statssummary2d, stats_agg_max statssummary2d, percentile_agg uddsketch, percentile_agg_max uddsketch). Queste colonne possono essere utilizzate in seguito per ottenere molte informazioni statistiche sui dati aggregati.

Sincronizzazione delle statistiche

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

Esegue un rollup dei dati statistici da stablenet_measurement_data_hourly a stablenet_measurement_data_daily, stablenet_measurement_data_weekly, stablenet_measurement_data_monthly, stablenet_measurement_data_quartely e stablenet_measurement_data_yearly.

Sincronizzazione automatica

Dopo aver eseguito i comandi di sincronizzazione manualmente, vogliamo impostare alcuni job in SKOOR Engine per eseguire la sincronizzazione automaticamente.

  1. Creare un gruppo chiamato StableNet Data Sync in root

    image-20250627-061619.png
  2. Creare un dispositivo chiamato localhost sotto il gruppo StableNet Data Sync

    image-20250627-061655.png
  3. Creare 5 lavori Execute sotto localhost

    1. StableNet Measurement Sync [server_id]
      Intervallo: 1 hour, fix, if longer immediately
      Percorso del programma: /opt/stablenet-fdw/measurement-data-sync/measurement-sync.sh [server_id]
      Salva l'output su file: stablenet-measurement-sync.log

    2. StableNet Incremental Sync [server_id]
      Intervallo: 1 minute, fix, if longer immediately
      Percorso del programma: /opt/stablenet-fdw/measurement-data-sync/incremental-sync.sh [server_id]
      Salva l'output su file: stablenet-incremental-sync.log

    3. StableNet Aggregate Sync
      Intervallo: 5 minutes, fix, if longer immediately
      Percorso del programma: /opt/stablenet-fdw/measurement-data-sync/aggregate-sync.sh [server_id]
      Salva l'output su file: stablenet-aggregate-sync[-server_id].log

    4. StableNet Aggregate Hourly Sync
      Intervallo: 15 minutes, fix, if longer immediately
      Percorso del programma: /opt/stablenet-fdw/measurement-data-sync/aggregate-hourly-sync.sh [server_id]
      Salva l'output su file: stablenet-aggregate-hourly-sync[-server_id].log

    5. StableNet Stats Sync
      Intervallo: 1 hour, fix, if longer immediately
      Percorso del programma: /opt/stablenet-fdw/measurement-data-sync/stats-sync.sh [server_id]
      Salva l'output su file: stablenet-stats-sync[-server_id].log

Sincronizzazione cronologia

Eseguire questo comando DOPO la sincronizzazione iniziale e DOPO aver impostato la sincronizzazione automatica.

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

Questo comando sincronizza i dati storici in base alla configurazione di history_days.