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

· 126 words · 1 minute read

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 -> 1.3671779106e+01
<!- 2012-11-09 04:00:00 MSK / 1352419200 -> 1.3671779106e+01

Если нашли и уверены, удаляем, вместо 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