Расширение для 1С:Предприятие 8: экспорт метрик в формате Prometheus для сбора и мониторинга (Prometheus, Grafana и др.).
Предоставляет HTTP-сервис с эндпоинтом GET /metrics в формате Prometheus Text Format. Логика работы метрик и реестра совместима с библиотекой prometheus и сервисом prometheus-metrics.
- Добавьте расширение
prometheus-clientв информационную базу. - Опубликуйте HTTP-сервис, эндпоинт
PrometheusMetricsEndpoint. - Добавьте роль
PrometheusОсновнаяРольпользователю, от имени которого Prometheus подключается за получением метрик. - После публикации веб-сервиса метрики будут доступны по пути, соответствующему настройкам HTTP-сервиса, например
GET <АдресПубликации>/hs/metrics.
Код фасада повторяет API библиотеки prometheus для OneScript и доступен в общем модуле PrometheusFacade.
При создании метрики через фасад регистрация в реестре по умолчанию и сохранение выполняются автоматически.
Типичный сценарий:
- Создайте метрику через фасад, например:
Счетчик = PrometheusFacade.НовыйСчетчик("app_events_total", "Счётчик событий приложения"); - В нужных местах кода вызывайте операции:
PrometheusFacade.Инкремент(Счетчик);илиPrometheusFacade.Наблюдать(Гистограмма, Значение);
При необходимости ручной работы с реестром: Реестр = PrometheusRegistryStorage.ПолучитьРеестр();,
PrometheusRegistry.Зарегистрировать(Реестр, Коллектор);, PrometheusRegistryStorage.СохранитьРеестр(Реестр).
В составе репозитория есть пример расширения prometheus_ИнтеграцияПроектный с модулем PrometheusПроектТестМетрикХелпер. Он показывает, как для конкретного приложения выделить отдельный хелпер для своих метрик (например, метрики обмена, бизнес-событий, фоновых заданий) поверх общего фасада PrometheusFacade.
Рекомендуется для каждого потребителя метрик заводить свой хелпер-модуль в расширении и внутри него инкапсулировать создание и использование нужных метрик.
- CONTRIBUTING.md — как внести вклад.
- doc/release.md — как выпустить релиз.
MIT License. Подробности см. в файле LICENSE.
Ivan Karlo (i.karlo@outlook.com)
При желании, отблагодарить автора можно по ссылке:
