Использование 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 не будет опубликован. Обязательные поля помечены *