前回の手順でインストールが完了しても、実はMacを再起動したりすると、Zabbixエージェントの起動は手動でやらなくちゃいけない。
とコマンドを実行すれば、インストールまで完了。
あとは、/usr/local/etc/zabbix_agentd.confを自分の環境に合わせて変更して、zabbix-agentを起動。
[From 訳あって、またZabbixを使い始めたので、OS Xも監視対象にしてみた | Software - Soukaku's HENA-CHOKO Blog]
ウチでは、Mac miniは基本起動させっぱなしなんだけど、やっぱり手動でいちいち起動させるのも、面倒。
なので、自動起動できるように設定をしてみた。
基本的には、このページに書いてあるようにファイルを準備すれば、OK。
前節のように,コマンドラインから/usr/libexec/slapdを実行すれば,デーモンが起動しますが,コンピュータを起動するたびに手動で実行するのは面倒です.また,デーモンを停止するときに,PIDを調べてkillするというのも手がかかります.そこで,デーモンの起動を自動化し,また終了も簡単にできるようにします.
[From デーモンの自動起動]
ウチでは、Zabbixエージェント用にこんな感じでファイルを書きました。
[soukaku@messiah|~]$ ls -l /Library/StartupItems/zabbix_agent/
total 16
-rw-rw-r-- 1 root wheel 65 12 3 20:42 StartupParameters.plist
-rwxr--r-- 1 root wheel 600 12 3 20:54 zabbix_agent
[soukaku@messiah|~]$ more /Library/StartupItems/zabbix_agent/zabbix_agent
#!/bin/sh
. /etc/rc.common
StartService ()
{
ConsoleMessage "Starting Zabbix Agent"
/usr/local/sbin/zabbix_agentd -c /usr/local/etc/zabbix_agentd.conf
}
StopService ()
{
ConsoleMessage "Stopping Zabbix Agent"
if [ -f /tmp/zabbix_agentd.pid ]
then
PID=$(cat /tmp/zabbix_agentd.pid)
kill -TERM $PID
else
ConsoleMessage "/tmp/zabbix_agentd.pid does not exist."
fi
}
RestartService ()
{
ConsoleMessage "Restarting Zabbix Agent"
StopService
StartService
}
RunService "$1"
[soukaku@messiah|~]$ more /Library/StartupItems/zabbix_agent/StartupParameters.plist
{
Description = "Zabbix Agent";
Provides = ("Zabbix_Agent");
}
それと、作った起動スクリプトを使ってZabbixエージェントを起動しようとしても、エラーが返ってきて起動しない。
[soukaku@messiah|~]$ sudo /Library/StartupItems/zabbix_agent/zabbix_agent start
Starting Zabbix Agent
zabbix_agentd [76910]: user zabbix does not exist
zabbix_agentd [76910]: cannot run as root!
エラーメッセージにある通り「zabbixユーザが居ないし、rootでは実行できない」というのが原因なので、システム環境設定の"ユーザとグループ"でzabbixユーザを作成した後に、改めて起動スクリプトを実行すると、
[soukaku@messiah|~]$ sudo /Library/StartupItems/zabbix_agent/zabbix_agent start
Starting Zabbix Agent
[soukaku@messiah|~]$ ps -ef | grep zabbix
505 76978 1 0 11:49PM ?? 0:00.00 /usr/local/sbin/zabbix_agentd -c /usr/local/etc/zabbix_agentd.conf
505 76979 76978 0 11:49PM ?? 0:00.00 /usr/local/sbin/zabbix_agentd -c /usr/local/etc/zabbix_agentd.conf
505 76980 76978 0 11:49PM ?? 0:00.00 /usr/local/sbin/zabbix_agentd -c /usr/local/etc/zabbix_agentd.conf
505 76981 76978 0 11:49PM ?? 0:00.00 /usr/local/sbin/zabbix_agentd -c /usr/local/etc/zabbix_agentd.conf
505 76982 76978 0 11:49PM ?? 0:00.00 /usr/local/sbin/zabbix_agentd -c /usr/local/etc/zabbix_agentd.conf
505 76983 76978 0 11:49PM ?? 0:00.00 /usr/local/sbin/zabbix_agentd -c /usr/local/etc/zabbix_agentd.conf
505 76984 76978 0 11:49PM ?? 0:00.00 /usr/local/sbin/zabbix_agentd -c /usr/local/etc/zabbix_agentd.conf
505 76985 76978 0 11:49PM ?? 0:00.00 /usr/local/sbin/zabbix_agentd -c /usr/local/etc/zabbix_agentd.conf
501 76992 50062 0 11:49PM ttys000 0:00.00 grep zabbix
のように正常起動します。
#zabbixユーザは、共有のみユーザで作っても、エージェントの実行には問題ないようです。
コレで再起動かけても、Zabbixエージェントの起動を忘れた、ということは無さそうです。
コメントする