Zabbix AgentをDebian wheezyに入れてみる
2013-05-02現在、zabbix-agentパッケージがwheezy以降にない。理由は確認してない (ぐぐるレベルだと出てこない)。ポリシーバイオレーションでも見つかったんだろうか。フォーラムとかいつも見てる人は何か教えてください。 (蛇足だが本家もsqueezeまでのdebパッケージしか配布してない)
しかし監視対象が wheezy ってことは当然あるのだ。
思いつく手段は2つ。ひとつは本家からソースビルド。ひとつはソースパッケージを取ってきてビルドだ。
# dpkg -i でdebをインストールだって?それはオモイツカナカッタナー
○ 本家から
本家のマニュアル の通りにやれば一応入る。zabbix-agent のみが欲しいのだから ./configure --enable-agent だけで良い。
ただしこの場合、便利な便利な service zabbix-agent restart とかできない。というか、zabbix_agentd は自身を停止するコマンドとかないように見える。殺す場合は sudo kill `cat /tmp/zabbix_agentd.pid` とかやる必要があるっぽい。
また、デフォルトでは(インストール時に作られる) /usr/local/etc/zabbix_agent.conf を実は読んでくれてないんでないか、ということで起動コマンドは実は sudo /usr/local/sbin/zabbix_agentd -c /usr/local/etc/zabbix_agent.conf が正しい臭い、という気配。Server行変えたりLogFile指定したりする場合には気をつけたい。
なお、zabbix_agentd -p は覚えておくと少し便利。 zabbix_agentd -h でヘルプが出る。
○ debパッケージから
お客様の中でDebianに詳しい方はいらっしゃいませんかー
それはともかくビルドだけならそんな大変ではない。
http://stackoverflow.com/questions/130894/how-to-build-a-debian-ubuntu-package-from-source
Debian squeeze あたりでソースを取ってきて、wheezy でビルドしてみる。できたのでいいや、という感じに。ちなみに build-deps はそのままでは動かない (wheezyにないパッケージなので、まぁ)
ちなみに uupdate はしなかった。agentをアップデートしましても、ねぇ、という気分である (serverが1.8ならなおさらだ)
○ 動作確認のおまけ
特にソースからインストールした場合には若干困難が伴う可能性があるので、自分で防御を固めた方が良い。
http://www.zabbix.jp/node/1088
ポイントは4点ある
おそらく典型的なのが、Agent が入っているのに Server が下記のエラーを示して Availability が赤いまんま、というケース。
コマンドラインで zabbix_get をagentのホストへ打ってみて、空の結果が返ってくるのならその理由を探る (上のリンク参照)。
DebugLevel=4が役に立つのはここだが、それ以前にログが読めないとどうしようもない。ソースからコンパイルしたzabbix_agentdだと(多分)syslogにログを流してしまうので、設定ファイルが読み込まれているかの確認も含めて LogFile 行を設定ファイルに追加して様子を見るのが良さそうだった。
しかし監視対象が wheezy ってことは当然あるのだ。
思いつく手段は2つ。ひとつは本家からソースビルド。ひとつはソースパッケージを取ってきてビルドだ。
# dpkg -i でdebをインストールだって?それはオモイツカナカッタナー
○ 本家から
本家のマニュアル の通りにやれば一応入る。zabbix-agent のみが欲しいのだから ./configure --enable-agent だけで良い。
ただしこの場合、便利な便利な service zabbix-agent restart とかできない。というか、zabbix_agentd は自身を停止するコマンドとかないように見える。殺す場合は sudo kill `cat /tmp/zabbix_agentd.pid` とかやる必要があるっぽい。
また、デフォルトでは(インストール時に作られる) /usr/local/etc/zabbix_agent.conf を実は読んでくれてないんでないか、ということで起動コマンドは実は sudo /usr/local/sbin/zabbix_agentd -c /usr/local/etc/zabbix_agent.conf が正しい臭い、という気配。Server行変えたりLogFile指定したりする場合には気をつけたい。
なお、zabbix_agentd -p は覚えておくと少し便利。 zabbix_agentd -h でヘルプが出る。
○ debパッケージから
お客様の中でDebianに詳しい方はいらっしゃいませんかー
それはともかくビルドだけならそんな大変ではない。
http://stackoverflow.com/questions/130894/how-to-build-a-debian-ubuntu-package-from-source
Debian squeeze あたりでソースを取ってきて、wheezy でビルドしてみる。できたのでいいや、という感じに。ちなみに build-deps はそのままでは動かない (wheezyにないパッケージなので、まぁ)
ちなみに uupdate はしなかった。agentをアップデートしましても、ねぇ、という気分である (serverが1.8ならなおさらだ)
○ 動作確認のおまけ
特にソースからインストールした場合には若干困難が伴う可能性があるので、自分で防御を固めた方が良い。
http://www.zabbix.jp/node/1088
ポイントは4点ある
- ログを/var/log/zabbix_agent/zabbix_agent.log に吐かせた方が気が楽
- zabbix_get をサーバから実行するテクを覚えると気が楽
- DebugLevel=4 を覚えるととても心が清々しく
- 設定ファイルを読んでくれてるかどうかを確認できると爽快な面持ちでGWでも仕事できる
おそらく典型的なのが、Agent が入っているのに Server が下記のエラーを示して Availability が赤いまんま、というケース。
Got empty string from [ホスト名]. Assuming that agent dropped connection because of access permissions意味してるのは「多分クライアントがボクを嫌ってるんだぐすん」である。
コマンドラインで zabbix_get をagentのホストへ打ってみて、空の結果が返ってくるのならその理由を探る (上のリンク参照)。
DebugLevel=4が役に立つのはここだが、それ以前にログが読めないとどうしようもない。ソースからコンパイルしたzabbix_agentdだと(多分)syslogにログを流してしまうので、設定ファイルが読み込まれているかの確認も含めて LogFile 行を設定ファイルに追加して様子を見るのが良さそうだった。