Как стать автором
Обновить

Будь всегда в курсе: мониторим сертификаты с помощью Prometheus и Telegram

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров12K
Всего голосов 5: ↑4 и ↓1+3
Комментарии13

Комментарии 13

на мой взгляд в заголовке ошибка: "Grafana: искусство мониторинга сертификатов" -> "Prometheus: искусство мониторинга сертификатов", т.к. МОНИТОРИНГ будет работать и без Grafana

а еще я бы использовал https://github.com/prometheus/blackbox_exporter/blob/master/CONFIGURATION.md#tls_config в качестве основы (более того, уже был материал на эту тему - https://habr.com/ru/companies/hostkey/articles/729898/)

Здравствуйте, согласен, с заголовком промахнулся, уже поправил. Спасибо.

А зачем мониторить то, что должно автоматически обновляться, например тем же certbot?
А вот отказ/просрочка обновления сертификата мониторить интересно.

Ну так с тем же certbot / acme.sh что-то пойти не так может как минимум на трёх этапах:

  • не отработал сам certbot / acme.sh (используемый по умолчанию последним zerossl, скажем, в один прекрасный момент прекратил выдачу сертификатов для доменов ru);

  • не отработало преобразование сертификатов в форматы, необходимые разным сервисам (кому-то Java keystore подавай, кому-то что-то ещё);

  • не отработало копирование сертификатов с сервера, на котором мы обновляем сертификаты, на серверы, где они используются (Ansible playbook или что там для этого используется).

У меня это всё автоматизировано через тот самый Ansible, скажем, но всегда полезно заранее узнать, если что-то не так.

Мониторить нужно все работа чего для вас важна. Непротухшие сертификаты точно важны. Мало ли что пошло не так. Всякое бывает в этом мире.

Капец, что только не наворотят, лишь бы скрипты на баше не писать. (шутка).

У меня несколько источников. Папка с сертификатами, секреты в опенщифте, сертификаты в роутах, наконец урл-ы. Секреты могут лежать в p12 или jks формате, с разными паролями.

Не знаю, зачем для мониторинга поднимать пачку компосов и сервисов. Скрипт на баше, который пробегает по всему, генерирует удобный html отчет, параллельно может скинуть статистику в инфлюкс для графаны, и отправить алерт на емайл.

Для тех, у кого автоматом цертбот - есть конторы, где сертификаты выдает корпоративный авторити. К нему может существовать какой-нить API, а может наоборот существовать только бюрократизированный подход с ручным аппрувалом. Поэтому мониторинг не равен автозамене, и может быть важен.

У меня все TLS сертификаты от Let's Encrypt и алерты о том, что скоро один из них истечет приходят на почту которую я указал при создании.

Есть также сертификаты, созданные в Yandex Cloud, туда же можно добавить свои собственные. И через систему мониторинга облака накинуть алерт. Единственный минус - алерт будет приходить либо как push уведомление, либо как смс.

Только если сертификат успешно выпущен, но не встал или криво встал на сервер (а этот процесс иногда довольно замысловат, если это не просто nginx на публично доступном адресе, а какая-нибудь java, которой keystore подавай, в докере) - такой мониторинг Вам об этом не расскажет.

Непонятно, зачем нужен отдельный питон-сервис, если алертменеджер сам умеет в телегу и в тексте даже есть прямая ссылка на <telegram_config>

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

Если уж Grafan'у использовать, то лучше её внутренний Alertmanager, как по мне. Интерфейс почеловечнее, да и можно к дашборду прицепить проще

Да, удобнее. И алерты прямо из панелей создавать удобно, PromQL запрос сразу переносится и ссылка на дашборд прикрепляется. У меня у самого именно так.

Но вот если масштабироваться и Prometheus'ов будет уже несколько, а Grafana на них одна - то использование её встроенного алертинга снижает надёжность такой системы.

Я бы для таких джоб не использовал глобальный scrape_interval, один раз в полчаса-час вполне достаточно.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории