Dati di misurazione aggregati
Preparazione
Se l'aggregazione dati precedente (<=8.1.2) è attiva, è 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 aggregate e rifattorizzare le query dei dati per utilizzare quelle create dalla nuova sincronizzazione dei dati.
Assicurarsi che le impostazioni in /etc/stablenet-fdw/stablenet-fdw.conf siano corrette.
Sincronizzazione iniziale
I seguenti comandi vengono utilizzati per sincronizzare i dati di misurazione 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 relativi al giorno corrente. I dati storici possono essere sincronizzati in un secondo momento, dopo aver impostato la sincronizzazione automatica.
L'argomento server_id è necessario solo se configurato. Questi comandi devono essere eseguiti separatamente per ogni server_id.
Sincronizzazione delle misurazioni
sudo -u eranger /opt/stablenet-fdw/measurement-data-sync/measurement-sync.sh [server_id>]
Questo comando sincronizza le misurazioni dall'API StableNet in base ai filtri tag configurati. Questo viene successivamente utilizzato nella sincronizzazione incrementale per sincronizzare solo i dati relativi alle misurazioni richieste.
Sincronizzazione incrementale
sudo -u eranger /opt/stablenet-fdw/measurement-data-sync/incremental-sync.sh [server_id>]
Questo comando sincronizza i dati di misurazione grezzi da Oracle/MySQL a PostgreSQL. Ad ogni esecuzione, vengono sincronizzati solo i nuovi dati. I dati vengono memorizzati in sn_ping_data , sn_snmp_data e sn_usrscript_data. Inoltre, aggrega questi dati grezzi nella tabella stablenet_measurement_data_minutely che contiene value_avg , value_min e value_max.
Sincronizzazione aggregata
Questo passaggio è facoltativo e necessario solo se si necessitano i bucket da 5 e 15 minuti. In caso contrario, continuare con la sincronizzazione oraria.
sudo -u eranger /opt/stablenet-fdw/measurement-data-sync/aggregate-sync.sh [server_id>]
Aggrega i dati grezzi dalla sincronizzazione incrementale in bucket di 5 e 15 minuti. I dati vengono memorizzati in 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.
Aggregazione sincronizzata ogni ora
sudo -u eranger /opt/stablenet-fdw/measurement-data-sync/aggregate-hourly-sync.sh [server_id>]
Aggrega i dati dalla tabella stablenet_measurement_data_minutely in stablenet_measurement_data_hourly. Sebbene questa tabella contenga value_min e value_max , non contiene value_avg. Contiene invece colonne statistiche timescaledb (stats_agg statssummary2d , percentile_agg uddsketch , state_agg stateagg , ). Queste colonne possono essere utilizzate in seguito per ottenere molte informazioni statistiche sui dati aggregati.
Le misurazioni per ottenere i dati dell'state_agg devono essere configurate in /etc/stablenet-fdw/stablenet-fdw.conf utilizzando l'opzione snmp_state_agg_measurements. Le misurazioni sono definite dal nome del modello e dalla chiave metrica. Ad esempio
snmp_state_agg_measurements = Interface Relative IPMPLS 64Bit#1008
È possibile separare più coppie di misurazioni/chiavi metriche con una virgola.
Attivare l'state_agge solo su misurazioni/metriche con cardinalità bassa, ovvero con pochissimi valori distinti (ad esempio enum).
Sincronizzazione delle statistiche
sudo -u eranger /opt/stablenet-fdw/measurement-data-sync/stats-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 manualmente i comandi di sincronizzazione, vogliamo impostare alcuni lavori in SKOOR Engine per eseguire la sincronizzazione automaticamente.
Creare un gruppo chiamato
StableNet Data Syncnella directory principaleCreare un dispositivo chiamato "
localhost" sotto il gruppo "StableNet Data Sync"Creare 5 lavori di esecuzione sotto localhost
StableNet Measurement Sync [server_id]
Intervallo:1 hour, fix, if longer immediatelyPercorso
del programma:/opt/stablenet-fdw/measurement-data-sync/measurement-sync.sh [server_id]
Salva output su file:stablenet-measurement-sync.logStableNet Incremental Sync [server_id]
Intervallo:1 minute, fix, if longer immediatelyPercorso
del programma:/opt/stablenet-fdw/measurement-data-sync/incremental-sync.sh [server_id]
Salva output su file:stablenet-incremental-sync.logStableNet Aggregate Sync(OPZIONALE, aggiungere solo se sono necessari intervalli di 5 e 15 minuti)
Intervallo:1 minute, fix, if longer immediatelyPercorso
del programma:/opt/stablenet-fdw/measurement-data-sync/aggregate-sync.sh [server_id]
Salva output su file:stablenet-aggregate-sync[-server_id].logStableNet Aggregate Hourly Sync
Intervallo:10 minutes, fix, if longer immediatelyPercorso
del programma:/opt/stablenet-fdw/measurement-data-sync/aggregate-hourly-sync.sh [server_id]
Salva output su file:stablenet-aggregate-hourly-sync[-server_id].logStableNet Stats Sync
Intervallo:1 hour, fix, if longer immediatelyPercorso
del programma:/opt/stablenet-fdw/measurement-data-sync/stats-sync.sh [server_id]
Salva output su file:stablenet-stats-sync[-server_id].log
Sincronizzazione cronologia
Esegui 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 alle configurazioni [history_sync] days , start_date e end_date . Di solito, per una sincronizzazione iniziale della cronologia, è sufficiente impostare days o mantenere le impostazioni così come sono e sincronizzare semplicemente gli ultimi dodici mesi.
Potrebbe anche essere una buona idea utilizzare nohup per eseguire il comando, poiché potrebbe richiedere parecchio tempo per essere completato.

