Образовательный проект «SnakeProject» Михаила Козлова

Навигация

⇒ FreeBSD and Nix ⇐

CISCO

Voice(Asterisk\Cisco)

Microsoft

Powershell

Python

SQL\T-SQL

Общая

WEB Разработка

ORACLE SQL \ JAVA

Мото

Стрельба, пневматика, оружие

Саморазвитие и психология


Мониторинг окончания срока действия сертификата HTTPS с помощью Prometheus


Мониторинг окончания срока действия сертификата HTTPS с помощью Prometheus

Инфраструктура с конечными точками HTTPS заставляет регулярно проверять срок действия сертификатов TLS

Будем использовать экспортер Blackbox Exporter для Prometheus

 

Настройка Blackbox Exporter

Давайте скачаем и запустим Blackbox Exporter, по умолчанию порт 9115:
wget https://github.com/prometheus/blackbox_exporter/releases/download/v0.24.0/blackbox_exporter-0.24.0.linux-amd64.tar.gz
tar xvfz blackbox_exporter-0.24.0.linux-amd64.tar.gz
cd blackbox_exporter-0.24.0.linux-amd64
./blackbox_exporter

Файл конфигурации blackbox.yml по умолчанию уже включает конфигурацию модуля http_2xx
Это позволяет выполнять запросы HTTP(S) через Blackbox Exporter из Prometheus и получать различные метрики Prometheus

Перейдите по адресу http://localhost:9115/probe?module=http_2xx&target=https://test.ru

Это ручной запрос для необходимого домена, выше пример test.ru:
# HELP probe_dns_lookup_time_seconds Returns the time taken for probe dns lookup in seconds
# TYPE probe_dns_lookup_time_seconds gauge
probe_dns_lookup_time_seconds 0.002134022
# HELP probe_duration_seconds Returns how long the probe took to complete in seconds
# TYPE probe_duration_seconds gauge
probe_duration_seconds 0.253737479
# [...abridged...]
# HELP probe_ssl_earliest_cert_expiry Returns last SSL chain expiry in unixtime
# TYPE probe_ssl_earliest_cert_expiry gauge
probe_ssl_earliest_cert_expiry 1.647710708e+09
# [...abridged...]

Конечная точка урла метрик экспортера - /probe

Возвращаемые метрики включают метрику probe_ssl_earliest_cert_expiry
Значение этой метрики представляет собой временную метку Unix, которая сообщает нам, когда срок действия сертификата TLS истекает
Если временная метка находится в будущем, то все ок, в противном случае срок действия сертификата уже истек

 

Настройка Prometheus для проверки конечных точек через Blackbox Exporter

Давайте скачаем и распакуем Prometheus:
wget https://github.com/prometheus/prometheus/releases/download/v2.49.1/prometheus-2.49.1.linux-amd64.tar.gz
tar xvfz prometheus-2.49.1.linux-amd64.tar.gz
cd prometheus-2.49.1.linux-amd64

Пример с мониторингом пару урлов в prometheus.yml:

Выше мы используем набор правил перемаркировки, чтоб прочесть каждую цель через Blackbox Exporter
При этом маркируем полученные метрики URL-адресом проверенной цели вместо собственного адреса Blackbox Exporter

Файл tls-cert-rules.yml с правилом оповещения об истечении срока действия:

Заупустите прометея:
./prometheus

Проверьте алерт:
http://localhost:9090/alerts 

Вы должны увидеть оповещение под названием TLSCertificateExpiring, которое в данный момент неактивно
Если вы указали Prometheus на свою конечную точку, у которой сертификат скоро истечет, оповещение будет активным
Можете вручную запросить метрику probe_ssl_earliest_cert_expiry, чтоб увидеть временную метку срока сертификата

А чтобы проверить, сколько дней осталось до истечения срока действия сертификата, можно использовать функцию time()
Чтоб получить текущее время Unix в секундах и вычесть из него метрику probe_ssl_earliest_cert_expiry:
(probe_ssl_earliest_cert_expiry - time()) / 24 / 3600

 

Оригинал: https://promlabs.com/blog/2024/02/06/monitoring-tls-endpoint-certificate-expiration-with-prometheus/

 


Комментарии пользователей

Эту новость ещё не комментировалиНаписать комментарий
Анонимам нельзя оставоять комментарии, зарегистрируйтесь!

Контакты Группа ВК Сборник материалов по Cisco, Asterisk, Windows Server, Python и Django, SQL и T-SQL, FreeBSD и LinuxКод обмена баннерами Видео к IT статьям на YoutubeВидео на другие темы Смотреть
Мои друзья: Советы, помощь, инструменты для сис.админа, статическая и динамическая маршрутизация, FreeBSD

© Snakeproject.ru создан в 2013 году.
При копировании материала с сайта - оставьте ссылку.
Весь материал на сайте носит ознакомительный характер,
за его использование другими людьми, автор ответственности не несет.

Рейтинг@Mail.ru
Рейтинг@Mail.ru Яндекс.Метрика





Поддержать автора и проект