script_exporter
Репозиторий: script_exporter
Документация: Доступна в репозитории (по использованию экспортера и дополнительные примеры кастомных скриптов)
Экспортер представляет собой бинарный файл, который может быть запущен как процесс или как сервис.
Запуск через агент мониторинга
Для запуска экспортера через агент необходимо:
Скопировать бинарник экспортера в папку
exporters
(папка задается полемexporters.directory
в конфигурации агента)Скопировать конфигурационный файл в папку, указанную в аргументах запуска экспортера
Скопировать файлы кастомных скриптов в папку, указанную в конфигурации экспортера (успешно протестированы shell-скрипты и Go-бинарники)
Описание работы
Экспортер представляет собой стандартный Prometheus экспортер с HTTP-сервером для отображения метрик. Он содержит:
Эндпойнт
/metrics
со стандартными метриками (go, proc, promhttp)Отдельные эндпойнты для каждого кастомного скрипта
Основные метрики экспортера
Метрика (пример значения) |
Описание |
---|---|
|
Длительность выполнения скриптов по квантилям |
|
Количество запусков скрипта |
|
Общее количество запусков скрипта |
Метрики выполнения скриптов
Эндпойнты запуска скриптов имеют формат: /probe?script=имя_скрипта&параметры
, где имя_скрипта
и параметры
, например, ping
и prefix=test¶ms=target&target=ya.ru
, соответственно.
Метрика (пример значения) |
Описание |
---|---|
|
Статус выполнения скрипта (1/0) |
|
Время выполнения конкретного запуска |
|
Код завершения скрипта |
Настройка запуска через агент мониторинга
Раздел exporters
exporters:
- name: script-exporter
is_custom: true
args: "--config.file=/etc/astra-monitoring/script-exporter.yml"
name
- должно совпадать с именем бинарного файла (например,astramon-script_exporter-custom
)is_custom
- указывает, что это сторонний экспортер, но агент может управлять им (запускать, делать health check, останавливать и сообщать статус работы экспортера в Config API)args
- путь к конфигурационному файлу
Раздел metrics
metrics:
- name: script_exporter_1
component: script-exporter1
target: 127.0.0.1:9469
metrics_path: /probe?script=show_metrics
scrape_interval: 30s
name
- уникальное имя (требованиеvmagent
)component
- лейбл для группировки метрикtarget
- адрес и порт экспортераmetrics_path
- эндпойнт для сбора метрикscrape_interval
- интервал опроса (если отличается от общего)
Пример использования
Кастомный скрипт
#!/bin/sh
random_number=$((1 + RANDOM % 100))
echo "# HELP test_output_for_custom_metrics"
echo "# TYPE test_output_for_custom_metrics gauge"
echo "test_output_for_custom_metrics{} $random_number"
Последовательность действий
Сохранить скрипт как
show_metrics.sh
в папкеexporters
Дать права на выполнение:
chmod +x show_metrics.sh
Добавить в конфигурацию экспортера:
scripts:
- name: show_metrics
command: /etc/astra-monitoring/exporters/show_metrics.sh
Доступность метрик
После запуска метрики будут доступны по адресу:
http://localhost:9469/probe?script=show_metrics
Особенности запуска на Windows
Рекомендуется запускать экспортер как службу Windows
Поддерживаются только исполняемые файлы (.exe)
Скрипты (bat, vbs, powershell) не поддерживаются
Настройка сбора метрик идентична Linux-версии