4.8 KiB
Prometheus exporter
Программный компонент проекта "Буревестник ВКС", предоставляющий функционал
"кастомного" Prometheus экспортера для обработки метрических данных
Функциональные особенности
- приемка метрических данных с "Интеграционного модуля" в особом формате
- приведение принятых метрических данных к виду
Prometheus-метрик - хранение и актуализация метрических данных формата
Prometheus-метрик в локальномRegistry - предоставления веб-интерфейса (аналогичного интерфейсу стандартного
Prometheusэкспортера) для получения
Прикладные ограничения локальной сборки пакета
Для локальной сборки Rust-пакета prometheus-exporter необходимы:
cargo(>=1.85.0)rustc(>=1.85.0)rustup(>=1.28.1) для выбораtargetОС и архитектуры сборки
Руководство по сборке пакета
- На первом этапе следует удостовериться в отсутствии багов и неточностей в работе модуля предвариетльно запустив юнит-тесты командой:
cargo test
Пакетный менеджер
cargoавтоматически соберет проект в необходимой для тестирования конфигурации и запустит тесты, в терминале будут отображены результатыВАЖНО! При возникновении какой-либо ошибки в процессе тестирования убедительная просьба - оставить соответствующий
Issueв данном репозитории и не использовать пакет до устранения проблемы
- Сама сборка Rust-пакета
prometheus-exporterосуществляется введением команды
- для сборки
Debug-версии проекта
cargo build
- для сборки
Release-версии проекта
cargo build --release
Запуск проекта
Для запуска проекта необходимо воспользоваться одной из команд:
- для запуска
Debug-версии проекта
cargo run
- для запуска
Release-версии проекта
cargo run --release
Если необходимо работать с бинарными файлами, их можно найти по пути
<путь_до_пакета/target/<debug или release>/таргет_сборки/>
Преднастройка запуска
Преднастройка пакета prometheus-exporter осуществляется внутри .env файла по примеру, описанному в файле .env.example
# port binding for prometheus-exporter
# default value = 9100
PROMETHEUS_EXPORTER_PORT = 9100
Проверка работоспособности
С точки зрения специфики программного модуля Prometehus exporter существует 2 способа проверки работоспособности
Прикладные требования для проверки работоспособности prometheus-exporter
- наличие утилиты
curlили ближайшего аналога
Способы
- Попытка получить данные
curl -X GET http://localhost:9100/metrics
- Попытка загрузить тестовую метрику
Вид тестовой метрики по формату который принимает пакет prometheus-exporter:
{
"service_name" : "test",
"endpoint_name" : "test",
"metrics" : [{
"id" : "test",
"type" : "",
"addr" : "test",
"value" : 12,
"description" : "test help",
}]
}
Команда загрузки тестовой метрики в prometheus-exporter:
curl -X POST -H 'Content-Type: application/json' 'http://localhost:9100/update' -d '{ "service_name" : "test", "endpoint_name" : "test", "metrics" : [{ "id" : "test", "type" : "", "addr" : "test", "value" : 12, "description" : "test help" }]}'
Ответом от сервера если метрика загрузится будет:
Ok