https://github.com/yellow-hammer/prometheus-e1c
Расширение 1С:Предприятие 8 для экспорта метрик в формате Prometheus
https://github.com/yellow-hammer/prometheus-e1c
1c-enterprise prometheus-client
Last synced: 2 months ago
JSON representation
Расширение 1С:Предприятие 8 для экспорта метрик в формате Prometheus
- Host: GitHub
- URL: https://github.com/yellow-hammer/prometheus-e1c
- Owner: yellow-hammer
- License: mit
- Created: 2026-03-14T20:42:23.000Z (3 months ago)
- Default Branch: main
- Last Pushed: 2026-03-24T12:43:24.000Z (3 months ago)
- Last Synced: 2026-03-25T16:36:45.602Z (3 months ago)
- Topics: 1c-enterprise, prometheus-client
- Language: 1C Enterprise
- Homepage:
- Size: 107 KB
- Stars: 8
- Watchers: 0
- Forks: 1
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
# prometheus-e1c
[](https://openyellow.org/grid?filter=top&repo=1181941167)
[](https://t.me/wonder_yellow)
[](https://deepwiki.com/yellow-hammer/prometheus-e1c)
Расширение для 1С:Предприятие 8: экспорт метрик в формате Prometheus для сбора и мониторинга (Prometheus, Grafana и др.).
Предоставляет HTTP-сервис с эндпоинтом **GET /metrics** в формате
[Prometheus Text Format](https://prometheus.io/docs/instrumentation/exposition_formats/). Логика работы метрик и
реестра совместима с библиотекой [prometheus](https://github.com/yellow-hammer/prometheus) и сервисом
[prometheus-metrics](https://github.com/yellow-hammer/prometheus-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_project_example` с модулем
`PrometheusПроект_ТестМетрикХелпер`. Он показывает, как для конкретного приложения выделить отдельный хелпер для своих
метрик (обмен, бизнес-события, фоновые задания) поверх общего фасада `PrometheusFacade`.
Рекомендуется для каждого потребителя метрик заводить свой хелпер-модуль в расширении и внутри него инкапсулировать создание и использование нужных метрик.
## Для разработчиков
- [CONTRIBUTING.md](CONTRIBUTING.md) — как внести вклад.
- [doc/release.md](doc/release.md) — как выпустить релиз.
## Лицензия
MIT License. Подробности см. в файле [LICENSE](LICENSE).
## Автор
Ivan Karlo ()
При желании, отблагодарить автора можно по ссылке:
- [Boosty](https://boosty.to/1carlo/donate)
- [Чаевые](https://pay.cloudtips.ru/p/d752cb43)