View Full Version : Проблема с net.if.in/out
Подскажите, почему порказания траффика по ключам net.if.in/out отличаются от показаний в свойствах сетевого интерфейса?
Кроме того, они периодически слетают, т.е. уменьшаются то на пару гигабайт, то падают до нуля.
Вот график
http://i.piccy.info/i5/24/26/522624/Graph.jpg
Настройки 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
Забыл написать, эти проблемы на серверах под Windows. Под Linux все точь-в-точь, как в ifconfig.
Проверял также, как и Вы, zabbix_get'ом.
Вот настройки
http://i.piccy.info/i5/16/27/522716/item.jpg
Т.е. Вы макросы используете?
Символ $ - пропустили, если это пользовательский макрос
net.if.in[{$IPADDRESS}]
либо
net.if.in[{IPADDRESS1}] если системный макрос, но здесь я не уверен, работает ли такая конструкция, проверьте.
http://www.zabbix.com/documentation/ru/1.8/manual/config/macros
Проверил сейчас, Дмитрий.
Ключ net.if.in[{IPADDRESS}] выдает то же число, что и net.if.in[{IPADDRESS1}]. Непонятно, что делать со скачками.. Как Вы думаете, может это происходить из-за ограничений на размер передаваемой/хранимой информации в 4 байта(32 бита)? Ибо заметил я, что значение этого ключа ни для одного сервера не превышает 4 GB.
Очевидно, что это переполнение 32 битного счётчика, непонятно почему у Вас линия идёт скачками, а не плавно поднимается до придельного значения счётчика, а потом опять от нуля до придельного значения счётчика и т.д.
Единственное, что приходит на ум, что Вы делаете reset интерфейсов на Windows.
Да, я понял, ограничение 32-х бит. Сейчас поэкспериментировал на последней Ubuntu LTS - там счетчики ifconfig честно сбрасываются :).
Так как же, все-таки, подсчитать траффик?
Получается, выход один - использовать внешние утилиты?
Если нужно просто посчитать трафик, используйте вычислемое значение.
Т.е. переведите net.if.in[{IPADDRESS}] на Хранить значение Дельта (простое изменение)
А дальше заведите вычислемое значение MYSUM
last("net.if.in[{IPADDRESS}]") + last("MYSUM")
Если нужен трафик за интервал времени, используйте функцию sum
sum("net.if.in[{IPADDRESS}]",3600)
Т.е. трафик переданный за 1 час
Спасибо, Дмитрий, но это не работает.
В один прекрасный момент значение сбросилось, дельта стала равна минус четырем гигабайтам, и вся сумма накрылась медным тазом :)
Если нам важно отследить только дельту в текущий момент, то мы переживем 30 сек, пока она равна -4gb, но если нужна сумма ... сами понимаете :)
Ну так что же, Дмитрий, все-таки внешние утилиты?
А если указать для подсчитываемого элемента Тип информации: Числовой (целое положительное)?
А с этим параметром еще смешнее получается:
Эксабайты!!!
http://i.piccy.info/i5/92/30/533092/16EB.jpg
Из меньшего вычесть большее и привести к целому положительному - получается 16 эксабайт
А как Вы траффик считаете?
Мы трафик снимаем с портов магистральных роутеров, и свичей,т.к. я работаю в крупном ISP, то такие системы нужно сертифицировать как автоматизированные системы расчётов (АСР).А подобную самодеятельность, что Вы делаете, Вам никогда не удастся сертифицировать, со всеми вытекающими. Т.е. не получится выставлять на основе этой информации счета и статистику нельзя показывать клиентам как официальную и т.д.
Система мониторинга и система биллинга, это разные системы, и совместить их не получится. Zabbix – это система мониторинга.