# onec prometheus для 1С

> Инструмент для мониторинга 1С с использованием Prometheus, Grafana и Docker. Отправка метрик из 1С в Prometheus.

- GitHub: https://github.com/kropachev/onec-prometheus
- Gitsell page: https://gitsell.ru/kropachev/onec-prometheus
- Visibility: public/free
- GitHub stars: 14
- Gitsell views: 100
- Gitsell downloads: 3

## 1C Configurations

Not specified.

## Pricing

Free or price is not specified.

## README

# onec-prometheus

## Цель
Создание инструмента для простого запуска непрерывного мониторинга 1С

## Общие положения
* в разработке 
* пожелания привествуются

## Ограничения
Мониторинг осуществляется с использванием дополнительных сервисов
* Prometheus - для хранения метрик
* Prometheus Pushgateway - для приема метрик отправляемых из 1С
* Grafana - для визуализации метрик

В проекте присутсвует файл docker-compose.yaml, с помощью которого можно запустить необходимые сервисы в контейнерах Docker.

Если у вас уже используются эти сервисы для мониторинга и нужно только подклюить 1с - сразу переходите к 1С в разделе Порядок установки.

Если уже есть Docker, то переходите к разделу Контейнеры с сервисами.

Если нет ничего кроме 1с, то придется пройти все шаги установки

## Описание
Расширение для 1с может отправлять метрики типа Histogram, Gauge, Counter.
Для примера используются метрики из регистра сведений ЗамерыВремени.

## Порядок установки

### Docker
Простите, но тут придется самим

[Для Windows](https://docs.docker.com/desktop/install/windows-install/)

[Для Linux](https://docs.docker.com/desktop/install/linux-install/)

Когда выйдет документация **DevOps для самых маленьких**, здесь будет добавлена ссылка. Там будет пример установки Ubuntu и Docker на виртуальную машину.

### Контейнеры с сервисами

В файле docker-compose установлен срок хранения метрик 30 дней, при необходимости измените значение (storage.tsdb.retention=30d)

Укажите правильный путь к сервису pushgateway (targets в файле prometheus\prometheus.yml).

Перейти в папку с проектом и выполнить команду
```
docker-compose up -d
```

Будут запущены контейнеры
* Prometheus - http://localhost:9090
* Prometheus Pushgateway - http://localhost:9091
* Grafana - http://localhost:3000

### 1С
* Включите Оценку производительности: НСИ и администрирование - Обслуживание - Оценка производительности.
* Скачайте расширение и подключите в своей базе, в режиме Предприятия появится раздел Prometheus.
* Сбор и отправка метрик настраивается в справочнике Настройка выгрузки.
* Создайте новый элемент справочника и в меню Еще выберите команду Заполнить пример. Элемент справочника будет заполнен в соответствии с выбранным типом метрики (напомню, доступны Histogram, Gauge, Counter).
* Задайте расписание для отправки (поставьте раз в 60 секунд).

### Дашборды в Grafana
Для примера можно использовать присутствующий в проекте файл с примером - grafana-dashboard-example.json.
* Откройте интерфейс Grafana по адресу http://localhost:3000
* Добавьте ресурс: Configuration - Data sources. Выберите Prometheus, адрес должен совпадать с адресом контейнера (http://localhost:9090).
* Загрузите пример дашборда: Dashboards - Import - Upload JSON file. И выберите файл GrafanaExample.json
* В Dashboard Settings проверьте раздел Variables, возможно потребуется перевыбрать Data source.