Система мониторинга Zabbix в стандартной установке предлагает один тип оповещений на события - одноразовое уведомление при срабатывании триггера. Если ты по какой-то причине не заметил уведомление, или забыл на него среагировать, через некоторое время ситуация может стать критической. В таком случае могут быть полезны повторяющиеся напоминания о том, что проблема еще не исправлена.
На углубленном курсе "Архитектура современных компьютерных сетей" вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.
Содержание:
Введение
Тема повторных уведомлений хорошо освещена в официальной документации заббикс. В разделе про Эскалации рассказано, как управлять оповещениями, в том числе делать их повторными. Сам я без проблем разобрался на основе документации, но тем не менее для полноты картины настройки zabbix, подробно раскрою эту тему у себя на конкретном примере.
Если у вас еще нет своего сервера для мониторинга, то рекомендую материалы на эту тему. Для тех, кто предпочитает систему CentOS:
То же самое на Debian 10, если предпочитаете его:
Дальнейшие действия я буду выполнять в системе CentOS 7 и версии Zabbix сервера 3.4.6. Все описанное ниже будет актуально и для других систем и версий заббикса, так как разработчики стараются максимально сохранять совместимость между версиями.
Подготовка тестового триггера
Я в своих статьях по настройке заббикса часто использую в качестве примера триггер, который срабатывает, когда залогиненных пользователей в системе становится больше 2-х. Он основывается на стандартном итеме шаблона Template OS Linux - Number of logged in users.
Триггер срабатывает, когда каждое из двух последних значения залогиненных в систему пользователей больше двух (count(#2,1,"gt")}=2), выключается, когда последнее значение залогиненных пользователей меньше двух (last(#1)}<2). То есть, когда мы заходим двумя пользователями на сервер, через 2 минуты срабатывает триггер. Когда остается только один пользователь или вообще ни одного, через минуту триггер выключается.
Прежде чем двигаться дальше, рекомендую проверить работу триггера и оповещений и убедиться в том, что все работает правильно. Далее я настрою оповещения, которые будут повторяться каждую минуту до тех пор, пока залогиненных юзеров не станет меньше двух.
Настройка повторяющегося оповещения
После того, как убедились, что тестовый триггер работает, настроим для него повторяющееся уведомление. Для этого идем в раздел Настройка -> Действия и нажимаем Создать действие.
Во вкладке Действие указываете имя и добавляете тестовый триггер.
Дальше переходим в раздел Операции и указываем длительность шага равное 1 минуте. Добавляем шаг с параметром 1 - 0 и указываем необходимое действие. В примере я просто буду отправлять всем администраторам оповещение на почту.
Сохраняйте настроенное действие и ждите срабатывания триггера. Вы должны получать оповещение на почту каждую минуту до тех пор, пока триггер не будет отключен. Обращаю внимание, что вы получите оповещение и от стандартного правила, которое шлет один раз и от нового, которое повторяющееся. Чтобы все было красиво и удобно, необходимо отключать стандартное оповещение и создавать свои с определенными правилами в зависимости от типа триггера.
Заключение
Ситуаций, где полезно использование повторяющихся уведомлений очень много. К примеру, у меня есть материал, где описан мониторинг делегирования домена или ssl сертификата. На такие события не требуется мгновенная реакция. Она может последовать и через несколько дней. Но когда откладываешь действие на несколько дней вперед, очень легко забыть о нем. Тут придут на помощь ежедневные напоминания о проблеме. Я их настроил вот так:
Если вы настроили мониторинг бэкапов, который выполняется ночью, то его тоже не обязательно чинить в ту же минуту, можно отложить на вечернее время. Чтобы не забыть, можно настроить уведомления раз в 2 часа. И так далее. Смысл, я думаю, понятен.
Еще раз обращаю внимание на ссылку в самом начале на документацию заббикса. Там описаны более замысловатые, но тем не менее простые в настройке последовательности отправки уведомлений.
На углубленном курсе "Архитектура современных компьютерных сетей" вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.
Здравствуйте. Подскажите. Есть тригер который делает допустим окончание сертификата ssl через 20 дней. Как сделать чтобы он каждый день закрывал триггер 20 и делал 19 и слал сообщения потом 18 и тд (если забыли исправить)
Не знаю, как это автоматизировать, чтобы было именно так, как вы описали. Можно вручную сделать все 20 триггеров в шаблоне. Каждый триггер будет открываться на 20 дней, закрываться на 19 дней и т.д. В принципе, работы на 10-15 минут, скопировать все триггеры и поменять там числа. Как по другому сделать, сходу в голову не приходит.
добрый день! а есть ли возможность настроить уведомления каждые 10 минут о наличии проблем. у меня настроены оповещения в телеграмм. хотел узнать можно ли сделать так что бы он присылал одним сообщением список проблем , которые есть , каждые 10 минут?
Многие об этом спрашивают. Я бы тоже не отказался от такого функционала, но сейчас в Zabbix такого нет. Идеально было бы получать сводку обо всех активных триггерах через настроенный промежуток времени.
В теории можно добавить тег к тригеру - например repeat. И к другим действиям по отправке уведомлений, что при наличие этой метки repeat уведомления не высылать. Тогда не будет задвоенных сообщений об одной проблеме.
Кстати да, хороший вариант.
Такой еще вариант, поставить в отправке уведомления шаг 2-0, т.е. начать со второго и бомбить бесконечно. В таком случае не нужно править обычную отправку. Она отправит сразу как проблема произойдет, а наша повторяющаяся этот шаг пропустит, так как она только со второго отправляет. Соответственно не будет задвоенных сообщений. Спасибо за статьи по забиксу.
День добрый! Возможно ли сделать тригер как напоминание. допустим что бы он срабатывал по дате и светил нужный текст . что на подобии уведомлении как в календаре происходит.
В Zabbix такого нет. Да и зачем это в нем реализовывать? Проще календарь какой-то взять.
Можно, конечно, наколхозить и в Zabbix такое через скрипты и триггеры, но зачем?
Добрый день! Не знаете ли как можно настроить уведомление об активных триггерах на определенное время, например на 07:00. Как утренняя сводка о не решенных проблемах.
Насколько я понимаю логику работы zabbix, сделать это штатно не получится. Я уже сам задумывался об этом, но ничего не получается. Можно как-то накостылить этот функционал, но работать будет так себе. Например, включать ночью режим обслуживания и отключать его утром. Тогда должны начать сыпаться уведомления с активных проблем. Но это немного не то. Так же можно сделать отдельный шаблон с проверками только в определенное время. Тогда оповещения будут приходить только в момент начала проверок. Но это немного не то.
В явном виде, как вы хотите, получить сводку по активным триггерам в определенное время нельзя. Нужно это реализовывать либо каким-то скриптом, забирая данные из базы заббикса, либо через api.
Если найдете или сделаете подобное решение, прошу поделиться. Мне оно видится полезным, в том числе и для себя. Простых реализаций не могу придумать.
не подскажете - при создании триггера сценария веб мониторинга указывается его имя:
например: сайт site.com недоступен, ошибка: {ITEM.VALUE}
в итоге приходит письмо с заголовком и содержанием сайт site.com недоступен, ошибка: 1
как сделать чтобы в письме писало ошибку котор выдал вебсервер - 403, 500, 502 и т.д.
это Last error message of scenario "myscenario"
то есть какую переменную прописать в имя триггера ? пробовал разные из https://www.zabbix.com/documentation/3.4/ru/manual/appendix/macros/supported_by_location - не помогло
Нужно делать отдельный триггер на код ответа. Тогда значение кода будет подставляться в уведомление. У вас триггер на один итем, который проверяет статус проверки (1 или 0), а вы хотите вставить результат из другого итема. Может так тоже можно как-то сделать, я не проверял. Но если сделать отдельный триггер для кода, то точно будет слать значение в уведомлении.