Титла: Проблем с rrdtool Публикувано от: sandman_7920 в Feb 20, 2008, 13:03 Много гаден проблем ми се очертава с rrdtool
Схема на rrd базата -s 300\ DS:in:COUNTER:600:0:4294967295\ DS:out:COUNTER:600:0:4294967295\ RRA:AVERAGE:0.5:1:576\ RRA:AVERAGE:0.5:6:672\ RRA:AVERAGE:0.5:24:732\ RRA:AVERAGE:0.5:144:1460 Дотук всичко си е съвсем тривиално. За Max на DS на rrd-то е сложена максималната стойност за един 32-bit counter Проблема е следния взимам данните за трафика на ланките от /proc/net/dev и след рестарт на системата брояча им се нулира и при следващият отчет ми се генерира 100mbit. трафик, защото rrd-to си мисли, че брояча е стигнал макс. (2^32) и е превъртял (current=MAX-OLD+NEW). Когато се ползва snmp за събиране на данните за броячите няма този проблем, защото snmp-to гледа system uptime. Много, ама много ще се радвам, ако някой ми помогне,даде съвет или ми каже от къде да прочета решение за проблема. Титла: Проблем с rrdtool Публикувано от: sandman_7920 в Feb 20, 2008, 14:08 Реших си проблема, ама търсех някой по-елегантен начин, но и този не е много зле.
cat eth #!/bin/bash upt=$(cat /proc/uptime |awk -F "." '{print $1}') if [ $upt -gt 480 ]; then cat /proc/net/dev|grep -i $1|cut -d":" -f2|awk -F " " '{print $1"\n"$9}' fi echo -e "U\nU" С промяната в скрипта вече правя проверка за uptime да е повече от 8 мин. за да може rrd да запише поне един Unknown отчет, за да почне калкулацията от начало. ./eth eth0 U U |