slothfk / 1c_zabbix_template_ce

Шаблон Zabbix для мониторинга кластера серверов 1С Предприятия 8.3
MIT License
162 stars 58 forks source link

Не работает мониторинг лицензий. Windows server 2019. Платформа 1c 8.3.21.1622 #101

Closed Tiotimolin closed 1 year ago

Tiotimolin commented 1 year ago

Приветствую, Алексей. 3-ий день не могу победить мониторинг сервера лицензирования. Windows server 2019. Платформа 1c 8.3.21.1622 Делаю всё по инструкции:

  1. Установил GitBash.
  2. Установил ring и установил Java 8.
  3. Добавил службу RAS
  4. Добавил в C:\Program Files\Zabbix Agent\zabbix_agentd.conf

UserParameter=1c.ls.sessions[],"C:\Program Files\Git\bin\bash.exe" "C:\Program Files\Zabbix Agent\scripts\1c_license_server.sh" used $1 $2 $3 $4 UserParameter=1c.ls.check[],"C:\Program Files\Git\bin\bash.exe" "C:\Program Files\Zabbix Agent\scripts\1c_license_server.sh" check UserParameter=1c.ls.clusters.discovery[],"C:\Program Files\Git\bin\bash.exe" "C:\Program Files\Zabbix Agent\scripts\1c_license_server.sh" clusters UserParameter=1c.ls.infobases.discovery[],"C:\Program Files\Git\bin\bash.exe" "C:\Program Files\Zabbix Agent\scripts\1c_license_server.sh" infobases $1 $2 $3 $4

  1. Положил скрипты в папку C:\Program Files\Zabbix Agent\scripts\

1c_central_server.sh 1c_common_module.sh 1c_license_server.sh 1c_ls_license_info.sh 1c_work_server.sh

  1. Изменил содержимое 1c_ls_license_info.sh по совету в одной из ветки запросов.

    !/bin/bash

    "/c/Program Files/Zabbix Agent/zabbix_sender.exe" -c "/c/Program Files/Zabbix Agent/zabbix_agentd.conf" -k >1c.ls.licenses -o "$(nice -n 19 /c/Program\ Files/Zabbix\ Agent/Scripts/1c_license_server.sh info)" > /dev/null

  2. Активные проверки включены, Hostname прописан, другие шаблоны данные собирают.

  3. Запуск вручную $ "/c/Program Files/Zabbix Agent/zabbix_sender.exe" -c "/c/Program Files/Zabbix Agent/zabbix_agentd.conf" -k >1c.ls.licenses -o "$(nice -n 19 /c/Program\ Files/Zabbix\ Agent/Scripts/1c_license_server.sh info)" > /dev/null выдаёт 'C:\Program' is not recognized as an internal or external command, operable program or batch file. 'C:\Program' is not recognized as an internal or external command, operable program or batch file. 'C:\Program' is not recognized as an internal or external command, operable program or batch file. zabbix_sender.exe [1244]: too few or mutually exclusive options used

  4. Вывод $ bash -x 1c_license_server.sh info ++ dirname 1c_license_server.sh ++ sed -r 's/\/\//g; s/^(.{1}):/\/\1/'

    • WORK_DIR=.
    • source ./1c_common_module.sh
    • case ${1} in
    • licenses_summary ++ check_ring_license ++ [[ -z 1 ]] ++ RING_CONF=/C/ProgramData/1C/1CE/ring-commands.cfg ++ [[ ! -f /C/ProgramData/1C/1CE/ring-commands.cfg ]] +++ grep license-tools /C/ProgramData/1C/1CE/ring-commands.cfg +++ sed -r 's/.+file: //; s/\/\//g; s/^(.{1}):/\/\1/' ++ LIC_TOOL='/C/Program Files/1C/1CE/components/1c-enterprise-license-tools-0.15.0+2-x86_64/com._1c.license.activator.ring-0.15.0-2.jar' ++ [[ -z /C/Program Files/1C/1CE/components/1c-enterprise-license-tools-0.15.0+2-x86_64/com._1c.license.activator.ring-0.15.0-2.jar ]] ++ ls '/C/Program Files/1C/1CE/components/1c-enterprise-ring-0.19.5+12-x86_64/ring.cmd'
    • RING_TOOL='/C/Program Files/1C/1CE/components/1c-enterprise-ring-0.19.5+12-x86_64/ring.cmd'
    • export RING_TOOL
    • awk 'BEGIN { files=0; users=0 } { files+=1; users+=$1 } END { print files":"users }' ++ get_license_list '/C/Program Files/1C/1CE/components/1c-enterprise-ring-0.19.5+12-x86_64/ring.cmd' ++ '/C/Program Files/1C/1CE/components/1c-enterprise-ring-0.19.5+12-x86_64/ring.cmd' license list --send-statistics false ++ sed -re 's/^([0-9-]+).*/\1/'
    • execute_tasks license_info $'382023987945447-8102223133\350\354\377' $'\364\340\351\353\340:' '"20221206181817.lic")' $'298892234985059-8101653947\350\354\377' $'\364\340\351\353\340:' '"20221229202653.lic")' $'262088225830297-8101673256\350\354\377' $'\364\340\351\353\340:' '"20221229202855.lic")'
    • [[ 10 -le 1 ]]
    • TASK_CMD=license_info
    • shift
    • export -f license_info
    • echo $'382023987945447-8102223133\350\354\377' $'\364\340\351\353\340:' '"20221206181817.lic")' $'298892234985059-8101653947\350\354\377' $'\364\340\351\353\340:' '"20221229202653.lic")' $'262088225830297-8101673256\350\354\377' $'\364\340\351\353\340:' '"20221229202855.lic")'
    • xargs '-d ' -P2 -I task_args bash -c 'licenseinfo ${@}' task_args 'C:\Program' is not recognized as an internal or external command, operable program or batch file. 'C:\Program' is not recognized as an internal or external command, operable program or batch file. 'C:\Program' is not recognized as an internal or external command, operable program or batch file. 0:0

Также в заббиксе:

[1С/Лицензии] Количество лицензированных сеансов Preprocessing failed for:

  1. Failed: cannot perform regular expression "\d+:(\d+)" match for value of type "string": pattern does not match

[1С/Лицензии] Количество файлов пользовательски.. Preprocessing failed for:

  1. Failed: cannot perform regular expression "(\d+):\d+" match for value of type "string": pattern does not match

Подскажите, пожалуйста, куда копать? Untitled

slothfk commented 1 year ago

Давайте разберемся "с малым" - подсчетом сеансов, потребляющих лицензии Что на серевере лицензирования возвращает (необходимо выполнять от имени пользователя с административными правами, или такими правами, которые позволяют посмотреть список процессов других пользователей)

$ bash 1c_license_server.sh sessions 1545 1.5 <пользователь_администратор_кластера> <пароль администратора кластера>

<пользователь_администратор_кластера> и <пароль администратора кластера> необходимо указывать только если они заданы

Tiotimolin commented 1 year ago

$ bash 1c_license_server.sh sessions 1545 1.5 ОШИБКА: Неизвестный режим работы скрипта!

Такая вот ошибка

slothfk commented 1 year ago

Ох, пардон, конечно надо так

$ bash 1c_license_server.sh used 1545 1.5
Tiotimolin commented 1 year ago

$ bash 1c_license_server.sh used 1545 1.5 CL#5ea92056-4f6e-4b9c-93da-f7f8ef473a66:0:0:0:0:0 CL#555726a9-04fc-4f23-af37-bc564d9c3aca:0:0:0:0:0 CL#6de36e3a-dd57-47ff-ba61-d7bcb3f42bf4:0:0:0:0:0 CL#53e383a9-fc34-440d-b93c-b681a3bdb68f:0:0:0:0:0 CL#b883cd3f-2d86-4953-9e03-f544f37561b4:0:0:0:0:0 CL#d9a7fe3a-66e4-4871-9a88-b8dda5d1f293:0:0:0:0:0 CL#f5a6ab3f-ba96-48f6-b714-1ba2aad27881:0:0:0:0:0 summary:0:0:0:0:0

slothfk commented 1 year ago

Администратор кластера есть?

Tiotimolin commented 1 year ago

При запуске с логином паролем сервера 1с, но это сервер лицензирования, который развёрнут на отдельной ВМ. Т.е. консоль администрирования на сервере лицензирования открывается без пароля

$ bash 1c_license_server.sh used 1545 1.5 USER1C XXXXXXXXXXXXXXXXXXXX CL#5ea92056-4f6e-4b9c-93da-f7f8ef473a66:0:0:0:0:0 CL#555726a9-04fc-4f23-af37-bc564d9c3aca:0:0:0:0:0 CL#d9a7fe3a-66e4-4871-9a88-b8dda5d1f293:0:0:0:0:0 CL#53e383a9-fc34-440d-b93c-b681a3bdb68f:0:0:0:0:0 CL#f5a6ab3f-ba96-48f6-b714-1ba2aad27881:0:0:0:0:0 CL#b883cd3f-2d86-4953-9e03-f544f37561b4:0:0:0:0:0 CL#6de36e3a-dd57-47ff-ba61-d7bcb3f42bf4:0:0:0:0:0

И висит....

slothfk commented 1 year ago

с логином паролем сервера 1с

что это значит? речь про администратора кластера, который добавляется у конкретного кластера (в консоли кластера), если его на задавали, то указывать пользователя здесь не надо, если задан, то должен быть одинаковым для всех кластеров

Tiotimolin commented 1 year ago

$ bash 1c_license_server.sh used 1545 1.5 USER1C XXXXXXXXXX CL#5ea92056-4f6e-4b9c-93da-f7f8ef473a66:0:0:0:0:0 CL#555726a9-04fc-4f23-af37-bc564d9c3aca:0:0:0:0:0 CL#53e383a9-fc34-440d-b93c-b681a3bdb68f:0:0:0:0:0 CL#f5a6ab3f-ba96-48f6-b714-1ba2aad27881:0:0:0:0:0 CL#6de36e3a-dd57-47ff-ba61-d7bcb3f42bf4:0:0:0:0:0 CL#b883cd3f-2d86-4953-9e03-f544f37561b4:0:0:0:0:0 CL#d9a7fe3a-66e4-4871-9a88-b8dda5d1f293:0:0:0:0:0 summary:0:0:0:0:0

Создал администратора такого же image Ошибка кластера ушла

Tiotimolin commented 1 year ago

[[1С/Лицензии] Активные сеансы] с ошибкой Special characters "\, ', ", `, *, ?, [, ], {, }, ~, $, !, &, ;, (, ), <, >, |, #, @, 0x0a" are not allowed in the parameters.

slothfk commented 1 year ago

в пароле используеются "недопустимый" символ ... если без этого символа никак, то надо отключать проверку в настройках агента заббикс, либо сменить пароль

Tiotimolin commented 1 year ago

Такое простое решение ))) Благодарю, Алексей. image

Хорошего дня вам )))))

Tiotimolin commented 1 year ago

Прошу прощения, а есть какой-то параметр, который отвечает за частоту опросов кол-ва лицензий? Или нужно в шедулер добавлять?

slothfk commented 1 year ago

Прошу прощения, а есть какой-то параметр, который отвечает за частоту опросов кол-ва лицензий? Или нужно в шедулер добавлять?

Если речь про файлы лицензий, то да, это надо добавить в планировщик задач

Есть мысли переделать этот механизм, но по срокам пока не сориентирую :/

Tiotimolin commented 1 year ago

Алексей, странное дело. Данные отобразились один раз и больше в забихе не обновляются. В планировщик добавил. Рестартовал агента, рестартил службу 1с В баше данные читает.

$ bash 1c_license_server.sh used 1545 1.5 USER1C XXXXXXXXXXXXXXXXXXXX CL#5ea92056-4f6e-4b9c-93da-f7f8ef473a66:0:10:19:0:0 CL#53e383a9-fc34-440d-b93c-b681a3bdb68f:15:12:15:0:0 CL#555726a9-04fc-4f23-af37-bc564d9c3aca:34:17:35:1:0 CL#f5a6ab3f-ba96-48f6-b714-1ba2aad27881:6:18:21:15:0 CL#d9a7fe3a-66e4-4871-9a88-b8dda5d1f293:15:8:15:0:0 CL#6de36e3a-dd57-47ff-ba61-d7bcb3f42bf4:7:5:9:2:0 CL#b883cd3f-2d86-4953-9e03-f544f37561b4:0:0:0:0:0 summary:77:67:114:18:0

Что я делаю не так? Извините за назойливость ((

image

bash 1c_license_server.sh used 1545 1.5 USER1C XXXXXXXXXX - эту ведь строку надо в шедулер засовывать?

slothfk commented 1 year ago

bash 1c_license_server.sh used 1545 1.5 USER1C XXXXXXXXXX - эту ведь строку надо в шедулер засовывать?

нет в планировщик надо другое - 1c_ls_license_info.sh пихать

slothfk commented 1 year ago

Данные отобразились один раз и больше в забихе не обновляются.

что в журналах агента и сервера zabbix есть?

Tiotimolin commented 1 year ago

Удалил всё, настроил заново. Работает. Благодарю.

sanykz commented 5 months ago

помогите разобраться! Сделал все по шаблонам. но - не могу получить информацию о лицензиях

Снимок экрана 2024-05-21 в 10 56 06

Когда запускаю вручную "/c/Program Files/ZabbixAgent/zabbix_sender.exe" -c "/c/Program Files/ZabbixAgent/zabbix_agentd.conf" -k >1c.ls.licenses -o "$(nice -n 19 /c/Program\ Files/ZabbixAgent/Scripts/1c_license_server.sh used)" > /dev/null

$ "/c/Program Files/ZabbixAgent/zabbix_sender.exe" -c "/c/Program Files/ZabbixAgent/zabbix_agentd.conf" -k >1c.ls.licenses -o "$(nice -n 19 /c/Program\ Files/ZabbixAgent/Scripts/1c_license_server.sh used)" > /dev/null bash: 1c.ls.licenses: Permission denied

$ "/c/Program Files/ZabbixAgent/zabbix_sender.exe" -c "/c/Program Files/ZabbixAgent/zabbix_agentd.conf" -k >1c.ls.licenses -o "$(nice -n 19 /c/Program\ Files/ZabbixAgent/Scripts/1c_license_server.sh info)" > /dev/null ОШИБКА: Неизвестный режим работы скрипта! bash: 1c.ls.licenses: Permission denied

slothfk commented 5 months ago

помогите разобраться! Сделал все по шаблонам. но - не могу получить информацию о лицензиях Снимок экрана 2024-05-21 в 10 56 06

Когда запускаю вручную "/c/Program Files/ZabbixAgent/zabbix_sender.exe" -c "/c/Program Files/ZabbixAgent/zabbix_agentd.conf" -k >1c.ls.licenses -o "$(nice -n 19 /c/Program\ Files/ZabbixAgent/Scripts/1c_license_server.sh used)" > /dev/null

$ "/c/Program Files/ZabbixAgent/zabbix_sender.exe" -c "/c/Program Files/ZabbixAgent/zabbix_agentd.conf" -k >1c.ls.licenses -o "$(nice -n 19 /c/Program\ Files/ZabbixAgent/Scripts/1c_license_server.sh used)" > /dev/null bash: 1c.ls.licenses: Permission denied

$ "/c/Program Files/ZabbixAgent/zabbix_sender.exe" -c "/c/Program Files/ZabbixAgent/zabbix_agentd.conf" -k >1c.ls.licenses -o "$(nice -n 19 /c/Program\ Files/ZabbixAgent/Scripts/1c_license_server.sh info)" > /dev/null ОШИБКА: Неизвестный режим работы скрипта! bash: 1c.ls.licenses: Permission denied

Все что вы написали так не работает! И потом, у вас ошибка в команде, поэтому выдает

bash: 1c.ls.licenses: Permission denied

у после -k лишний символ > Для того чтобы иметь информацию о лицензиях (файлах лицензий) используется скрипт 1c_license_files.sh, а не 1c_license_server.sh

sanykz commented 5 months ago

"у после -k лишний символ >" Поправил. Извините, я так и не понял. Где у меня затык.... На metric так и ругается

image image image

и пустые данные:

image
slothfk commented 5 months ago

Касаемо Unknown metric вероятно вы не поместили на сервер файл настроек zabbix - userparameter_1c-lf.conf поэтому агент заббикс-а не знает ничего про эту метрику

sanykz commented 5 months ago

Я кажется просто запутался( Какие действия делаются на Zabbix server (Linux), какие действия на 1с (Windows)