Zabbix のエージェントを Mac OS X にインストールする[改]

Zabbix 自体も 2.2系がリリース(最新は 2.2.2)されて、サーバの方は 2.2.0 → 2.2.1 → 2.2.2 と、アップデート。
Mac mini に入れたエージェントは、2.2.1 のだけど、これはソースからコンパイルしていれたもの。

エージェントのバイナリだけを作りたいのであれば--enable-agentオプションをつけてconfigureして、make ; make installでOKみたい。うちの環境はIPv6でもアクセスできるようになっているんで、折角だから--enable-ipv6も付けてみた。

[From 訳あって、またZabbixを使い始めたので、OS Xも監視対象にしてみた - Soukaku's HENA-CHOKO Blog]

最近色々調べていたら、homebrew でもエージェントだけインストール出来るという事が判明…。

options オプション付けて brew コマンドを実行すると確かに、 "--agent-only" というオプションが存在している…。

[soukaku@messiah|etc]$ brew options zabbix
--agent-only
Install only the Zabbix Agent without Server and Proxy.
--with-mysql
Use Zabbix Server with MySQL library instead PostgreSQL.

ということで、早速インストールしてみたら、あっさり終了。
ソースからコンパイルしていれたバイナリの上に、そのまま上書きしてくれるようなので、コンパイルオプションでインストールディレクトリを変えていたりしていなければ、設定ファイルや起動設定なんかも特に弄る必要はなさそうですね。

[soukaku@messiah|etc]$ brew install --agent-only zabbix
==> Downloading http://downloads.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/2.2.2/zabbix-2.2.2.tar.gz
######################################################################## 100.0%
==> ./configure --prefix=/usr/local/Cellar/zabbix/2.2.2 --enable-agent
==> make install
Warning: Could not link zabbix. Unlinking...
Error: The `brew link` step did not complete successfully
The formula built, but is not symlinked into /usr/local
You can try again using `brew link zabbix'

Possible conflicting files are:
/usr/local/etc/zabbix_agentd.conf
/usr/local/etc/zabbix_agent.conf
/usr/local/bin/zabbix_sender
/usr/local/bin/zabbix_get
/usr/local/sbin/zabbix_agentd
/usr/local/sbin/zabbix_agent
/usr/local/share/man/man8/zabbix_agentd.8
/usr/local/share/man/man1/zabbix_sender.1
/usr/local/share/man/man1/zabbix_get.1
==> Summary
/usr/local/Cellar/zabbix/2.2.2: 15 files, 1.0M, built in 2.2 minutes

インストールができているように見えて、途中に出ている "Error: The `brew link` step did not complete successfully" というエラーにある通り、シンボリックリンクの生成に失敗している。これは、ソースから入れたバイナリが邪魔をしているので、それを無視して強制的にリンクを生成。
この時点で zabbix-agentd.conf も初期状態になってしまうので、適宜設定を変更するか、バックアップしてあるものがあればそれと置き換えることをお忘れなく。

[soukaku@messiah|~]$ brew link --overwrite zabbix
Linking /usr/local/Cellar/zabbix/2.2.2... 9 symlinks created
[soukaku@messiah|~]$ ls -l /usr/local/sbin/zabbix_agent*
lrwxrwxr-x 1 soukaku admin 40 2 17 00:17 /usr/local/sbin/zabbix_agent -> ../Cellar/zabbix/2.2.2/sbin/zabbix_agent
lrwxrwxr-x 1 soukaku admin 41 2 17 00:17 /usr/local/sbin/zabbix_agentd -> ../Cellar/zabbix/2.2.2/sbin/zabbix_agentd

あとは zabbi-x-agentd を再起動してあげれば、2.2.2 に切り替わります。

[soukaku@messiah|~]$ sudo /Library/StartupItems/zabbix_agent/zabbix_agent stop
Password:
Stopping Zabbix Agent
[soukaku@messiah|~]$ sudo /Library/StartupItems/zabbix_agent/zabbix_agent start
Starting Zabbix Agent
[soukaku@messiah|~]$ ps ax | grep zabbix
93720 ?? S 0:00.00 /usr/local/sbin/zabbix_agentd -c /usr/local/etc/zabbix_agentd.conf
93721 ?? S 0:00.01 /usr/local/sbin/zabbix_agentd: collector [idle 1 sec]
93722 ?? S 0:00.00 /usr/local/sbin/zabbix_agentd: listener #1 [waiting for connection]
93723 ?? S 0:00.00 /usr/local/sbin/zabbix_agentd: listener #2 [waiting for connection]
93724 ?? S 0:00.00 /usr/local/sbin/zabbix_agentd: listener #3 [waiting for connection]
93725 ?? S 0:00.01 /usr/local/sbin/zabbix_agentd: active checks #1 [idle 1 sec]
[soukaku@messiah|~]$ grep -E "2\.2\.[12]" /tmp/zabbix_agentd.log
93508:20140217:002416.244 Zabbix Agent stopped. Zabbix 2.2.1 (revision 40808).
93720:20140217:002419.811 Starting Zabbix Agent [Zabbix server]. Zabbix 2.2.2 (revision 42525).

2.2.3 が出た時に、"brew upgrade" するとどうなるのかは、ちょっと心配だなぁ…。

トラックバック(0)

コメントする