Мониторинг окончания срока действия ssl-сертификата в zabbix

zabbix

Возникла острая необходимость мониторить дату окончания сертификата у нескольких доменов, система мониторинга поднята на zabbix. Для мониторинга даты окончания сертификата, будем использовать UserParameter в конфиге zabbix, но для начала создадим сам скрипт проверки.
Создаем директорию:

mkdir /etc/zabbix/scripts

сам скрипт:

vim testcerts.sh

с содержимым:

#!/bin/bash
end_date=`echo | openssl s_client -connect $1:443 2>/dev/null | openssl x509 -noout -enddate`
end=$(cut -d= -f2- <<<"$end_date")
end_date=`date -d "$end" '+%s'`
curr_date=`date '+%s'`
diff=$(( $end_date - $curr_date ))
let "days = $diff / 86400"
echo $days

выставляем права на директорию и скрипт:

chmod +x testcerts.sh 
chown -R zabbix:zabbix zabbix/scripts/

проверяем:

./testcerts.sh vk.com
1074

если получили ошибку, возможно, у вас не установлен openssl, хотя он должен стоять искаропки.
Далее в конфиг заббикса добавляем

UserParameter=certdate[*],/etc/zabbix/scripts/testcerts.sh $1

Передергиваем заббикс агента:

systemctl restart zabbix-agent

Выкачиваем пример шаблона по ссылке и импортируем его в заббикс, на основании данного шаблона можно писать свои:
url: http://files.it-recipe.ru/Template_certs.xml
В шаблоне два триггера, первый сработает, если до окончания срока осталось 6 дней, второй в день окончания.

Добавить комментарий

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