PDA

View Full Version : Проблема с net.if.in/out


turboon
24-09-2010, 15:28
Подскажите, почему порказания траффика по ключам net.if.in/out отличаются от показаний в свойствах сетевого интерфейса?
Кроме того, они периодически слетают, т.е. уменьшаются то на пару гигабайт, то падают до нуля.
Вот график
http://i.piccy.info/i5/24/26/522624/Graph.jpg

dima_dm
24-09-2010, 15:34
Настройки Item покажите.
Что же Вы не хотите пользоваться правильными методами проверки, т.е.
C Zabbix Server
zabbix_get -s IP -k net.if.in[eth0, bytes]

У меня всё совпадает, я опросил Zabbix агент и вывел статистику по интерфейсу на этом же сервере

zabbix_get -s 127.0.0.1 -k net.if.in[eth0,bytes] ; /sbin/ifconfig eth0
1578258871
eth0 Link encap:Ethernet HWaddr 00:0E:7F:AD:23:D2
inet6 addr: fe80::20e:7fff:fead:23d2/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:1757069298 errors:0 dropped:0 overruns:0 frame:0
TX packets:1381858309 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:1578258871 (1.4 GiB) TX bytes:3564353597 (3.3 GiB)
Interrupt:193

turboon
24-09-2010, 15:56
Забыл написать, эти проблемы на серверах под Windows. Под Linux все точь-в-точь, как в ifconfig.
Проверял также, как и Вы, zabbix_get'ом.

Вот настройки
http://i.piccy.info/i5/16/27/522716/item.jpg

dima_dm
24-09-2010, 19:20
Т.е. Вы макросы используете?
Символ $ - пропустили, если это пользовательский макрос
net.if.in[{$IPADDRESS}]
либо
net.if.in[{IPADDRESS1}] если системный макрос, но здесь я не уверен, работает ли такая конструкция, проверьте.
http://www.zabbix.com/documentation/ru/1.8/manual/config/macros

turboon
27-09-2010, 08:07
Проверил сейчас, Дмитрий.
Ключ net.if.in[{IPADDRESS}] выдает то же число, что и net.if.in[{IPADDRESS1}]. Непонятно, что делать со скачками.. Как Вы думаете, может это происходить из-за ограничений на размер передаваемой/хранимой информации в 4 байта(32 бита)? Ибо заметил я, что значение этого ключа ни для одного сервера не превышает 4 GB.

dima_dm
27-09-2010, 10:45
Очевидно, что это переполнение 32 битного счётчика, непонятно почему у Вас линия идёт скачками, а не плавно поднимается до придельного значения счётчика, а потом опять от нуля до придельного значения счётчика и т.д.
Единственное, что приходит на ум, что Вы делаете reset интерфейсов на Windows.

turboon
27-09-2010, 11:09
Да, я понял, ограничение 32-х бит. Сейчас поэкспериментировал на последней Ubuntu LTS - там счетчики ifconfig честно сбрасываются :).
Так как же, все-таки, подсчитать траффик?
Получается, выход один - использовать внешние утилиты?

dima_dm
27-09-2010, 11:31
Если нужно просто посчитать трафик, используйте вычислемое значение.
Т.е. переведите net.if.in[{IPADDRESS}] на Хранить значение Дельта (простое изменение)

А дальше заведите вычислемое значение MYSUM
last("net.if.in[{IPADDRESS}]") + last("MYSUM")

Если нужен трафик за интервал времени, используйте функцию sum
sum("net.if.in[{IPADDRESS}]",3600)
Т.е. трафик переданный за 1 час

turboon
27-09-2010, 14:28
Спасибо, Дмитрий, но это не работает.
В один прекрасный момент значение сбросилось, дельта стала равна минус четырем гигабайтам, и вся сумма накрылась медным тазом :)
Если нам важно отследить только дельту в текущий момент, то мы переживем 30 сек, пока она равна -4gb, но если нужна сумма ... сами понимаете :)
Ну так что же, Дмитрий, все-таки внешние утилиты?

dima_dm
27-09-2010, 14:41
А если указать для подсчитываемого элемента Тип информации: Числовой (целое положительное)?

turboon
27-09-2010, 15:27
А с этим параметром еще смешнее получается:
Эксабайты!!!
http://i.piccy.info/i5/92/30/533092/16EB.jpg
Из меньшего вычесть большее и привести к целому положительному - получается 16 эксабайт

А как Вы траффик считаете?

dima_dm
27-09-2010, 15:42
Мы трафик снимаем с портов магистральных роутеров, и свичей,т.к. я работаю в крупном ISP, то такие системы нужно сертифицировать как автоматизированные системы расчётов (АСР).А подобную самодеятельность, что Вы делаете, Вам никогда не удастся сертифицировать, со всеми вытекающими. Т.е. не получится выставлять на основе этой информации счета и статистику нельзя показывать клиентам как официальную и т.д.
Система мониторинга и система биллинга, это разные системы, и совместить их не получится. Zabbix – это система мониторинга.