Инструменты пользователя

Инструменты сайта


linux:programs:zabbix:ssl-monitor

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Следующая версия
Предыдущая версия
linux:programs:zabbix:ssl-monitor [2025/06/03 18:20] – создано adminlinux:programs:zabbix:ssl-monitor [2025/06/03 18:46] (текущий) admin
Строка 1: Строка 1:
 ====== Мониторинг срока действия SSL сертификат для сайтов ====== ====== Мониторинг срока действия SSL сертификат для сайтов ======
 +Мониторинг сертификатов можно привязать к любому linux хосту, я использую zabbix-server.\\
 +Для удобства, использую узел только для мониторинга SSL, который является копией zabbix-server'а с единственным шаблоном, SSL.
 +
 +  * Создать файл ssl_discovery.sh по пути /etc/zabbix со следующим содержимым:
 +<code>
 +#!/bin/bash
 +DOMAINS_FILE="/etc/zabbix/ssl_domain.txt"
 +echo "{"
 +echo "  \"data\": ["
 +first=1
 +while IFS= read -r line; do
 +    if [ -n "$line" ]; then
 +        if [ $first -eq 0 ]; then
 +            echo ","
 +        fi
 +        echo "    { \"{#DOMAIN}\": \"$line\" }"
 +        first=0
 +    fi
 +done < "$DOMAINS_FILE"
 +echo "  ]"
 +echo "}"
 +</code>
 +  * Сделать исполняемым.
 +
 +
 +  * Создать файл ssl_domain.txt по пути /etc/zabbix
 +    * Выдать права на файл ssl_domain.txt и ssl_discovery.sh пользователю zabbix
 +
 +  * Добавить в zabbix_agentd.conf строки:
 +<code>
 +UserParameter=ssl.discovery,/etc/zabbix/ssl_discovery.sh
 +UserParameter=site.time[*],openssl s_client -servername $1 -connect $1:443 2>/dev/null | openssl x509 -noout -dates 2>/dev/null | grep notAfter | cut -d'=' -f2 | { read gmt ; echo $(( ($(date -d "$gmt" +%s) - $(date +%s)) / 86400 )) ; }
 +</code>
 +
 +  * Перезапустить zabbix-agentd
 +
 +  * Создать шаблон "SSL" 
 +    * Добавить Правило обнаружения:
 +  - Имя **Estimate-time SSL**
 +  - Ключ **ssl.discovery**
 +  - Интервал обновления 1d
 +  - Остальное, на своё усмотрение.
 +
 +    * Создать прототип элемента данных
 +  - Имя **{#DOMAIN} SSL Estimate**
 +  - Ключ **site.time[{#DOMAIN}]**
 +  - Интервал обновления 1d
 +  - Остальное, на своё усмотрение.
linux/programs/zabbix/ssl-monitor.1748974843.txt.gz · Последнее изменение: 2025/06/03 18:20 — admin