Автоматизируй всё (в Zabbix) — Новости

У нас, как и у любого ISP, есть отношения с поставщиками страданий электроэнергии. Нас никак не оповещают, но в прошлом году на сайте поставщика появился регулярно обновляемый блок новостей с предупреждениями о плановых работах. RSS на сайте нет, поэтому приходилось регулярно на него ходить и проверять, однажды это дело мне надоело… И я решил его тоже мониторить.

Собственно всё очень просто: забираем curl’ом страницу, вырезаем нужный нам кусочек, вычищаем мусор и тэги. У меня команда получилась такой: (используются регулярные выражения с http://ant0.ru/sed1line.html)

UserParameter=ключ,curl --silent http://URL_странички | sed -n '/вырезаем_строки_от_содержащей_вот_это/,/до_содержащей_вот_это/p' | sed -e :a -e 's/<[^>]*>//g;/</N;//ba' | sed 's/^[ \t]*//;s/[ \t]*$//' | sed '/./,/^$/!d'

Перезагружаем заббикс агента для применения конфигурации. На стороне заббикс сервера как обычно создаём шаблон. Добавляем группу данных и элемент в ней. Указываем какое хотим имя элемента данных, тип: Zabbix агент, ключ: ключ, тип информации: текст, интервал обновления: 300 секунд, т.к. сайт обновляется редко.

Затем добавляем два триггера, важность выбираем в зависимости от ценности информации. Один для уведомления с выражением типа: {Название_шаблона:ключ.diff()}=1 Триггер будет срабатывать если последнее (самое новое) значение отличается от предыдущего.

И второй триггер с выражением {Название_шаблона:ключ.nodata(600)}=1 подсказывающий нам что данн по каким-то причинам не были получены.

Затем нужно перейти в раздел Настройки — Действия и склонировать ваше типичное действие для уведомлений в мессенджеры или на email. После чего отредактировать, изменения будут следующими: нужно отключить сообщение о восстановлении, в теле сообщения отправлять {ITEM.LASTVALUE1}. В Условиях указать Значение триггера = ПРОБЛЕМА и Триггер = (тут выбираете свой триггер, естественно не из узла, а из шаблона). В Операциях будет один шаг, с 1 по 1, тип операции: отправить сообщение, кому и каким способом отправлять уже будет настроено, в Условиях добавить Событие подтверждено = Не подтверждено.

Оставить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *