ssl_exporter
Репозиторий: ribbybibby/ssl_exporter
Экспортер представляет собой бинарный файл, который может быть запущен как процесс или как сервис.
Запуск через агент мониторинга
Для запуска экспортера через агент необходимо:
Скопировать бинарник экспортера в папку
exporters
(указывается в конфигурации агента в полеexporters.directory
)Скопировать конфигурационный файл в папку, указанную в аргументах запуска экспортера
Описание работы
Экспортер — это стандартный Prometheus-экспортер с HTTP-сервером для отображения метрик. Он включает:
Эндпойнт
/metrics
для стандартных метрик (go, proc, promhttp) и характеристик работы SSL экспортераОтдельные эндпойнты для каждого удаленного хоста, например:
/probe?module=https&target=mail.ru
Примеры метрик
Название метрики (пример метрики) |
Описание |
---|---|
|
Информация об экспортере |
|
Дата окончания действия сертификата |
|
Статус OCSP проверки |
|
Статус probe |
|
Дата окончания действия сертификатов в цепочке |
Настройка запуска через агент мониторинга
Раздел exporters
exporters:
- name: ssl-exporter
is_custom: true
args: "--config.file=./exporters/ssl-exporter.yml"
health_address: 127.0.0.1:9219/metrics
name
- должно совпадать с именем бинарного файла (например,astramon-ssl-exporter-custom
)is_custom
- указывает, что это сторонний экспортер, но агент может управлять им (запускать, делать health check, останавливать и сообщать статус работы экспортера в Config API)args
- путь к конфигурационному файлу экспортера
Раздел metrics
custom_targets:
- name: ssl_exporter1
component: mail.ru
target: 127.0.0.1:9219
metrics_path: /probe?target=mail.ru:443
labels:
ssl_type: web
- name: ssl_exporter2
component: local_pem_file
target: 127.0.0.1:9219
metrics_path: /probe?module=file&target=/etc/ssl/*.pem
labels:
ssl_type: file
name
- уникальное имя (требованиеvmagent
)component
- лейбл для различения метрик по таргетамtarget
- адрес и порт экспортераmetrics_path
- эндпойнт для сбора метрикssl_type
- разделение проверок сертификатов (например,web
илиfile
)
Настройка конфигурационного файла экспортера
Пример конфигурационного файла:
modules:
https:
prober: https
https_insecure:
prober: https
tls_config:
insecure_skip_verify: true
tcp:
prober: tcp
tcp_client_auth:
prober: tcp
tls_config:
ca_file: /home/agladkov/temp/agent/GlobalSignRSA2018.crt
tcp_client_auth_error:
prober: tcp
tls_config:
ca_file: /home/agladkov/temp/agent/ca.crt
file:
prober: file
file_ca_certificates:
prober: file
target: /home/agladkov/temp/agent/ca.crt
Ключевые моменты:
Каждый модуль содержит настройки для запроса при использовании его имени в probe (например,
/probe?module=https_insecure&target=test.local.ru
)https_insecure
- проверяет самоподписные сертификаты, отключая проверку центром сертификацииtcp_client_auth
- проверяет сертификат на подпись конкретным центром сертификации. Если он не совпадет, получимssl_probe_success 0
Все используемые типы probe должны быть явно указаны в конфигурации