Для всех, кто хостит свои сайты, актуальна проблема продления доменного имени - если пропустить срок истечения регистрации, то можно на ровном месте получить кучу проблем. Для своевременного продления регистрации нужно отслеживать срок истечения.
Для небольшого количества доменов, возможно, будет достаточно завести напоминае в календаре, но если доменов много, то желательно автоматизировать этот процесс.
При использовании prometheus стека для мониторинга вашей инфраструктуры нужно проделать 3 стандартных шага:
- Собрать метрики о времени истечения домена;
- Создать визуализацию собранных метрик в grafana;
- Создать алерты о приближении времени истечания домена.
В случае использовании kubernetes и установленного prometheus-stack chart’a задача значительно упрощается. Можно воспользоваться helm chart’ом domain-exporter, который из коробки предоставит всё необходимое. Установить чарт просто:
- Нужно добавить helm репозиторий локально
helm repo add zifter https://zifter.github.io/helm-charts/
- Установить чарт с интересующими доменами:
- Через –set
helm install domain-exporter zifter/domain-exporter --namespace monitoring --set "domains={aliexpress.ru,amazon.com,amazon.pl,censor.net,domain-is-not-found.net}"
- Через values.yaml файл:
helm install domain-exporter zifter/domain-exporter --namespace monitoring -f values-prod.yaml
Где values-prod.yaml:
domains: - google.com - habr.ru - github.com - vaikutis.lt - amazon.pl - amazon.com - amazon.de - ok.ru - flibusta.site - domain-failed.com - viva64.com - ted.com
- Через –set
В результате получаете:
- метрики:
# HELP domain_expiry_days time in days until the domain expires # TYPE domain_expiry_days gauge domain_expiry_days{domain="amazon.com"} 1144 domain_expiry_days{domain="amazon.de"} -1 domain_expiry_days{domain="amazon.pl"} 22 domain_expiry_days{domain="domain-failed.com"} -1 domain_expiry_days{domain="fabiensanglard.net"} 240 domain_expiry_days{domain="flibusta.site"} 50 domain_expiry_days{domain="github.com"} 391 domain_expiry_days{domain="google.com"} 2558 domain_expiry_days{domain="habr.ru"} 217 domain_expiry_days{domain="microsoft.com"} 232 domain_expiry_days{domain="ok.ru"} 79 domain_expiry_days{domain="ted.com"} 55 domain_expiry_days{domain="vaikutis.lt"} 63 domain_expiry_days{domain="viva64.com"} 57 # HELP domain_probe_success wether the probe was successful or not # TYPE domain_probe_success gauge domain_probe_success{domain="amazon.com"} 1 domain_probe_success{domain="amazon.de"} 0 domain_probe_success{domain="amazon.pl"} 1 domain_probe_success{domain="domain-failed.com"} 0 domain_probe_success{domain="fabiensanglard.net"} 1 domain_probe_success{domain="flibusta.site"} 1 domain_probe_success{domain="github.com"} 1 domain_probe_success{domain="google.com"} 1 domain_probe_success{domain="habr.ru"} 1 domain_probe_success{domain="microsoft.com"} 1 domain_probe_success{domain="ok.ru"} 1 domain_probe_success{domain="ted.com"} 1 domain_probe_success{domain="vaikutis.lt"} 1 domain_probe_success{domain="viva64.com"} 1 ...
-
визуализацию:
- алерты
Заключение
Отслеживать время истечения домена критически важно. При использовании kubernetes, prometheus stack и чарта domain-exporter это сделать максимально просто.