readme update merging #10
|
|
@ -1 +1,3 @@
|
|||
# port binding for prometheus-exporter
|
||||
# default value = 9100
|
||||
PROMETHEUS_EXPORTER_PORT = 9100
|
||||
114
README.md
114
README.md
|
|
@ -1,3 +1,115 @@
|
|||
# Prometheus exporter
|
||||
|
||||
to handle updates of ZVKS metrics in local Registry and to share with Prometheus later
|
||||
Программный компонент проекта "Буревестник ВКС", предоставляющий функционал
|
||||
"кастомного" `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` в данном репозитории и не использовать пакет до устранения проблемы
|
||||
|
||||
2) Сама сборка Rust-пакета `prometheus-exporter` осуществляется введением команды
|
||||
|
||||
* для сборки `Debug`-версии проекта
|
||||
|
||||
``` bash
|
||||
cargo build
|
||||
```
|
||||
|
||||
* для сборки `Release`-версии проекта
|
||||
``` bash
|
||||
cargo build --release
|
||||
```
|
||||
|
||||
### Запуск проекта
|
||||
|
||||
Для запуска проекта необходимо воспользоваться одной из команд:
|
||||
|
||||
* для запуска `Debug`-версии проекта
|
||||
|
||||
``` bash
|
||||
cargo run
|
||||
```
|
||||
|
||||
* для запуска `Release`-версии проекта
|
||||
``` bash
|
||||
cargo run --release
|
||||
```
|
||||
|
||||
> Если необходимо работать с бинарными файлами, их можно найти по пути `<путь_до_пакета/target/<debug или release>/таргет_сборки/>`
|
||||
|
||||
### Преднастройка запуска
|
||||
|
||||
Преднастройка пакета `prometheus-exporter` осуществляется внутри `.env` файла по примеру, описанному в файле `.env.example`
|
||||
|
||||
``` toml
|
||||
|
||||
# port binding for prometheus-exporter
|
||||
# default value = 9100
|
||||
PROMETHEUS_EXPORTER_PORT = 9100
|
||||
|
||||
```
|
||||
|
||||
### Проверка работоспособности
|
||||
|
||||
С точки зрения специфики программного модуля `Prometehus exporter` существует **2 способа** проверки работоспособности
|
||||
|
||||
#### Прикладные требования для проверки работоспособности `prometheus-exporter`
|
||||
|
||||
* наличие утилиты `curl` или ближайшего аналога
|
||||
|
||||
#### Способы
|
||||
|
||||
1) Попытка получить данные
|
||||
|
||||
``` bash
|
||||
curl -X GET http://localhost:9100/metrics
|
||||
```
|
||||
|
||||
2) Попытка загрузить тестовую метрику
|
||||
|
||||
Вид тестовой метрики по формату который принимает пакет `prometheus-exporter`:
|
||||
|
||||
``` json
|
||||
{
|
||||
"service_name" : "test",
|
||||
"endpoint_name" : "test",
|
||||
"metrics" : [{
|
||||
"id" : "test",
|
||||
"type" : "",
|
||||
"addr" : "test",
|
||||
"value" : 12,
|
||||
"description" : "test help",
|
||||
}]
|
||||
}
|
||||
```
|
||||
|
||||
Команда загрузки тестовой метрики в `prometheus-exporter`:
|
||||
|
||||
``` bash
|
||||
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
|
||||
```
|
||||
Loading…
Reference in New Issue