Автозапуск ZABBIX через SystemD

запуск ZABBIX через SystemD

http://www.zabbix.com/

Автоматический запуск ZABBIX Server после перезагрузки ОС я обычно реализовывал с помощью init-скриптов, которые идут вместе с исходными кодами. В Debian 8 произошли некоторые изменения в использовании системы инициализации — теперь по умолчанию используется systemd 1 2 3 вместо sysvinit ранее:

We exercise our power to decide in cases of overlapping jurisdiction (6.1.2) by asserting that the default init system for Linux architectures in jessie should be systemd.

Таким образом, чтобы не отставать от технологий, нужно настроить запуск ZABBIX через SystemD. Этим я и займусь далее.


Если вам интересна тематика ZABBIX, рекомендую обратиться к основной статье — Система мониторинга ZABBIX, в ней вы найдете дополнительную информацию.


Если у вас используется SysV, а не SystemD, настройку автозапуска для этой системы инициализации вы можете найти в головной статье — Автозапуск ZABBIX.


Запуск ZABBIX через SystemD

Создаем .service-скрипт:
root@debian8:~# nano /etc/systemd/system/zabbix-server.service

Вставляем содержимое:
[Unit]
#описание сервиса
Description=Zabbix Server Daemon
#для запуска сервера zabbix обязательно должен быть запущен mysql
Requires=mysql.service
#сервер zabbix запускается только после групп сервисов syslog, network и демона mysql
After=syslog.target network.target mysql.service

[Service]
#zabbix запустится как классический демон
Type=forking
#команда для запуска
ExecStart=/usr/local/sbin/zabbix_server
#команда для перезапуска
ExecReload=/usr/local/sbin/zabbix_server -R config_cache_reload
#расположение .pid-файла для отслеживания основного процесса
PIDFile=/tmp/zabbix_server.pid

#пользователь и группа, под которым будет запущен сервис
User=zabbix
Group=zabbix

[Install]
#многопользовательский режим без графики
WantedBy=multi-user.target

Изменяем права на файл:
root@debian8:~# chmod 755 /etc/systemd/system/zabbix-server.service

Возможно у вас будет другое расположение сервиса ZABBIX, найти его можно командой:
root@debian8:~# find / -name ‘zabbix_server’
запуск ZABBIX через SystemD 01Далее необходимо включить созданный ранее юнит в автозапуск при загрузке системы:
root@debian8:~# systemctl enable zabbix-server.service
Запускаем сервис:
root@debian8:~# systemctl start zabbix-server.service

Только что мы настроили автозапуск сервера, аналогичное нужно проделать и для агента.

Создаем .service-скрипт:
root@debian8:~# nano /etc/systemd/system/zabbix-agentd.service

Вставляем содержимое:
[Unit]
#описание сервиса
Description=Zabbix Agent Daemon
#сервер zabbix запускается только после групп сервисов syslog и network
After=syslog.target network.target

[Service]
#zabbix запустится как классический демон
Type=forking
#команда для запуска
ExecStart=/usr/local/sbin/zabbix_agentd
#команда для перезапуска
ExecReload=/usr/local/sbin/zabbix_agentd -R config_cache_reload
#расположение .pid-файла для отслеживания основного процесса
PIDFile=/tmp/zabbix_agentd.pid

#пользователь и группа, под которым будет запущен сервис
User=zabbix
Group=zabbix

[Install]
#многопользовательский режим без графики
WantedBy=multi-user.target

Изменяем права на файл:
root@debian8:~# chmod 755 /etc/systemd/system/zabbix-agentd.service

Включаем созданный ранее юнит в автозапуск при загрузке системы:
root@debian8:~# systemctl enable zabbix-agentd.service
Запускаем сервис:
root@debian8:~# systemctl start zabbix-agentd.service

В принципе задача выполнена. Нужно сказать пару слов про zabbix_agent 4 и zabbix_agentd 5. По идее первый рассчитан на init.d-версию и на данный момент уже лежит в архиве мануала.

Если у вас возникают сложности с написанием юнитов для systemd, можете обратиться к обзорам 6 7 8 в интернете.

comments powered by HyperComments