prometheus-exporter/README.md

4.8 KiB
Raw Blame History

Prometheus exporter

Программный компонент проекта "Буревестник ВКС", предоставляющий функционал "кастомного" Prometheus экспортера для обработки метрических данных

Функциональные особенности

  1. приемка метрических данных с "Интеграционного модуля" в особом формате
  2. приведение принятых метрических данных к виду Prometheus-метрик
  3. хранение и актуализация метрических данных формата Prometheus-метрик в локальном Registry
  4. предоставления веб-интерфейса (аналогичного интерфейсу стандартного Prometheus экспортера) для получения

Прикладные ограничения локальной сборки пакета

Для локальной сборки Rust-пакета prometheus-exporter необходимы:

  1. cargo (>=1.85.0)
  2. rustc (>=1.85.0)
  3. rustup (>=1.28.1) для выбора target ОС и архитектуры сборки

Руководство по сборке пакета

  1. На первом этапе следует удостовериться в отсутствии багов и неточностей в работе модуля предвариетльно запустив юнит-тесты командой:
cargo test 

Пакетный менеджер cargo автоматически соберет проект в необходимой для тестирования конфигурации и запустит тесты, в терминале будут отображены результаты

ВАЖНО! При возникновении какой-либо ошибки в процессе тестирования убедительная просьба - оставить соответствующий Issue в данном репозитории и не использовать пакет до устранения проблемы

  1. Сама сборка 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 или ближайшего аналога

Способы

  1. Попытка получить данные
curl -X GET http://localhost:9100/metrics
  1. Попытка загрузить тестовую метрику

Вид тестовой метрики по формату который принимает пакет 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