今月のSoftware Design(2008/11号)でZABBIXというサーバー監視ツールが特集されていたので、導入してみました。
ZABBIXの主な特徴は、
- RDBMSにログを蓄積し、Webインターフェイスでグラフ化などができる
- HDD、メモリなどの利用状況や、デーモンのプロセス数などが監視可能。URL指定でWebページの稼働チェックも。
- もちろんSNMPもOK
- 特定状況(トリガ)に応じてメールを送信するなどのアクションを定義可能
- クライアント(エージェントと呼ぶ)はマルチOS対応
など。
とりあえず自宅のメインサーバーと、実家にあるバックアップサーバー、そしてWindows系のサーバー2台にエージェントを導入し、会社のサーバーはURL指定で稼働チェックしてみるように設定しました。あとGbEハブもSNMPに対応してるので設定。
■設定覚え書き
記事の通りでは上手くいかないところがあったのでいくつか覚え書き。
記事にあるEPELリポジトリは追加せずとも、日本のユーザ会のサイトにCentOS用rpmがおいてあったので、そちらを利用しました。EPELだと現在1.4.6が入るんですが、記事中にもある日本語パッチが1.4.5用しかなかったので。
また初回に管理ページにログインしようとすると、ヘッダーがすでに出力されてるぜ系のエラーが出たんですが、/etc/zabbix/zabbix.conf.phpの中(最初はコメント文しか入っていない)を空にしてやったら治りました。同時に[ERROR: Unknown database type.]というエラーも出てたんですが、一緒に治っちゃったぽいです。
また、Windows版も「公式からソースをもってきて展開するとバイナリが入ってる」との記述だったんですが、単純に1.6をもってきたらUnable to add performance counter エラーで起動せず。1.4.6から抜き出したバイナリならOKでした。1.4.3あたりで治ったらしいバグなんですが、再発したんですかね。
遠隔のNAT下サーバーも適切にポートをあけてやったらちゃんとつながりました。会社で建ててるサーバーもできれば組み込みたいんですが、ポートあけられないので、SSHポートフォワーディングでなんとかできないかなぁと思案中。