Проблемка, собственно, такого плана: на freebsd крутится mpd. Раз в 5 минут с netstat -b -i -I ng10 (со всех активных ngXY) снимается статистика и кладется в rrd. Некоторые графики идут ровно (в смысле рисуются правильно). А на некоторых местами вдруг выпрыгивают пики по 10-15 мбит (при том, что реально такого трафика не было).Сейчас сидел наблюдал. Подключился - смотрю в показания в netstat и в каунтеры на клиенте. Прошло около 2 Мб в одну сторону и около 38 в другую. За несколько часов. И вот в один прекрасный момент на графике пик около 12 мбит. В rrdtool dump:
<!-- 2008-03-18 14:15:00 EET / 1205842500 --> <row><v> 1.2278003404e+03 </v><v> 4.0950776655e+04 </v><
/row>
<!-- 2008-03-18 14:20:00 EET / 1205842800 --> <row><v> 1.8450025249e+03 </v><v> 1.4813866104e+04 </v><
/row>
<!-- 2008-03-18 14:25:00 EET / 1205843100 --> <row><v> 1.3613779972e+07 </v><v> 1.3189427200e+07 </v><
/row>
<!-- 2008-03-18 14:30:00 EET / 1205843400 --> <row><v> 2.9632091110e+05 </v><v> 3.6031862033e+05 </v><
/row>
<!-- 2008-03-18 14:35:00 EET / 1205843700 --> <row><v> 1.0239682578e+02 </v><v> 1.7436262103e+03 </v><
/row>
Не понятно откуда выскочил 7ой порядок.
В ds вроде нормально все попадает:
<step> 300 </step> <!-- Seconds -->
<lastupdate> 1205847006 </lastupdate> <!-- 2008-03-18 15:30:06 EET -->
<ds>
<name> bytesin </name>
<type> COUNTER </type>
<minimal_heartbeat> 600 </minimal_heartbeat>
<min> 0.0000000000e+00 </min>
<max> 4.2949672950e+09 </max>
<!-- PDP Status -->
<last_ds> 1944441 </last_ds>
<value> 1.2978853738e+04 </value>
<unknown_sec> 0 </unknown_sec>
</ds>
<ds>
<name> bytesout </name>
<type> COUNTER </type>
<minimal_heartbeat> 600 </minimal_heartbeat>
<min> 0.0000000000e+00 </min>
<max> 4.2949672950e+09 </max>
<!-- PDP Status -->
<last_ds> 34497595 </last_ds>
<value> 1.8722349030e+05 </value>
<unknown_sec> 0 </unknown_sec>
</ds>
Создаются базы примерно такой функцией из python:
rrdtool.create("test.rrd", "-s 300", "DS:bytesin:COUNTER:600:0:4294967295", "DS:bytesout:COUNTER:600:0:4294967295", "RRA:AVERAGE:0.5:1:207360", "RRA:MAX:0.5:12:207360")
Обновляются:
rrdtool.update("test.rrd", "N:%d:%d" % (bin, bout))
Вероятность ошибочного съема стата с интерфейса минимальна. И откуда такой трабл вылазит тоже не ясно.