1
0
mirror of https://github.com/Chipazawra/v8-1c-cluster-pde.git synced 2024-12-25 01:32:38 +02:00
Go to file
2022-05-11 00:26:17 +03:00
.github/workflows Update release.yml 2021-12-29 16:27:20 +03:00
caddy add pusher mode 2021-12-29 12:31:50 +03:00
cmd/app refactor 2021-12-30 14:07:24 +03:00
grafana/provisioning change grafana version 2022-01-10 10:25:12 +03:00
internal fix cluster auth 2022-05-11 00:16:03 +03:00
prometheus add pusher mode 2021-12-29 12:31:50 +03:00
.env refactor project struct 2021-12-30 16:59:13 +03:00
.gitignore add bin/ to gitignore 2022-05-11 00:17:49 +03:00
docker-compose.yaml change grafana version 2022-01-10 10:25:12 +03:00
Dockerfile add Dockerfile 2021-12-28 14:46:52 +03:00
go.mod refactor project struct 2021-12-30 16:59:13 +03:00
go.sum dev 2021-12-27 22:48:08 +03:00
README.md fix README Closes #9 2022-05-11 00:25:05 +03:00

1C-RAS Prometheus data exporter

1C-RAS Экспортер метрик в Prometheus

Ещё один экспортер метрик для Prometheus с 1C-RAS, не требующий установки 1C-RAS благодаря пакету https://github.com/khorevaa/ras-client. Экспортер работает в двух режимах push и pull. Для работы в режиме push требуется pushgateway в таргетах Prometheus. На текущий момент экспортируются показатели запущеных rpHosts.

Demo

Склонируйте репозиторий, отредактируйте файл .env:

git clone https://github.com/Chipazawra/v8-1c-cluster-pde

Содержимое ./.env:

RAS_HOST=<ras host>
RAS_PORT=<ras port>
AGNT_USER=<ras user - если есть>
AGNT_PASS=<ras pass - если есть>
CLS_USER=<ras user - если есть>
CLS_PASS=<ras pass - если есть>

Запустите docker-compose:

docker-compose up

Результатом проделанных действий на http://<host-ip>:3000 или если вы делали это на своей машине http://localhost:3000 будет доступна Grafana c demo дашбордом:

Screenshot_1

Конфигурирование экспортера выполняется средствами установки переменных окружения или параметров командной строки(имеют более высокий приоритет чем переменные окружения):

RAS_HOST - хост где запущен 1С-RAS, при запуске через терминал --ras-host
RAS_PORT - порт где запущен 1С-RAS, при запуске через терминал --ras-port
CLS_USER - администратор кластера 1С, при запуске через терминал --cls-user
CLS_PASS - пароль администратора кластера 1С, при запуске через терминал --cls-pass
AGNT_USER - администратор агента 1С, при запуске через терминал --agnt-pass
AGNT_PASS - пароль администратор агента 1С, при запуске через терминал --agnt-pass
MODE - режим работы экспортера принимает 2 значения push/pull 
PULL_EXPOSE - порт хоста на котором запущен экспортер `http://<host>:<PULL_EXPOSE>/metrics`, при запуске через терминал --pull-expose. Имеет смысл только в режиме pull

Имеют смысл только в режиме push: 

PUSH_INTERVAL - интервал в миллисекундах, с которым экпортер отправляет метрики в pushgateway, при запуске через терминал --push-interval. 
PUSH_HOST - хост pushgateway, с которым экпортер отправляет метрики в pushgateway, при запуске через терминал --push-host
PUSH_PORT - порт pushgateway, с которым экпортер отправляет метрики в pushgateway, при запуске через терминал --push-port

Экспортируемые метрики, пример:

//HELP rp_hosts_active count of active rp hosts on cluster
//TYPE rp_hosts_active gauge
rp_hosts_active{cluster="Локальный кластер"} 1
//HELP rp_hosts_available_perfomance available host performance
//TYPE rp_hosts_available_perfomance gauge
rp_hosts_available_perfomance{cluster="Локальный кластер",host="192.168.1.1",pid="13552",port="1560",startedAt="2021-12-23 02:25:33"} 100
//HELP rp_hosts_avg_back_call_time host avg back call time
//TYPE rp_hosts_avg_back_call_time gauge
rp_hosts_avg_back_call_time{cluster="Локальный кластер",host="192.168.1.1",pid="13552",port="1560",startedAt="2021-12-23 02:25:33"} 0
//HELP rp_hosts_avg_call_time host avg call time
//TYPE rp_hosts_avg_call_time gauge
rp_hosts_avg_call_time{cluster="Локальный кластер",host="192.168.1.1",pid="13552",port="1560",startedAt="2021-12-23 02:25:33"} 0.42917682026288584
//HELP rp_hosts_avg_db_call_time host avg db call time
//TYPE rp_hosts_avg_db_call_time gauge
rp_hosts_avg_db_call_time{cluster="Локальный кластер",host="192.168.1.1",pid="13552",port="1560",startedAt="2021-12-23 02:25:33"} 0.0513839334863925
//HELP rp_hosts_avg_lock_call_time host avg lock call time
//TYPE rp_hosts_avg_lock_call_time gauge
rp_hosts_avg_lock_call_time{cluster="Локальный кластер",host="192.168.1.1",pid="13552",port="1560",startedAt="2021-12-23 02:25:33"} 0
//HELP rp_hosts_avg_server_call_time host avg server call time
//TYPE rp_hosts_avg_server_call_time gauge
rp_hosts_avg_server_call_time{cluster="Локальный кластер",host="192.168.1.1",pid="13552",port="1560",startedAt="2021-12-23 02:25:33"} 0.3705480961587519
//HELP rp_hosts_avg_threads average number of client threads
//TYPE rp_hosts_avg_threads gauge
rp_hosts_avg_threads{cluster="Локальный кластер",host="192.168.1.1",pid="13552",port="1560",startedAt="2021-12-23 02:25:33"} 3.2406813319453436
//HELP rp_hosts_capacity host capacity
//TYPE rp_hosts_capacity gauge
rp_hosts_capacity{cluster="Локальный кластер",host="192.168.1.1",pid="13552",port="1560",startedAt="2021-12-23 02:25:33"} 1000
//HELP rp_hosts_connections number of connections to host
//TYPE rp_hosts_connections gauge
rp_hosts_connections{cluster="Локальный кластер",host="192.168.1.1",pid="13552",port="1560",startedAt="2021-12-23 02:25:33"} 11
//HELP rp_hosts_enable host enable
//TYPE rp_hosts_enable gauge
rp_hosts_enable{cluster="Локальный кластер",host="192.168.1.1",pid="13552",port="1560",startedAt="2021-12-23 02:25:33"} 1
//HELP rp_hosts_memory count of active rp hosts on cluster
//TYPE rp_hosts_memory gauge
rp_hosts_memory{cluster="Локальный кластер",host="192.168.1.1",pid="13552",port="1560",startedAt="2021-12-23 02:25:33"} 1.501164e+06
//HELP rp_hosts_memory_excess_time host memory excess time
//TYPE rp_hosts_memory_excess_time gauge
rp_hosts_memory_excess_time{cluster="Локальный кластер",host="192.168.1.1",pid="13552",port="1560",startedAt="2021-12-23 02:25:33"} 0
//HELP rp_hosts_running host enable
//TYPE rp_hosts_running gauge
rp_hosts_running{cluster="Локальный кластер",host="192.168.1.1",pid="13552",port="1560",startedAt="2021-12-23 02:25:33"} 1
//HELP rp_hosts_scrape_duration the time in milliseconds it took to collect the metrics
//TYPE rp_hosts_scrape_duration gauge
rp_hosts_scrape_duration 1031
//HELP rp_hosts_selection_size host selection size
//TYPE rp_hosts_selection_size gauge
rp_hosts_selection_size{cluster="Локальный кластер",host="192.168.1.1",pid="13552",port="1560",startedAt="2021-12-23 02:25:33"} 297924

Расшифровка метрики:

rp_hosts_avg_call_time - Реакция сервера
rp_hosts_avg_server_call_time - Затрачено сервером
rp_hosts_avg_db_call_time - Затрачено СУБД
rp_hosts_avg_lock_call_time - Затрачено мененджером блокировок
rp_hosts_avg_threads - Клиентских потоков
rp_hosts_memory - Занято памяти
rp_hosts_connections - Соединений
rp_hosts_avg_back_call_time - Затрачено клиентом
rp_hosts_available_perfomance - Доступная производительность
rp_hosts_enable - Включен
rp_hosts_running - Активен

Расшифровка метки:

сluster - Кластер
host - Хост рабочего процесса
port - Порт рабочего процесса
pid - Идентификатор рабочего процесса
startedAt - Время запуска рабочего процесса