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



Описанные в данном опусе механизмы ни в коей мере не противопоставляются тому, что реализует КИП от 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

11 Comments

  1. Evil Beaver

    Ну офигенно же!

    Reply
  2. as

    Я тоже в восторге. Вечером обязательно попробую.

    Reply
  3. MORT32Ram

    Просто пушка

    Reply
  4. Sloth

    (3) со всеми проектами zabbix+1c, которые есть на github и которые я нашел, я ознакомился 🙂 Спасибо за ссылку!

    Reply
  5. HardBall

    Моё почтение.

    Reply
  6. bdenisska

    Низкий поклон автору, теперь zabbix функционал расширим — будет бомба!

    Reply
  7. capitan

    Круто

    Reply
  8. Sloth

    (2) Получилось ли чего или не срослось?

    Reply
  9. Sloth

    (7) Буду благодарен за обратную связь!

    Reply
  10. as

    (10) пока не добрался.

    Хочуть заббикс обновить и тогда будем пробовать.

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *