Strony

wtorek, 6 listopada 2012

fix rrd data


Naprawa błędnych dane w bazie rrd spowodowanych nieprawidłowym odczytem wartości przez skrypt.

1. wykonać eksport danych do xml'a (rrdtool dump)
2. podmienić nieprawidłowe wartości (sed)
3. wykonać import danych (rrdtool restore)

Wykres wygenerowany z pikami - przed naprawą:


Wykres wygenerowany po naprawie pliku rrd


Skrypt automatyzujący pracę:
fix_script_rrd.sh
#!/bin/sh

cp /usr/local/pnp4nagios/var/perfdata/server/SPEED_NET.rrd /root/scripts/rrd_export_testy/SPEED_NET_server.rrd-$(date +%Y-%m-%d-%s)
mv /usr/local/pnp4nagios/var/perfdata/server/SPEED_NET.rrd /root/scripts/rrd_export_testy/SPEED_NET_server.rrd
cp /usr/local/pnp4nagios/var/perfdata/server/SPEED_NET.rrd /root/scripts/rrd_export_testy/SPEED_NET_server_BEFORE.rrd
rrdtool dump /root/scripts/rrd_export_testy/SPEED_NET_server_BEFORE.rrd > /root/scripts/rrd_export_testy/SPEED_NET_server_BEFORE.xml

sed -i 's/-6.4146433246e+09/0/g' /root/scripts/rrd_export_testy/SPEED_NET_server_BEFORE.xml
sed -i 's/-2.2227638513e+09/0/g' /root/scripts/rrd_export_testy/SPEED_NET_server_BEFORE.xml
sed -i 's/-1.2606894794e+09/0/g' /root/scripts/rrd_export_testy/SPEED_NET_server_BEFORE.xml
sed -i 's/-6.3459103635e+09/0/g' /root/scripts/rrd_export_testy/SPEED_NET_server_BEFORE.xml
sed -i 's/-5.5899984061e+09/0/g' /root/scripts/rrd_export_testy/SPEED_NET_server_BEFORE.xml
sed -i 's/-5.0475658794e+08/0/g' /root/scripts/rrd_export_testy/SPEED_NET_server_BEFORE.xml
sed -i 's/-2.5594901404e+09/0/g' /root/scripts/rrd_export_testy/SPEED_NET_server_BEFORE.xml
sed -i 's/-4.7378915353e+09/0/g' /root/scripts/rrd_export_testy/SPEED_NET_server_BEFORE.xml
sed -i 's/-1.2606858468e+09/0/g' /root/scripts/rrd_export_testy/SPEED_NET_server_BEFORE.xml
sed -i 's/-1.0086951488e+09/0/g' /root/scripts/rrd_export_testy/SPEED_NET_server_BEFORE.xml
sed -i 's/-4.1772191908e+08/0/g' /root/scripts/rrd_export_testy/SPEED_NET_server_BEFORE.xml
sed -i 's/-1.8516738435e+09/0/g' /root/scripts/rrd_export_testy/SPEED_NET_server_BEFORE.xml
sed -i 's/-1.8025172614e+08/0/g' /root/scripts/rrd_export_testy/SPEED_NET_server_BEFORE.xml
sed -i 's/-1.8024471851e+08/0/g' /root/scripts/rrd_export_testy/SPEED_NET_server_BEFORE.xml
sed -i 's/-2.5663505765e+09/0/g' /root/scripts/rrd_export_testy/SPEED_NET_server_BEFORE.xml

rrdtool restore /root/scripts/rrd_export_testy/SPEED_NET_server_BEFORE.xml /root/scripts/rrd_export_testy/SPEED_NET_server_AFTER.rrd
rrdtool dump /root/scripts/rrd_export_testy/SPEED_NET_server_AFTER.rrd > /root/scripts/rrd_export_testy/SPEED_NET_server_AFTER.xml

cp -f /root/scripts/rrd_export_testy/SPEED_NET_server_AFTER.rrd /usr/local/pnp4nagios/var/perfdata/server/SPEED_NET.rrd

10 komentarzy: