slothfk / 1c_zabbix_template_ce

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

Перестала приходить информация о сеансах и занятых лицензиях #76

Closed Austrum-lab closed 2 years ago

Austrum-lab commented 2 years ago

Добрый день. Прошу помощи с поиском проблемы)

Не приходит в заббикс информация о сеансах и занятых лицензиях. Как раз лицензии это основное) Информация, сколько файлов и по скольку лицензий есть, остальное - по нулям.

Из недавних изменений, которые могли повлиять:

Заббикс хосты, клиентов удалял заводил по новой - без результата. Пробовал как и с включенным ras на сервере 2, так и выкл - результат один. Вывод "bash -x /etc/zabbix/scripts/1c_license_server.sh info" :

++ dirname /etc/zabbix/scripts/1c_license_server.sh
++ sed -r 's/\\/\//g; s/^(.{1}):/\/\1/'
+ export WORK_DIR=/etc/zabbix/scripts
+ WORK_DIR=/etc/zabbix/scripts
+ source /etc/zabbix/scripts/1c_common_module.sh
+ case ${1} in
+ licenses_summary
++ check_ring_license
++ [[ -z '' ]]
++ RING_CONF=/etc/1C/1CE/ring-commands.cfg
++ [[ ! -f /etc/1C/1CE/ring-commands.cfg ]]
+++ grep license-tools /etc/1C/1CE/ring-commands.cfg
+++ sed -r 's/.+file: //; s/\\/\//g; s/^(.{1}):/\/\1/'
++ LIC_TOOL=/opt/1C/1CE/components/1c-enterprise-license-tools-0.14.2+6-x86_64/com._1c.license.activator.ring-0.14.2-6.jar
++ [[ -z /opt/1C/1CE/components/1c-enterprise-license-tools-0.14.2+6-x86_64/com._1c.license.activator.ring-0.14.2-6.jar ]]
++ ls /opt/1C/1CE/components/1c-enterprise-ring-0.19.2+6-x86_64/ring
+ RING_TOOL=/opt/1C/1CE/components/1c-enterprise-ring-0.19.2+6-x86_64/ring
+ export RING_TOOL
+ awk 'BEGIN { files=0; users=0 }
            { files+=1; users+=$1 }
            END { print files":"users }'
++ get_license_list /opt/1C/1CE/components/1c-enterprise-ring-0.19.2+6-x86_64/ring
++ /opt/1C/1CE/components/1c-enterprise-ring-0.19.2+6-x86_64/ring license list --send-statistics false
++ sed -re 's/^([0-9\-]+).*/\1/'
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by com.google.inject.internal.cglib.core.$ReflectUtils$1 (file:/opt/1C/1CE/components/1c-enterprise-ring-0.19.2+6-x86_64/lib/compat-0.11/guice-4.2.2.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int,java.security.ProtectionDomain)
WARNING: Please consider reporting this to the maintainers of com.google.inject.internal.cglib.core.$ReflectUtils$1
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
+ execute_tasks license_info XXXXXXXXXXXXXXXX-XXXXXXXXXX YYYYYYYYYYYYYYYY-YYYYYYYYYY ZZZZZZZZZZZZZZZZ-ZZZZZZZZZZ
+ [[ 4 -le 1 ]]
+ TASK_CMD=license_info
+ shift
+ export -f license_info
+ echo XXXXXXXXXXXXXXXX-XXXXXXXXXX YYYYYYYYYYYYYYYY-YYYYYYYYYY ZZZZZZZZZZZZZZZZ-ZZZZZZZZZZ
+ xargs '-d ' -P4 -i bash -c 'license_info ${@}' _ '{}'
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by com.google.inject.internal.cglib.core.$ReflectUtils$1 (file:/opt/1C/1CE/components/1c-enterprise-ring-0.19.2+6-x86_64/lib/compat-0.11/guice-4.2.2.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int,java.security.ProtectionDomain)
WARNING: Please consider reporting this to the maintainers of com.google.inject.internal.cglib.core.$ReflectUtils$1
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by com.google.inject.internal.cglib.core.$ReflectUtils$1 (file:/opt/1C/1CE/components/1c-enterprise-ring-0.19.2+6-x86_64/lib/compat-0.11/guice-4.2.2.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int,java.security.ProtectionDomain)
WARNING: Please consider reporting this to the maintainers of com.google.inject.internal.cglib.core.$ReflectUtils$1
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by com.google.inject.internal.cglib.core.$ReflectUtils$1 (file:/opt/1C/1CE/components/1c-enterprise-ring-0.19.2+6-x86_64/lib/compat-0.11/guice-4.2.2.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int,java.security.ProtectionDomain)
WARNING: Please consider reporting this to the maintainers of com.google.inject.internal.cglib.core.$ReflectUtils$1
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
2:25

Вывод "bash -x /etc/zabbix/scripts/1c_license_server.sh used" :

++ dirname /etc/zabbix/scripts/1c_license_server.sh
++ sed -r 's/\\/\//g; s/^(.{1}):/\/\1/'
+ export WORK_DIR=/etc/zabbix/scripts
+ WORK_DIR=/etc/zabbix/scripts
+ source /etc/zabbix/scripts/1c_common_module.sh
+ case ${1} in
+ shift
+ make_ras_params
+ [[ -n '' ]]
+ [[ -n '' ]]
+ [[ -n '' ]]
+ [[ -n '' ]]
+ export RAS_PORT RAS_TIMEOUT RAS_AUTH
+ used_license
+ MAX_THREADS=0
+ check_clusters_cache
+ RMNGR_LIST=($( if [ -z ${IS_WINDOWS} ]; then pgrep -ax rphost; else
        wmic path win32_process where "caption like 'rphost%'" get CommandLine | grep rphost; fi |
        sed -r 's/.*-regport ([^ ]+).*/\0|\1/; s/.*-reghost ([^ ]+).*\|/\1:/' | sort -u |
        awk -F: '{ if ( clstr_list[$1]== "" ) { clstr_list[$1]=$2 } \
            else { clstr_list[$1]=clstr_list[$1]"|"$2 } } \
            END { for ( i in clstr_list ) { print i":"clstr_list[i]} }' ))
++ '[' -z ']'
++ pgrep -ax rphost
++ sed -r 's/.*-regport ([^ ]+).*/\0|\1/; s/.*-reghost ([^ ]+).*\|/\1:/'
++ sort -u
++ awk -F: '{ if ( clstr_list[$1]== "" ) { clstr_list[$1]=$2 } \
            else { clstr_list[$1]=clstr_list[$1]"|"$2 } } \
            END { for ( i in clstr_list ) { print i":"clstr_list[i]} }'
+ [[ -e /tmp/1c_clusters_cache ]]
+ [[ '' == \l\o\s\t ]]
++ grep -vc '^$' /tmp/1c_clusters_cache
+ [[ 1 -ne 1 ]]
++ date -r /tmp/1c_clusters_cache +%s
++ date -d 'last hour' +%s
+ [[ 1635330758 -lt 1635328276 ]]
+ awk -F: 'BEGIN {ul=0; as=0; cl=0; uu=0; wc=0} \
            { print $0; ul+=$2; uu+=$3; as+=$4; cl+=$5; wc+=$6; } \
            END { print "summary:"ul":"uu":"as":"cl":"wc }'
+ sed 's/<sp>/ /g'
++ pop_clusters_list
++ [[ ! -f /tmp/1c_clusters_cache ]]
++ [[ -n '' ]]
++ cat /tmp/1c_clusters_cache
++ sed 's/ /<sp>/g; s/"//g'
+ execute_tasks get_license_counts 'server_1.example.com:fe02fef3-15e4-4575-8dcf-591efad7d24d,1541,1С<sp>CLUSTER<sp>Cluster;'
+ [[ 2 -le 1 ]]
+ TASK_CMD=get_license_counts
+ shift
+ export -f get_license_counts
+ echo 'server_1.example.com:fe02fef3-15e4-4575-8dcf-591efad7d24d,1541,1С<sp>CLUSTER<sp>Cluster;'
+ xargs '-d ' -P0 -i bash -c 'get_license_counts ${@}' _ '{}'
CL#fe02fef3-15e4-4575-8dcf-591efad7d24d:2:1:2:0:2
summary:2:1:2:0:2
slothfk commented 2 years ago

На центральном сервере RAS запущен?

Austrum-lab commented 2 years ago

На центральном сервере RAS запущен?

Запущен, работает, слушает 1545 порт.

Austrum-lab commented 2 years ago

Так же, на данном сервере перемещены журналы 1С и инфо состояний (не знаю, как в разрезе 1С это правильно называть). Не знаю, насколько это критично. Права на папки и файлы в норме, соответствуют оригиналу.

user@server_1:~$ ls -laht /home/usr1cv8/.1cv8/1C/1cv8/reg_1541 lrwxrwxrwx 1 usr1cv8 grp1cv8 10 окт 18 13:04 /home/usr1cv8/.1cv8/1C/1cv8/reg_1541 -> /data/reg/

user@server_1:~$ ls -laht /data drwxr-xr-x 23 usr1cv8 grp1cv8 4,0K окт 27 15:36 reg

slothfk commented 2 years ago

CL#fe02fef3-15e4-4575-8dcf-591efad7d24d:2:1:2:0:2 summary:2:1:2:0:2

Текущее количество сеансов больше 2?

Austrum-lab commented 2 years ago

Текущее количество сеансов больше 2?

Сейчас активен только один лицензированный сеанс (веб), выводы следующие: server_1 (Центральный и Рабочий) - summary:0:1:1:0:1 server_2 (Лицензирования) - summary:1:1:1:0:1

RAS запущен только на server_1

slothfk commented 2 years ago

в таком случае я не пойму, что именно перестало собираться? Все работает ровно так как должно ..

Austrum-lab commented 2 years ago

В заббикс не долетает информация о сеансах - все по нулям. Server_2: Server_2 Server_1: Server_1

slothfk commented 2 years ago

В заббикс не долетает информация о сеансах - все по нулям.

Но при этом выполняя скрипт 1c_license_server.sh used на server_2 в выводе не нулевые значения?

Austrum-lab commented 2 years ago

В заббикс не долетает информация о сеансах - все по нулям.

Но при этом выполняя скрипт 1c_license_server.sh used на server_2 в выводе не нулевые значения?

Верно, на обоих серверах отдает инфу, но при этом не парсит ее в zabbix

slothfk commented 2 years ago

Макросы {$RAS_USER} и {$RAS_PASS} не менялись ли?

Austrum-lab commented 2 years ago

Макросы {$RAS_USER} и {$RAS_PASS} не менялись ли?

Пробовал другого пользака указывать - то же самое. Уже и не знаю, куда смотреть) Вроде, все должно работать, но нет.

slothfk commented 2 years ago

а скрипт выполняется с какими параметрами? просто1c_license_server.sh used или что-то еще указывается?

Austrum-lab commented 2 years ago

а скрипт выполняется с какими параметрами? просто1c_license_server.sh used или что-то еще указывается? В /etc/zabbix/zabbix_agentd.conf.d/userparameter_1c-ls.conf параметры "used $1 $2 $3 $4"


UserParameter=1c.ls.sessions[*],/etc/zabbix/scripts/1c_license_server.sh used $1 $2 $3 $4
UserParameter=1c.ls.check[*],/etc/zabbix/scripts/1c_license_server.sh check

UserParameter=1c.ls.clusters.discovery[*],/etc/zabbix/scripts/1c_license_server.sh clusters

slothfk commented 2 years ago

я про командную строку, когда он возвращает не нулевой результат ...

Austrum-lab commented 2 years ago

я про командную строку, когда он возвращает не нулевой результат ...

Просто used без доп параметров в первом сообщении.

user@server_2:~$: /etc/zabbix/scripts/1c_license_server.sh used $1 $2 $3 $4

CL#fe02fef3-15e4-4575-8dcf-591efad7d24d:1:1:1:0:1
summary:1:1:1:0:1

user@server_1:~$: /etc/zabbix/scripts/1c_license_server.sh used $1 $2 $3 $4

CL#fe02fef3-15e4-4575-8dcf-591efad7d24d:0:1:1:0:1
summary:0:1:1:0:1
slothfk commented 2 years ago

В таком случае, если в макросах {$RAS_USER} и {$RAS_PASS} содержатся какие-то значнеия, то их надо удалить!

Austrum-lab commented 2 years ago

Попробовал удалить значения - результат тот же.

Сейчас заметил, zabbix_1c что триггер [1С/Лицензии] Активные сеансы выдает ошибку. Создал 2 копии - без параметров юзер и пасс RAS и с параметрами RAS, указанными вручную - они отдают по нулям (но работают).

slothfk commented 2 years ago

Приведите , пожалуйста, скриншоты настроек макросов у узла server_2

Austrum-lab commented 2 years ago

После очередной очистки темплейтов и перереги - постоял, подумал часик с пустыми статами и начал отдавать.

Не знаю, что именно было и что помогло, но работает. Скорее всего, помогло удаление значений user и pass, просто заббиксу нужно было время отдуплиться. Макросы по дефолту стоят:

zabbix_macro

Спасибо за помощь!

slothfk commented 2 years ago

После очередной очистки темплейтов и перереги

Радикальный подход конечно ...