Всем привет, может кто подскажет... К примеру произошел сбой бэкапа создался триггер с ошибкой и если при следующем запуске так же бэкап не сделается триггер не обновится и не сообщит что произошел сбой. Назначил триггеру множественную генерацию событий, триггер начинает спамить каждые 20 минут т.к. у него стоит выражение last(/MSSQL by ODBC/mssql.job.runstatus["{#JOBNAME}"])=0 и каждые 20 минут обновляются данные. Думал насчет добавления условия в триггер, но тут я столкнулся с трудностями... думал может еще сравнивать next run date-time но он текстовый...
Ad Widget
Collapse
Триггер Job failed to run в шаблоне MSSQL
Collapse
X
-
Неверное всё же триггер не "создался", а сработал и создал"проблему"
Ну и отлично - вас предупредили что задание в этот раз не отработало.
Если всё починили - закройте проблему и при следующем запуске бэкапа если будет ошибка триггер снова сработает. Не будет ошибки - не будет срабатывания.
Вроде такая логика..... -
к примеру если бэкап квартальный, задача не выполнилась сработал триггер, если вручную закрыть проблему, то при следующем обновлении значения опять сработает триггер.... Пришла не большая идея что если сделать условие в триггере last(/MSSQL by ODBC/mssql.job.runstatus["{#JOBNAME}"])=0 and change(/MSSQL by ODBC/mssql.job.lastrundatetime["{#JOBNAME}"])=1 и сделать множественным. Если выполнилось с ошибкой и последнее значение следующего выполнения и предпоследнего значения различаются сработает триггер. Только вопрос у Last run date-time тип информации текст, будет ли отрабатывать корректно change?Comment
-
change для строк нормально работает (https://www.zabbix.com/documentation...ctions/history)
ЗЫ
Заметка по приведенному примеру: как я писал перед закрытием проблемы нужно "исправить ситуацию" т.е. запустить задание резервного копирования ручками чтоб оно нормально выполнилось (код выполнения у задания изменить)
Comment
Comment