CentOS5.6にZabbix-1.8.5をインストール

Nagios + snmpという組み合わせで監視サーバを構築してみたが
UIの使い勝手がイマイチしっくりこなかったので
前も使っていたZabbixで再構築してみた。
Apache,MySQL,PHPはインストール済みのサーバでの手順。

[環境]
CentOS-5.6-i386

[サーバ側]
1.必要パッケージのインストール

$ yum install curl-devel
$ yum install net-snmp*

2.Zabbixユーザーを作成してパスワード設定

$ useradd zabbix
$ passwd zabbix

3.Zabbixのファイルをダウンロード

$ wget http://prdownloads.sourceforge.net/zabbix/zabbix-1.8.5.tar.gz
$ tar xvzf zabbix-1.8.5.tar.gz 

4.MySQLにZabbix用のユーザーとデータベースを作成

$ mysql -uroot mysql
mysql> CREATE DATABASE zabbix character set utf8;
mysql> GRANT ALL PRIVILEGES ON zabbix.* TO 'zabbix'@'localhost' IDENTIFIED BY 'zabbix' WITH GRANT OPTION;
mysql> FLUSH PRIVILEGES;

5.Zabbixのダウンロードしたファイル群に初期データが入った.sqlファイルがあるので、作ったデータベースにインポート

$ cd zabbix-1.8.5
$ cat create/schema/mysql.sql | mysql -uroot zabbix 
$ cat create/data/data.sql | mysql -uroot zabbix
$ cat create/data/images_mysql.sql | mysql -uroot zabbix

8.オプションを指定してコンパイル

$ ./configure --enable-server --enable-agent --with-mysql --with-net-snmp --with-libcurl
$ make install

9./etc/servicesにZabbixの設定を追加

$ vim /etc/services 
	zabbix-agent    10050/tcp                       # Zabbix Agent
	zabbix-agent    10050/udp                       # Zabbix Agent 
	zabbix-trapper  10051/tcp                       # Zabbix Trapper
	zabbix-trapper  10051/udp                       # Zabbix Trapper

10.ログ出力用ディレクトリ作成

$ mkdir /var/log/zabbix

11.Zabbixの設定ファイル保存用ディレクトリを作成して、ソースから設定ファイルをコピーして設置
Zabbixのパフォーマンスを最大限に高めるには、デフォルトパラメータを変更する必要。今回はとりあえずデフォルトのまま。

$ mkdir /etc/zabbix
$ cp misc/conf/zabbix_agentd.conf /etc/zabbix/
$ cp misc/conf/zabbix_server.conf /etc/zabbix/

12.zabbix_server.confにログの出力先のファイルパスを追記

$ vim /etc/zabbix/zabbix_server.conf
	LogFile=/var/log/zabbix/zabbix_server.log

13.zabbix_server起動

$ zabbix_server 


[エージェント側]
1.Zabbixユーザーの作成、ソースのダウンロード、解凍するまでは同じ手順なので省略。

2.コンパイルする

$ cd zabbix-1.8.5
$ ./configure -enable-agent
$ make

3.zabbix_xxxコマンドを専用のディレクトリを作ってコピー

$ mkdir -p /usr/local/zabbix/bin
$ chmod -R 777 /usr/local/zabbix/bin
$ cp /usr/local/sbin/zabbix_agent* /usr/local/zabbix/bin/
$ cp /usr/local/bin/zabbix_* /usr/local/zabbix/bin/

4./etc/servicesにZabbixの設定を追加

$ vim /etc/services 
	zabbix_agent    10050/tcp                       # Zabbix Agent
	zabbix_trap     10051/tcp                       # Zabbix Agent

5.ログ出力先ディレクトリ作成

$ mkdir /var/log/zabbix

6.エージェント用の設定ファイルをコピーして設置

$ mkdir /etc/zabbix
$ cp /usr/local/src/zabbix-1.8.5/misc/conf/zabbix_agentd.conf /etc/zabbix

7.設定ファイルにZabbixサーバのIPアドレスを指定

$ vim /etc/zabbix/zabbix_agentd.conf
	Server='xxx.xxx.xxx.xxx'
	LogFile=/var/log/zabbix/zabbix_agentd.log

8.エージェント起動

$ zabbix_agentd


9.起動できているか確認

$ ps aux | grep zabbix


[Webインターフェイス]
1.インターフェイスのプログラムファイル群をブラウザから参照させるディレクトリへコピー

$ cp -R /usr/local/src/zabbix-1.8.5/frontends/php /var/www/zabbix

2.Apacheの設定

$ vim /usr/local/apache/conf.d/zabbix.conf
 	Alias /zabbix "/var/www/zabbix"
 	<Directory "/var/www/zabbix">
 	   Options ExecCGI
 	   AllowOverride None
 	   Order allow,deny
 	   Allow from all
 	</Directory>

3.接続先データベース情報を設定ファイルに追記

$ vim /var/www/zabbix/include/db.inc.php 
	<?php
	$DB_TYPE        = 'MYSQL';
	$DB_SERVER      = 'localhost';
	$DB_DATABASE    = 'zabbix';
	$DB_USER        = 'zabbix';
	$DB_PASSWORD    = 'zabbix';

4.ブラウザにアクセスして設定を進める。

5.環境の前提条件が表示されるので、適時php.iniを編集

vim /usr/local/php/lib/php.ini
	memory_limit = 256M
	upload_max_filesize = 16M
	post_max_size = 32M
	max_execution_time = 600
	max_input_time = 600

6.ブラウザから進むと環境情報の入力を求められて、設定ファイルができる。ダウンロードしたらconf/へアップ

あとはブラウザからホストのグループなど設定すればOK。
改めて使ってみて稼働状況やリソース消費の見易さと多機能性から
Zabbixの方がやっぱり運用しやすいと思いました。
でもNagiosの方が大手で使われている記事をたくさんみます、、、