# Установка
На сервере Zabbix необходимо добавить (экспортировать) файлы шаблонов:
* 1c_central_server.xml;
* 1c_work_server.xml;
* 1c_license_server.xml.

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

## Установка вручную
На сервер с 1С Предприятием необходимо поместить:
* все скрипты из каталога **scripts** (например в каталог **/var/lib/zabbix/scripts**) и установить для них права на выполнение;
* все файлы **userparameter_1c-*.conf** из каталога **configs** в кататалог **/etc/zabbix/zabbix_agentd.d** (если скрипты помещены в каталог отличный от указанного в предыдущем пункте, необходимо в данных файлах скорректировать пути до соответствующих скриптов) и выполнить перезапуск сервиса **zabbix-agent**

Так же необходимо создать каталог для файлов технологического журнала (по-умолчанию **/var/log/1C**), в котором должен быть создан каталог **zabbix** с вложенным каталогом **problem_log**. Таким образом, в рабочей системе структура каталогов и права на них выглядят следующим образом
<pre>$ ls -al /var/log/1C/zabbix/
итого 24
drwxr-xr-x 6 usr1cv8 grp1cv8 4096 Feb 25 12:29 .
drwxr-xr-x 4 root    root    4096 Feb 25 12:29 ..
drwxr-xr-x 2 usr1cv8 grp1cv8 4096 Aug 27  2019 calls
drwxr-xr-x 2 usr1cv8 grp1cv8 4096 Feb 25 12:29 excps
drwxr-xr-x 2 usr1cv8 grp1cv8 4096 Aug 27  2019 locks
drwxr-xr-x 2 zabbix  grp1cv8 4096 Aug 27  2019 problem_log
</pre>

Добавить пользователя **zabbix** в группу **grp1cv8**, чтобы скрипт, запущенный **zabbix-agent** мог прочитать файлы технологического журнала
<pre>$ sudo usermod -a -G grp1cv8 zabbix</pre>

Помимо этого, на центральном сервере кластера должен быть запущен сервис **RAS**, для запуска которого можно воспользоваться юнитом **systemd**, взятым [здесь](https://github.com/slothfk/1c_systemd/blob/master/srv1cv8-ras.service)

## Установка с помощью ansible
Если в рабочем окружении используется **ansible**, то для развертывания шаблона на сервера с **CentOS** можно воспользоваться сценарием **playbooks/install.yml**. Для этого требуется создать файл **inventory** по примеру **playbooks/inventory.sample**, добавив в соответствующие группы (**srv1c_cs**, **srv1c_ls** и **srv1c_ws**) "нужные" сервера

## Общие замечания
Не зависимо от способа развертывания, для включения сбора технологического журнала 1С, необходимого для целей мониторинга, следует из файла **configs/logcfg.xml** перенести секции **log** в файл **logcfg.xml** рабочего сервера 1С Предприятия (или просто скопировать его в каталог /opt/1C/v8.3/тип_архитектуры/conf/, если сбор ТЖ ранее не использовался).

**ВАЖНО:** В шаблоне в основном используеются элементы данных, получающие данные от активного агента **Zabbix**. В связи с этим необходимо в настройках агента **Zabbix** (в файле конфигурации abbix_agentd.conf скорректировать строку
<pre>ServerActive=127.0.0.1</pre>
указав в ней **ip**-адрес или доменное имя вашего сервера **Zabbix**.
Вместе с тем параметр <code>Hostname=</code> должен иметь такое же значение какое имеет этот узел мониторинга на сервере **Zabbix**!
В противном случае, **Zabbix** сервер не сможет корректно обработать поступающие к нему данные!

**ВАЖНО:** Для корректной работы скриптов на сервере 1С Предприятия должны быть установлены следующие программы: zabbix-sender и zabbix-get. Так же должен быть запущен RAS на центральном сервере кластера.

**ВАЖНО:** В случае многосерверного кластера 1С Предприятия, для корректной работы механизма сохранения файлов "проблемного" технологического журнала, необходимо на всех серверах, входящих в кластер, в настройке **Server** агента zabbix указать все сервера, входящие в кластер. Например, для кластера из двух серверов (**server_a** и **server_b**) на обоих серверах данная настройка агента zabbix должна выглядеть следующим образом:
<pre>Server=server_zabbix,server_a,server_b</pre>

**ВАЖНО:** В случае использования шаблона на **Debian**-like операционных системах, необходимо заменить, установленный  в системе по-умолчанию **mawk**, на **gawk**, так как в скриптах [сервера лицензирования](./docs/license_server.md) используются специфичные для **gawk** "конструкции" (подробнее см. #69)

[Назад](../README.md)
