Skip to content

yellow-hammer/prometheus-e1c

Repository files navigation

prometheus-e1c

OpenYellow telegram chat Ask DeepWiki

Расширение для 1С:Предприятие 8: экспорт метрик в формате Prometheus для сбора и мониторинга (Prometheus, Grafana и др.).

Предоставляет HTTP-сервис с эндпоинтом GET /metrics в формате Prometheus Text Format. Логика работы метрик и реестра совместима с библиотекой prometheus и сервисом prometheus-metrics.

Скриншот эндпоинта /metrics

Установка и подключение

  1. Добавьте расширение prometheus-client в информационную базу.
  2. Опубликуйте HTTP-сервис, эндпоинт PrometheusMetricsEndpoint.
  3. Добавьте роль PrometheusОсновнаяРоль пользователю, от имени которого Prometheus подключается за получением метрик.
  4. После публикации веб-сервиса метрики будут доступны по пути, соответствующему настройкам HTTP-сервиса, например GET <АдресПубликации>/hs/metrics.

Использование в конфигурации

Код фасада повторяет API библиотеки prometheus для OneScript и доступен в общем модуле PrometheusFacade. При создании метрики через фасад регистрация в реестре по умолчанию и сохранение выполняются автоматически.

Типичный сценарий:

  1. Создайте метрику через фасад, например: Счетчик = PrometheusFacade.НовыйСчетчик("app_events_total", "Счётчик событий приложения");
  2. В нужных местах кода вызывайте операции: PrometheusFacade.Инкремент(Счетчик); или PrometheusFacade.Наблюдать(Гистограмма, Значение);

При необходимости ручной работы с реестром: Реестр = PrometheusRegistryStorage.ПолучитьРеестр();, PrometheusRegistry.Зарегистрировать(Реестр, Коллектор);, PrometheusRegistryStorage.СохранитьРеестр(Реестр).

Пример проектного хелпера

В составе репозитория есть пример расширения prometheus_ИнтеграцияПроектный с модулем PrometheusПроектТестМетрикХелпер. Он показывает, как для конкретного приложения выделить отдельный хелпер для своих метрик (например, метрики обмена, бизнес-событий, фоновых заданий) поверх общего фасада PrometheusFacade. Рекомендуется для каждого потребителя метрик заводить свой хелпер-модуль в расширении и внутри него инкапсулировать создание и использование нужных метрик.

Для разработчиков

Лицензия

MIT License. Подробности см. в файле LICENSE.

Автор

Ivan Karlo (i.karlo@outlook.com)

При желании, отблагодарить автора можно по ссылке:

About

Расширение 1С:Предприятие 8 для экспорта метрик в формате Prometheus

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Contributors