Может ли Zabbix писать в свою БД только изменившиеся значения?
Есть мониторинг некоторых критичных значений через Zabbix Agent. Критичность создает необходимость частого интервала опроса, при чем характер данных такой, что иногда (редко) происходят изменения нужного числа, и именно на эти изменения надо быстро реагировать. Однако такие частые опросы лихо захламляют базу одинаковыми значениями, особенно когда таких элементов данных много. Вопрос, есть ли в заббиксе механизм, способный отслеживать значения часто, но скидывать их в БД только при различии с предыдущим значением?
Чем-то похожий механизм есть, это SNMP Trap, но там у меня агент, а он такого не умеет, даже активные проверки регулярно пишут в базу одно и то же.
Сталкивались с похожей задачей, пришли к тому что для таких метрик используем trapper, а на "клиентской" стороне вызываем zabbix_sender.
Если значение изменилось менее чем на N% просто не шлем новые данные в мониторинг, и не изменяем информацию о собранных данных (в tmp_stats).
Как только обнаруживается (при очередном запуске скрипта), что данные уже не посылались в течении 10min - высылаем. Вызов скрипта сбора данных происходит тем же zabbix'ом,
Позволило существенно сократить кол-во значений определенных метрик.
Все было бы существенно проще, если бы в заббиксе можно быстро настраивать retention для шаблонов/метрик. Стандартная тема с flexible интервалами совсем не то чего хочется...
Да, это понятно, что можно скриптами даже по крону всё это дело подчищать. Всё это, конечно же, реализуемо. Но меня интересует как раз вопрос встроенной возможности заббикса, или на худой конец какие-нить костыли, чтобы изначально данные попадали в history_* уже отфильтрованными, а не только потом удалялись оттуда