Использование Zabbix для сбора информации о серверных вызовах и управляемых блокировках с сервера 1С Предприятия, работающего на платформе GNU/Linux

Публикация № 1120500

Администрирование - Системное

сервер вызовы блокировки таймауты взаимоблокировки ожидания длительность zabbix linux

64
Описанные в данном опусе механизмы ни в коей мере не противопоставляются тому, что реализует КИП от 1С или какие-либо другие инструменты (решения)! Это всего лишь еще один взгляд на "проблему", который может быть полезен в некоторых ситуациях.

0. Общие моменты

Про технологический журнал 1С Предприятия слышали многие (если не слышали, то Вам сюда), а что и как из него можно извлечь для многих остается весьма сложной "наукой". Предлагаемый ниже материал не претендует на оригинальность, а всего лишь представляет еще один взгляд на "проблему". Важно понимать, что собираемые, в результате выполнения описанных действий, данные не дают готовых ответов/решений, а носят характер вспомогательных для анализа и/или быстрого выявления имеющихся проблем.

Вместе с тем, это еще один материал, который немного про GNU/Linux, и немного про инструменты для анализа работы 1С Предприятия не от фирмы 1С.

ВАЖНО: Ответственность за любые последствия, возникшие в результате внесения изменений в работающую систему по материалам данной статьи, лежат исключительно на лице, внесшим данные изменения!

1. Настройки сервера 1С Предприятия

1.1. Поместить файлы 1c_rphost_calls.sh и 1c_rphost_locks.sh (см. Приложения 2,3) в каталог /etc/zabbix/scripts. Установить права на выполнение (см. man 1 chmod);

1.2. Добавить конфигурационный файл для zabbix-agent, содержащий необходимые значения параметра UserParameter

UserParameter=1c.rphost.locks[*],/etc/zabbix/scripts/1c_rphost_locks.sh $1
UserParameter=1c.rphost.calls[*],/etc/zabbix/scripts/1c_rphost_calls.sh $1 $2 $3

Текст 1. Содержимое файла /etc/zabbix/zabbix_agentd.d/1c-rmngr.conf

1.3. Перезапустить сервис zabbix-agent

[fedotov@server_a ~]$ sudo systemctl restart zabbix-agent

1.4. Создать каталог /var/log/1C/zabbix/, владельцем установить пользователя:группу от имени которого выполняются процессы сервера 1С Предприятия (по умолчанию, usr1cv8:grp1cv8, см. man 1 chown). Внутри созданного каталога создать подкаталог problem_log.

1.5. Пользователя zabbix добавить в группу grp1cv8, чтобы он мог читать файлы журналов:

[fedotov@server_a ~]$ sudo usermod -a -G grp1cv8 zabbix

1.6. Создать файл logcfg.xml или добавить секции log содержимое, которого приведено в Приложении 1.

1.7. Убедиться что технологический журнал стал собираться в соответсвующих подкаталогах каталога, созданного в п.1.4.

2. Настройки на Zabbix-сервере

2.1. Сделать импорт шаблона 1c_rphost_template.xml (см. Приложение 4).

2.2. Добавить данный шаблон серверу 1С Предприятия.

2.3. С помощью макроса {$LOG_DIR} вы можете менять каталог содержащий файлы технологического журнала (см. п.1.4.).

2.4. С помощью макроса {$TOP_CALL_LIMIT} можно задать количество строк в ТОП-отборах по серверным вызовам.

2.5. С помощью макроса {$MAX_LOCK_WAIT} можно установить пороговое количество секунд ожидания на управляемых блокировках, по превышении которого будет срабатывать триггер.

3. Что получилось?

Каждый час zabbix будет анализировать файлы технологичского журнала за предыдущий час и выдавать информацию:

- По управляемым блокировкам (суммарное ожидание, количество таймаутов, количество взаимоблокировок). Триггеры срабатывают если обнаружены таймауты, или взаимоблокировки, или превышено пороговое значение суммарного ожидания на блокировках (установленное макросом {$MAX_LOCK_WAIT}). В случае если обнаружены какие-то проблемы, то файл технологического журнала копируется в каталог problem_log.

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

- По суммарному процессорному времени с указанием указанием части от суммарного процессорного времени по конкретной ИБ

- По суммарному количеству серверных вызовов.

 
 Приложение 1. Файл logcfg.xml (конфигурация технологического журнала)
 
 Приложение 2. Файл 1c_rphost_calls.sh (скрипт получения данных по вызовам)
 
 Приложение 3. Файл 1c_rphost_locks.sh (скрипт получения данных по блокировкам)
 
 Приложение 4. Файл 1c_rphost_template.xml (шаблон Zabbix)

 

P.S. Если у Вас есть вопросы, предложения, замечания или Вам просто интересна тема мониторинга кластера серверов 1С Предприятия посредством Zabbix и не только, пишите, пообщаемся!

P.P.S. Теперь следить за проектом можно через GitHub

64

См. также

Специальные предложения

Комментарии
Избранное Подписка Сортировка: Древо
1. Evil Beaver 6230 10.09.19 22:35 Сейчас в теме
2. as 11.09.19 08:36 Сейчас в теме
Я тоже в восторге. Вечером обязательно попробую.
5. Sloth 114 11.09.19 09:48 Сейчас в теме
(3) со всеми проектами zabbix+1c, которые есть на github и которые я нашел, я ознакомился :) Спасибо за ссылку!
4. MORT32Ram 11 11.09.19 09:14 Сейчас в теме
6. HardBall 11.09.19 09:55 Сейчас в теме
7. bdenisska 11.09.19 10:27 Сейчас в теме
Низкий поклон автору, теперь zabbix функционал расширим - будет бомба!
8. capitan 1238 11.09.19 21:52 Сейчас в теме
Оставьте свое сообщение