Найти в Дзене

Zabbix — срок действия SSL сертификата (4)

Ранее я уже делал скрипт, который умеет мониторить SSL сертификаты сайтов и отслеживать срок их действия. Zabbix — срок действия SSL сертификата (2) В Zabbix Agent 2 появился плагин WebCertificate, который позволяет получить все те же данные о сертификатах, для которых я ранее делал шаблон. Настроим проверку сертификата. Обращаться будем к агенту сервера Zabbix 7.4.1. Убедимся что у нас на сервере запущен именно второй агент. Проверить работу плагина просто через zabbix_get: apt install zabbix-get Проверяем: zabbix_get -s 127.0.0.1 -k web.certificate.get[internet-lab.ru,443] Плагин работает, давайте добавим новый хост через web-интерфейс. Имя хоста пусть будет SSL internet-lab.ru. Шаблон: Website certificate by Zabbix agent 2. Мониторить будем через интерфейс Zabbix сервер, указываем Agent 127.0.0.1 порт 10050. Засунем хост в группу SSL. В макросах переопределяем макрос {$CERT.WEBSITE.HOSTNAME}, указываем там имя хоста internet-lab.ru. Если нужно переопределить порт, меняем {$CERT.WEBS
Оглавление

Ранее я уже делал скрипт, который умеет мониторить SSL сертификаты сайтов и отслеживать срок их действия.

Zabbix — срок действия SSL сертификата (2)

В Zabbix Agent 2 появился плагин WebCertificate, который позволяет получить все те же данные о сертификатах, для которых я ранее делал шаблон.

Настроим проверку сертификата. Обращаться будем к агенту сервера Zabbix 7.4.1. Убедимся что у нас на сервере запущен именно второй агент.

-2

Проверить работу плагина просто через zabbix_get:

apt install zabbix-get

Проверяем:

zabbix_get -s 127.0.0.1 -k web.certificate.get[internet-lab.ru,443]
-3

Плагин работает, давайте добавим новый хост через web-интерфейс.

-4

Имя хоста пусть будет SSL internet-lab.ru. Шаблон: Website certificate by Zabbix agent 2. Мониторить будем через интерфейс Zabbix сервер, указываем Agent 127.0.0.1 порт 10050. Засунем хост в группу SSL.

-5

В макросах переопределяем макрос {$CERT.WEBSITE.HOSTNAME}, указываем там имя хоста internet-lab.ru. Если нужно переопределить порт, меняем {$CERT.WEBSITE.PORT}. В макросе {$CERT.EXPIRY.WARN} устанавливается время, за сколько дней до протухания сертификата триггер поднимет панику. По умолчанию стоит 7 дней. Сохраняем.

-6

Данные получаются. Шарманка работает.

Тюнинг

Обычно я не доверяю чужим шаблонам. Давайте посмотрим как он работает, что-нибудь затюним.

-7

В шаблоне имеется элемент данных, который просто считывает данные макросов и формирует из них JSON для низкоуровневого автообнаружения. Что мне здесь не нравится, так это интервал в 1 минуту. Я не собираюсь так часто добавлять или менять хосты, поменяю интервал на 10 минут.

-8

Автообнаружение зависит от элемента данных. Правильно сделали, что изменили интервал.

-9

Смотрим прототипы элементов данных. Те же самые, что и я собирал. Здесь мне не нравится то, что сертификат проверяется каждые 15 минул. Зачем? Вероятно только для того, чтобы алерт пораньше ушёл при исправлении. Меняю проверку на раз в час.

-10

Смотрим прототипы триггеров. Предупреждение выскакивает один раз. Можно добавить макросов и триггеров, чтобы предупреждение срабатывало, к примеру, за месяц, за две недели, за неделю, за день, в тот же день. Мне для личных нужд не обязательно, но в проде я бы добавил.

Заключение

Мы проверили работу шаблона по мониторингу срока действия сертификата в Zabbix Agent 2. Всё работает.

Источник:

Zabbix — срок действия SSL сертификата (4) | internet-lab.ru

Если вам понравилась статья, то ставьте 👍🏻 каналу.
Пишите комментарии, задавайте вопросы, подписывайтесь.