Данных на входе нет...
 

Данных на входе нет, а график упорно рисует 1.

3 Записи
2 Пользователи
0 Reactions
1,661 Просмотры
(@scorpius)
New Member
Присоединился: 3 года назад
Записи: 2
Создатель темы  

Владимир, здравствуйте ! Столкнулся со следующей проблемой.

Коротко опишу работу системы:

С помощью zabbix мониторю программный комплекс на предмет ошибок. Если происходит ошибка в комплексе, то соответствующая запись попадает в elastic с кодом ошибки и названием модуля, где произошла ошибка. Соответственно, если ошибок нет, то и записей нет.

В zabbix создал шаблон, настроил правила обнаружения. Каждое правило это ошибка. В каждом правиле выполняется внешняя проверка и в качестве параметра скрипту передаю имя хоста и код ошибки для запроса в elastic. Далее с помощью утилиты я обрабатываю данные и отправляю их в zabbix в формате json с полями в виде

{

    "data":[

            {#MACROS}: ...

    ]

}

Так же к каждому правилу я настроил прототип элемента данных и прототип триггера.

Триггер срабатывает по вычисляемому выражению (простая 1). Соответственно сколько модулей с ошибками, столько триггеров и сработает.

А проблема в следующем. Когда ошибка перестает писаться в elastic (ошибку исправили или сама пропала), из elastic приходит пустой json, а значит и в zabbix приходит пустой json. Но проблема в zabbix остается висеть и история в виде графика пишется "1",  хотя данных реально нет. Следовательно и триггер не может сработать на восстановление. Не понимаю, почему в отсутствии данных, zabbix пишет историю так, как будто они есть ? Может есть настройки в zabbix ?

У меня в json есть поле {#STATUS} где собственно лежит 1. Я попробовал подсунуть туда 0. Триггер отработал на восстановление, все ок. 


   
ОтветитьЦитата
(@scorpius)
New Member
Присоединился: 3 года назад
Записи: 2
Создатель темы  

Разобрался с проблемой, может кому-то поможет. В заббиксе есть настройка "Период сохранения порерянных ресурсов". Видимо заббикс так устроен, что когда данные на вход перестают поступать, то он берет их из этого источника. А так-как по умолчанию период стоит 30 дней, то и проблема висеть будет долго. Я изменил настройку на 1 час и если данных нет более 1 часа, то триггер закрывается автоматически. Потом, если данные с ошибками начнут поступать, то триггер сработает как положено.


   
ОтветитьЦитата
(@zerox)
Prominent Member Admin
Присоединился: 11 лет назад
Записи: 926
 

@scorpius спасибо за информацию.


   
ОтветитьЦитата
Используешь Telegram? Подпишись на канал автора →
This is default text for notification bar