久々に触った CentOS 3 で Puppet を利用できるようになったので、ついでに我が家の標準サーバー監視ツール Zabbix もインストールしてしまう。現在 ZABBIX-JP サイトでは 1.6.7 の日本語対応 RPM パッケージが公開されているが、我が家の Zabbixサーバー及びエージェントは今のところ 1.4.6 のため、今回はとりあえず 1.4.6 で合わせておく。1.6 系へのアップグレードは、後日 (余裕のあるときに) サーバーからまとめて実施するしよう。

Zabbix の過去のバージョンは、前述のダウンロードページのリンクから入手可能。今回は CentOS 3.9 で 1.4.6 の Zabbix エージェントを動かすので、ここから zabbix-agent-1.4.6-2.el3.JP.i386.rpm を入手し、以下の手順でインストールする。

# rpm -ivh zabbix-agent-1.4.6-2.el3.JP.i386.rpm ← RPM をインストール

# cat /etc/zabbix/zabbix_agentd.conf ← 設定ファイルを適宜修正
--- snip ---
Server=<ZABBIX_SERVER_IPADDR> ← Zabbix サーバーの IP アドレス
--- snip ---
Hostname=<HOSTNAME> ← 本マシンのホスト名
--- snip ---

# /etc/init.d/zabbix-agent start

# ps aux | grep -v grep | grep zabbix ← プロセスを確認

# tail -f /var/log/zabbix/zabbix_agentd.log ← ログを確認

# chkconfig zabbix-agent on ← 正常動作を確認後、自動起動設定

Zabbix エージェントが正常に動作していれば、Zabbix サーバー側で監視設定を行い、正常に監視が行えるか確認する。ファイアウォールを設定している場合は、忘れずに Zabbix の通信 (デフォルトではエージェントが TCP/10050、サーバーが TCP/10051) を許可しておく。

尚、ここでは全ての手順を手動で行っているが、Zabbix インストール後の工程は Puppet で自動化できる。起動や自動起動設定はマニフェストで、ホストごとに一部内容が異なる設定ファイルの配布はテンプレートで一発だ。マニフェストを作成する際はクラスの継承を活用し、各種設定及び、テンプレートやファイルサーバー機能で配布するファイルを

  • ディストリビューションを問わず不変のもの
  • 同じディストリビューションでバージョンを問わないもの
  • ディストリビューションの同一バージョンで共通のもの
  • 各ホストごとに固有のもの

程度に分けておくと、そこそこ効率的に管理できる。

Puppet を研究する際は、gihyo.jp の連載が非常に参考になる。設定ファイルの解説から実用的な各種カスタマイズ・テクニックまで、必読の内容だ。

一方 Zabbix は、Puppet に比べて日本語情報が比較的多い。前述の ZABBIX-JP にはドキュメントやテンプレート等、有用な情報が多いし、月刊 Software Design では、過去に何度か Zabbix の特集記事や連載が組まれている。

Comments are closed.