■導入環境
Zabbix-2.0を導入し、CentOS5.xおよびCentOS6.xのサーバを監視する。
ZabbixサーバはCentOS6.x、監視対象サーバは、CentOS5.x~6.xのため、両方のRPMパッケージを作成する。
【Zabbixサーバの導入~初期設定】
■RPMファイルのビルド
Zabbix-JPから提供されているSRPMファイルから、RPMファイルをビルドする。
ビルド環境:CentOS6.2およびCentOS5.8
作業ディレクトリへ。
# cd /usr/local/src/
SRPMを入手。
# wget http://www.zabbix.jp/files/rpms/2.0.0/20120526/zabbix-2.0.0-1.el5.JP.src.rpm
インストール
# rpm -ivh zabbix-2.0.0-1.el5.JP.src.rpm
RPMのビルド
# rpmbuild -ba ~/rpmbuild/SPECS/zabbix.spec
※rpmbuild コマンドは、rpm-build パッケージが必要。
※依存関係のあるものは、追加インストールする。
CentOS6.xの場合、iksemel-devel がRPMforgeにもないので、RPMsearchから入手。
CentOS5.xの場合は、RPMforgeにある。
※CentOS6.xの場合は、~/rpmbuild/RPMS 以下にRPMが生成される。
※CentOS5.xの場合は、「rpmbuild -ba /usr/src/redhat/SPECS/zabbix.spec」
でビルドし、/usr/src/redhat/RPMS 以下にRPMが作成される。
バックエンドのDBMSごとにファイルが生成されるので、環境に合わせてインス
トールして使う。
■PostgreSQLの準備
PostgreSQLのインストール
# yum install postgresql-server
DBクラスタを初期化
# su - postgres
$ initdb
zabbix用ユーザを作成
$ createuser -U postgres zabbix
zabbix用のデータベースを作成
$ createdb -U zabbix zabbix_db
DBの構築
$ psql -U zabbix zabbix_db < /usr/share/doc/zabbix-server-2.0.0/database/postgresql/schema.sql $ psql -U zabbix zabbix_db < /usr/share/doc/zabbix-server-2.0.0/database/postgresql/images.sql $ psql -U zabbix zabbix_db < /usr/share/doc/zabbix-server-2.0.0/database/postgresql/data.sql
■Zabbixのインストール
PostgreSQLに合わせたパッケージをインストールする。
zabbix-2.0.0-1.el6.x86_64.rpm
zabbix-agent-2.0.0-1.el6.x86_64.rpm
zabbix-server-2.0.0-1.el6.x86_64.rpm
zabbix-server-pgsql-2.0.0-1.el6.x86_64.rpm
zabbix-web-2.0.0-1.el6.noarch.rpm
zabbix-web-pgsql-2.0.0-1.el6.x86_64.rpm
依存関係が発生するので、一気にインストール
# rpm -ivh \ zabbix-2.0.0-1.el6.x86_64.rpm\ zabbix-agent-2.0.0-1.el6.x86_64.rpm\ zabbix-server-2.0.0-1.el6.x86_64.rpm\ zabbix-server-pgsql-2.0.0-1.el6.x86_64.rpm\ zabbix-web-2.0.0-1.el6.noarch.rpm\ zabbix-web-pgsql-2.0.0-1.el6.x86_64.rpm
/etc/zabbix/zabbix_server.conf の設定を変更する。
DBName=zabbix ↓ DBName=zabbix_db DBUser=root ↓ DBUser=zabbix # DBPassword= ↓ DBPassword=
サービスを起動
# /etc/init.d/zabbix-agent start Starting zabbix agent: [ OK ] # /etc/init.d/zabbix-server start Starting zabbix server: [ OK ]
自動起動は、checkconfigやntsysvで設定
# /sbin/chkconfig zabbix-agent on # /sbin/chkconfig zabbix-server on
■初期設定
http://IPアドレス/zabbix/ へアクセスして初期設定を行う。
Type: PostgreSQL
Host: localhost
Port: 0 ("0" でデフォルトの 5432 を利用)
Name: zabbix_db
User: zabbix
Password:
管理ページへログインできる初期ユーザは、Admin/zabbix 。
■FWの設定
Zabbixは、下記のポートを利用する。
・zabbix-server がzabbix-agent に、収集データの要求をする
→zabbix-agent の10050番ポートが開いている必要がある
・zabbix-agent が zabbix-server に、アクティブチェックに関する要求をする
→zabbix-server の10051番ポートが開いている必要がある
アクティブチェックは、主にログ監視やイベントログ監視で使用される。
不要ならば、zabbix_agentd.conf に DisableActive=1 を指定する。
これを設定すると、AgentからZabbixServerの10051番ポートへ通信しなくなる。
→2.0では、このパラメータは削除された。
代わりに、ServerActive にIPを指定する(初期値はローカルIP)
【ZabbixAgentの導入~設定】
ホストの監視方法は、ZabbixAgentを使う方法や使わずにTCP/IPパケットを使う方法など何種類か用意されているが、ここではLinuxホストをZabbixAgentで監視する場合について扱う。
Zabbixのエージェントで管理する場合、zabbix-2.0.0-1.i386.rpm と zabbix-agent-2.0.0-1.i386.rpm をインストールする。
(CentOS5.x/32bitの場合)
# rpm -ivh zabbix-2.0.0-1.i386.rpm # rpm -ivh zabbix-agent-2.0.0-1.i386.rpm
サーバからの通信をFWで許可する(10050番)
iptables -A INPUT -i eth0 -s $ZabbixServer -p tcp --dport 10050 -j ACCEPT
設定ファイル(zabbix_agentd.conf)にて、Zabbixサーバを指定
Server=127.0.0.1 ↓ Server=ZabbizサーバのIP
※configureオプションに「--enable-ipv6」を付けてZABBIXエージェントをコンパイルした場合は、IPv6アドレスでのみZABBIXエージェントのポートが開くため、そのままではIPv4アドレスで監視できない。
監視対象ホストのzabbix_agentd.confで「ListenIP=監視対象ホストのIP」を記述して、IPv4アドレスを使用することを明示的に指定する必要がある。
自動起動に追加
# /sbin/chkconfig zabbix-agent on
サービス起動
# /etc/init.d/zabbix-agent start Starting zabbix agent: [ OK ]
Zabbixサーバの管理ページから、設定→ホスト から、ホストを追加する。
ホストタブ;
ホスト名:ホスト名を入れる
表示名 :ホスト一覧に表示される名称を入れる
グループ:ホストのグループを指定する
エージェントのインターフェース:IPまたはDNS名を入力し、ポートを指定する。
テンプレートタブ;
Template OS Linuxを追加する。
【SNMPで監視の場合】
ホストタブ;
ホスト名:ホスト名を入れる
表示名 :ホスト一覧に表示される名称を入れる
グループ:ホストのグループを指定する
SNMPインターフェース:IPまたはDNS名を入力し、ポートを指定する。
テンプレートタブ;
Template SNMP Generic、Template SNMP Disks、Template SNMP Interfaces
を追加する。
※一般的な値しか取得できないので、ストレージのドキュメントを見ながら取得するMIBのオブジェクトを追加する(テンプレート化すると良い)。
SNMP template generator
http://www.zabbix.com/wiki/scripts/gentemplate.pl
【アラート設定】
アラートをメールで通知するために、SMTPサーバの設定を行う。
管理→メディアタイプから、Emailを選択し、SMTPサーバの情報を更新する。
次に、Adminユーザ宛にアラートメールを出すので、Adminユーザのメールアドレスを登録する。
設定→ユーザーから、Adminユーザを選択し、メディアタブにて、メールの設定を行う。
タイプ:Emailを選択
送信先:メールの送信先を入力
有効な時間帯:1-7,00:00-24:00 のような曜日と時間の指定ができる
深刻度:必要なものにチェックを入れる
追加ボタンを押して、保存ボタンを押して反映させる。
閾値を越えた場合と、復旧した場合のそれぞれにメールで通知される。