Eliminare i picchi anomali dai grafici di Munin (anche quelli negativi)

Se munin ha registrato un dato anomalo potrebbe sballare tutti i grafici, rendendoli illeggibili.

La soluzione è spiegata in questa guida ufficiale: http://guide.munin-monitoring.org/en/latest/howtos/remove-spikes.html

Il problema è che quella guida tiene conto solo dei picchi POSITIVI: se il vostro problema è in un picco negativo non lo risolverà. Ad esempio nel caso di un plugin che usa la direttiva "negative" per inserire dei dati come valori negativi del grafico (caso classico dei rilevatori di velocità di rete upload/download).

Premessa: il problema alla base è che il plugin non ha dichiarato degli estremi (min, max) per i dati. La base per la soluzione proposta è quella di impostare questi parametri. Vedi: http://guide.munin-monitoring.org/en/latest/reference/plugin.html#plugin-reference

Dopo aver impostato i dati di min e max corretti, ed avere aspettato almeno un giro di cron (di base ogni 5 minuti) possiamo applicare la soluzione (Attenzione: va eseguita come root o come utente munin)

cd /var/lib/munin/DOMAIN
perl -ne 'next unless /:PLUGIN/; if (/.*;(\S+):(\S+)\.(\S+)\.max\s+(\d+)/) {foreach (glob "$1-$2-$3-?.rrd") {print qq{File: $_\tMax: $4\n};qx{rrdtool tune $_ -a 42:$4};qx{rrdtool dump $_ > /tmp/rrdtool-xml};qx{mv $_ $_.bak};qx{rrdtool restore -r /tmp/rrdtool-xml $_};qx{chown munin:munin $_}}}' ../datafile
perl -ne 'next unless /:PLUGIN/; if (/.*;(\S+):(\S+)\.(\S+)\.min\s+(-\d+)/) {foreach (glob "$1-$2-$3-?.rrd") {print qq{File: $_\tMin: $4\n};qx{rrdtool tune $_ -i 42:$4};qx{rrdtool dump $_ > /tmp/rrdtool-xml};qx{mv $_ $_.bak};qx{rrdtool restore -r /tmp/rrdtool-xml $_};qx{chown munin:munin $_}}}' ../datafile

Sostituite "DOMAIN" con l'host per il quale volete cambiare i dati (per vederli, guardate le dir presenti in /var/lib/munin/), e "PLUGIN" con il nome del plugin. Per capire questo nome potete vedere i file .rrd presenti nella cartella "/var/lib/munin/DOMAIN". Considerate che per funzionare dovete inserire solo la parte di nome del plugin (oppure, se inserite tutto il nome di file rrd, dovete fare l'escaping corretto dei caratteri).

Se i comandi sopra fanno qualcosa lo scriveranno a schermo, ad esempio:

File: DOMAIN-PLUGIN-down_lan-g.rrd    Min: -5242880
File: DOMAIN-PLUGIN-down_wan-g.rrd    Min: -5242880

Significa che sono stati impostati i dati di "Min" per i file specificati.

Alla fine del comando potete verificare se è stato tutto impostato correttamente facendo il comando sottostante, che vi mostrerà i dati di min/max impostati.

rrdtool info DOMAIN-PLUGIN-ID-g.rrd  | grep "ds\[42\]"

(Dovete ovviamente inserire il nome di file che vi interessa).

 

La verifica definitiva si avrà quando si rebuilderanno i grafici di munin (ogni 5 minuti, anche se grafici più estesi come "mensile" o "annuale" potrebbero impiegarci più tempo).

 

IN ALTERNATIVA

Si può fare il dump XML del file rrd che va modificato, tramite il comando:

rrdtool dump DOMAIN-PLUGIN-ID-g.rrd.rrd > tmp.xml

Quindi si può modificare manualmente tmp.xml per cambiare i dati che si vogliono (attenzione a tenere la notazione scientifica che credo sia obbligatoria).

A questo punto si può ricostruire il file rrd tramite:

rrdtool restore tmp.xml DOMAIN-PLUGIN-ID-g.rrd.rrd

(Potete quindi cancellare il file tmp.xml)

Commenti

Non ci sono ancora commenti.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I commenti vengono pubblicati dopo la moderazione.