systemd - ArchWiki
CentOS7なサーバにZabbix-agentdを入れているのですが、どうにもinitスクリプトでは動作しなかったので、何とかsystemdスクリプトを作成してみました。
参考にさせていただいたのは@zembutsuさんのスクリプトです。
そのまま流用できるかと思ったのですが、とりあえず自分の環境では動作しなかったので、さらに改造してみることにしました。
参考にさせていただいたのは以下の内容のスクリプトです。
[Unit] Description=Zabbix Monitor Agent After=syslog.target network.target [Service] Type=oneshot ExecStart=/opt/zabbix/sbin/zabbix_agentd RemainAfterExit=yes User=zabbix [Install] WantedBy=multi-user.target
うちの環境用に書き換えます。
[Unit] Description=Zabbix Monitor Agent After=syslog.target network.target [Service] -Type=oneshot +Type=forking -ExecStart=/opt/zabbix/sbin/zabbix_agentd +ExecStart=/usr/sbin/zabbix_agentd -RemainAfterExit=yes +PIDFile=/var/run/zabbix/zabbix_agentd.pid User=zabbix [Install] WantedBy=multi-user.target
これでsystemctlから起動して状態を確認します。
# systemctl --system daemon-reload # systemctl start zabbix-agent.service # systemctl status zabbix-agentd.service ● zabbix-agent.service - Zabbix Agent Loaded: loaded (/etc/systemd/system/zabbix-agent.service; enabled; vendor preset: enabled) Active: active (running) since Sat 2019-08-17 09:56:15 JST; 1 weeks 1 days ago Main PID: 932 (zabbix_agentd) Tasks: 6 (limit: 4776) CGroup: /system.slice/zabbix-agent.service ├─932 /usr/sbin/zabbix_agentd -f -c /etc/zabbix/zabbix_agentd.conf ├─939 /usr/sbin/zabbix_agentd: collector [idle 1 sec] ├─940 /usr/sbin/zabbix_agentd: listener #1 [waiting for connection] ├─941 /usr/sbin/zabbix_agentd: listener #2 [waiting for connection] ├─942 /usr/sbin/zabbix_agentd: listener #3 [waiting for connection] └─943 /usr/sbin/zabbix_agentd: active checks #1 [idle 1 sec]
ということで無事に起動できるようになりました。