Уважаемые форумчане, специалисты и такие, как я. Мне хотелось бы прояснить для себя вопросы связанных с вычисляемыми функциями.
Сразу поясню, что осознаю, что заббикс -- это исключительно система мониторинга и никаких сверхточных результатов от неё не жду. Так же не исключаю, что где-то накосячил.
Вводная часть
Итак, имеем:
FreeBSD 7.x
Zabbix 1.8.3
PostgreSQL 8.4
Cisco ASA 5510
C ASA показания снимаются по SNMP, раунд -- 30 сек, устройство не сильно нагружено, поллеров сервера достаточно, поэтому потери части показаний исключаю.
Случай 1. Вычисляемый совокупный траффик
Снимаются показания ifHCInOctets, ifHCOutOctets.
Вычисляется ifHCInOutOctets по формуле last("ifHCInOctets[interface]")+last("ifHCOutOctets[interface]")
Все показатели имеют одинаковую размерность и интервалы обновления.
По этим трём показателям рисуется два графика: один нормальный, второй стекируемый. Изображения прикладываю к посту.
Вопрос такого плана: отчего график вычисляемого значение "запаздывает" за графиками своих составляющих?
В том, что вычисления проводятся верно -- сомнений нет, стекируемый график подтверждает форму линии ifHCInOutOctets. Интерес вызывает отставание. Попытка использовать формулу вида last(..., <round_time>)+last(..., <round_time>) немного приближает результат к желаемому, но накладки тем не менее случаются. На графиках такие места помечены красными вертикальными линями.
Казалось бы -- зачем это нужно? Мне хотелось на карте сети видеть параметры связи, такие как UL/DL и тотальную скорость. В итоге на картинке получается, что в некоторые периоды времени 5KBps+7KBps=16KBps или 3KBps.
Случай 2. Вычисляемая загрузка процессора
В документации к Zabbix приведена вполне обоснованная рекомендация, которая гласит о том, что незачем считывать с устройств cpu[,avg5] вместе с cpu[,avg1].
Я попытался сделать avg5 вычисляемой величиной (мощность сервера под Zabbix все равно избыточна). Для этого я с ASA получаю параметр "system.util[avg1]", "system.util[avg5]" и на основе первого вычисляю "system.util[avg5clc]" по формуле avg(system.util[avg1],300).
Отражая все три параметра на графике вижу, что вычисляемое avg ведёт себя как-то совсем иначе, чем считываемое.
Откуда проистекает вопрос: какой из показателей avg5 точнее отразит картину происходящего и отчего такой разброд в их значениях?
Буду рад пояснениям и рекомендациям.
Сразу поясню, что осознаю, что заббикс -- это исключительно система мониторинга и никаких сверхточных результатов от неё не жду. Так же не исключаю, что где-то накосячил.
Вводная часть
Итак, имеем:
FreeBSD 7.x
Zabbix 1.8.3
PostgreSQL 8.4
Cisco ASA 5510
C ASA показания снимаются по SNMP, раунд -- 30 сек, устройство не сильно нагружено, поллеров сервера достаточно, поэтому потери части показаний исключаю.
Случай 1. Вычисляемый совокупный траффик
Снимаются показания ifHCInOctets, ifHCOutOctets.
Вычисляется ifHCInOutOctets по формуле last("ifHCInOctets[interface]")+last("ifHCOutOctets[interface]")
Все показатели имеют одинаковую размерность и интервалы обновления.
По этим трём показателям рисуется два графика: один нормальный, второй стекируемый. Изображения прикладываю к посту.
Вопрос такого плана: отчего график вычисляемого значение "запаздывает" за графиками своих составляющих?
В том, что вычисления проводятся верно -- сомнений нет, стекируемый график подтверждает форму линии ifHCInOutOctets. Интерес вызывает отставание. Попытка использовать формулу вида last(..., <round_time>)+last(..., <round_time>) немного приближает результат к желаемому, но накладки тем не менее случаются. На графиках такие места помечены красными вертикальными линями.
Казалось бы -- зачем это нужно? Мне хотелось на карте сети видеть параметры связи, такие как UL/DL и тотальную скорость. В итоге на картинке получается, что в некоторые периоды времени 5KBps+7KBps=16KBps или 3KBps.
Случай 2. Вычисляемая загрузка процессора
В документации к Zabbix приведена вполне обоснованная рекомендация, которая гласит о том, что незачем считывать с устройств cpu[,avg5] вместе с cpu[,avg1].
Я попытался сделать avg5 вычисляемой величиной (мощность сервера под Zabbix все равно избыточна). Для этого я с ASA получаю параметр "system.util[avg1]", "system.util[avg5]" и на основе первого вычисляю "system.util[avg5clc]" по формуле avg(system.util[avg1],300).
Отражая все три параметра на графике вижу, что вычисляемое avg ведёт себя как-то совсем иначе, чем считываемое.
Откуда проистекает вопрос: какой из показателей avg5 точнее отразит картину происходящего и отчего такой разброд в их значениях?
Буду рад пояснениям и рекомендациям.

Comment