Скрипт удаления пиков из rrd файлов в munin

user@host ~ # bash munin-peak-remover.sh
munin-peak-remover.sh [grep|remove] [string] [rrdfile]

Удаление пиков из rrd в munin
Смотрим на значение на графике Max: 136.76, значит ищем (значения в файле в экспоненциальной форме):

user@host ~ # bash munin-peak-remover.sh grep 1.367 /var/lib/munin/com/example.com-load-load-g.rrd
<!-- 2012-11-06 20:00:00 MSK / 1352217600 --> <row><v>1.3671779106e+01</v></row>
<!-- 2012-11-09 04:00:00 MSK / 1352419200 --> <row><v>1.3671779106e+01</v></row>

Если нашли и уверены, удаляем, вместо grep — remove

Удаление пиков из rrd в munin

Удаление пиков из rrd в munin

#!/bin/bash
 
#default
answer="n"
string=`echo $2 | sed 's#\.#\\\.#g'`
 
rrdtool dump $3 > ~/rrdtmp.xml
case "$1" in
    grep)
	grep --color=auto "$string" ~/rrdtmp.xml
    ;;
    remove)
	grep --color=auto "$string" ~/rrdtmp.xml
	read -p "Удалить строки содержащие $string? [y/n]" answer
	case "$answer" in
		y|Y)
			sed -i.bak -e "/${string}/d" ~/rrdtmp.xml
			mv $3 ~/
			rrdtool restore ~/rrdtmp.xml $3
			chown munin:munin $3
		;;
		n|N)
			exit
		;;
	esac
    ;;
    *)
	echo "$0 [grep|remove] [string] [rrdfile]"
esac
 
rm ~/rrdtmp.xml

https://github.com/bop0hz/munin-peak-remover

Теги: , ,

Оставить комментарий