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

Tags: 

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...

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.

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

Sostuite "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-down_lan-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).

Aggiungi un commento