prometheus | ||
src/cfe/prometheus | ||
.gitignore | ||
docker-compose.yaml | ||
grafana-dashboard-example.json | ||
README.md |
onec-prometheus
Цель
Создание инструмента для простого запуска непрерывного мониторинга 1С
Общие положения
- в разработке
- пожелания привествуются
Ограничения
Мониторинг осуществляется с использванием дополнительных сервисов
- Prometheus - для хранения метрик
- Prometheus Pushgateway - для приема метрик отправляемых из 1С
- Grafana - для визуализации метрик
В проекте присутсвует файл docker-compose.yaml, с помощью которого можно запустить необходимые сервисы в контейнерах Docker.
Если у вас уже используются эти сервисы для мониторинга и нужно только подклюить 1с - сразу переходите к 1С в разделе Порядок установки.
Если уже есть Docker, то переходите к разделу Контейнеры с сервисами.
Если нет ничего кроме 1с, то придется пройти все шаги установки
Описание
Расширение для 1с может отправлять метрики типа Histogram, Gauge, Counter. Для примера используются метрики из регистра сведений ЗамерыВремени.
Порядок установки
Docker
Простите, но тут придется самим
Когда выйдет документация 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.