Dati di misurazione aggregati

Preparazione

Se è attiva la vecchia aggregazione dei dati (<=8.1.2), è necessario disabilitare il processo di sincronizzazione 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 di aggregazione e di riorganizzare le query sui dati in modo da utilizzare quelle create dalla nuova sincronizzazione dei dati.

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

Sincronizzazione iniziale

La sincronizzazione dei dati di misurazione da StableNet/Oracle/MySQL viene effettuata utilizzando i seguenti script SKOOR creati nel gruppo StableNet all'esecuzione di `init-data-source.py`.

La prima volta gli script devono essere eseguiti manualmente in ordine sequenziale per assicurarsi che tutto funzioni correttamente.

Quando si eseguono gli script per la prima volta, vengono sincronizzati solo i dati relativi al giorno corrente. I dati storici possono essere sincronizzati in un secondo momento, dopo aver configurato la sincronizzazione automatica.

La variabile d’ambiente SERVER_ID è necessaria solo se configurata. Questi comandi devono essere eseguiti separatamente per ogni SERVER_ID.

Sincronizzazione delle misurazioni

Questo script sincronizza le misurazioni dall’API di StableNet in base ai filtri dei tag configurati. Ciò viene successivamente utilizzato nella sincronizzazione incrementale per sincronizzare solo i dati relativi alle misurazioni richieste.

Sincronizzazione incrementale

Questo comando sincronizza i dati grezzi delle misurazioni da Oracle/MySQL a PostgreSQL. Ad ogni esecuzione, vengono sincronizzati solo i nuovi dati. I dati vengono memorizzati nelle tabelle sn_ping_data, sn_snmp_data e sn_usrscript_data. Inoltre, aggrega questi dati grezzi nella tabella stablenet_measurement_data_minutely, che contiene i campi value_avg, value_min e value_max.

Sincronizzazione aggregata

Questo passaggio è facoltativo ed è richiesto solo se sono necessari gli intervalli di 5 e 15 minuti. In caso contrario, procedere invece con la sincronizzazione oraria. Se non sono necessari, è opportuno rimuovere anche le dimensioni degli intervalli corrispondenti dalla query di dati `dq_stablenet_measurement_data`.

Aggrega i dati grezzi provenienti dalla sincronizzazione incrementale in intervalli di 5 e 15 minuti. I dati vengono memorizzati nelle tabelle `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 aggregata oraria

Aggrega i dati dalla tabella stablenet_measurement_data_minutely nella tabella stablenet_measurement_data_hourly. Sebbene questa tabella contenga value_min e value_max, non contiene value_avg. Contiene invece colonne statistiche di timescaledb (stats_agg statssummary2d, percentile_agg uddsketch, state_agg stateagg). Queste colonne possono essere utilizzate in seguito per ottenere numerose informazioni statistiche sui dati aggregati.

Le misurazioni per cui si desidera ottenere i dati `state_agg` devono essere configurate nel file /etc/stablenet-fdw/stablenet-fdw.conf utilizzando l’opzione `snmp_state_agg_measurements`. Le misurazioni sono definite dal nome del modello e dalla chiave della metrica. Ad esempio:

snmp_state_agg_measurements = Interface Relative IPMPLS 64Bit#1008

È possibile separare più coppie di misurazioni/chiavi metriche con una virgola.

Attivare «state_agg» solo su misurazioni/metriche con bassa cardinalità, ovvero che presentano solo pochissimi valori distinti (ad es. enumerazioni).

Sincronizzazione delle statistiche

Esegue un rollup dei dati statistici da `stablenet_measurement_data_hourly` in `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 manualmente gli script di sincronizzazione, si desidera abilitare le pianificazioni degli script per eseguire la sincronizzazione automaticamente.

image-20261021-095724.png

Sincronizzazione della cronologia

Eseguire questo script DOPO la sincronizzazione iniziale e DOPO aver configurato la sincronizzazione automatica.

Questo script sincronizza i dati storici in base alle impostazioni di [history_sync] relative a days, start_date e end_date. Di solito, per una sincronizzazione iniziale della cronologia, è consigliabile impostare solo days oppure mantenere le impostazioni così come sono e sincronizzare semplicemente i dati relativi a un anno.