Scientific Linux 6.2(x86_64)にZabbix 2.0rc2をインストールしたときのメモ。
全般的に、以下のサイトを参考にしてみました。
http://blog.torigoya.net/2012/03/10/centos6-zabbix/
http://www.zabbix.com/documentation/2.0/manual/installation/install
※2013/1/5 Zabbix 2.0.4をインストールしたときに一部手順追記しました。
■Zabbix (2.0rc2)のダウンロード
$ wget http://downloads.sourceforge.net/project/zabbix/ZABBIX%20Release%20Candic2.tar.gz
$ tar xvzf zabbix-2.0.0rc2.tar.gz
■関連パッケージの導入
# env LANG=C yum groupinstall "Development tools"
※開発用ツールをインストールしておかないと、gccやmakeすらないので。
# wget http://ftp.riken.jp/Linux/fedora/epel/6/i386/epel-release-6-8.noarch.rpm
# rpm -i epel-release-6-8.noarch.rpm
※fpingをインストールするために、拡張パッケージのリポジトリを追加。
# yum install httpd mysql-server mysql-devel php php-mysql php-bcmath php-gd php-mbstring php-snmp php-xml OpenIPMI-devel
libcurl-devel libssh2-devel
net-snmp-devel net-snmp fping
■MySQLの設定と起動
# vi /etc/my.cnf
[mysqld]
character-set-server=utf8
を追記
# service mysqld start
# /usr/bin/mysqladmin -u root password 'P@ssw0rd!'
# /usr/bin/mysqladmin -u root -h localhost password 'P@ssw0rd!' -p
■Zabbixのコンパイル
$ cd [Zabbixのコンパイルディレクトリ]
$ ./configure --enable-server --enable-agent --enable-ipv6 --with-mysql --with-openipmi
--with-net-snmp --with-libcurl --with-ssh2
$ make
# make install
☆途中足りないライブラリが出てきたらyumでインストールしておく。
■MySQL上にZabbix用のDBを作成
# mysql -p
mysql> create database zabbix;
mysql> grant all privileges on zabbix.* to zabbix@localhost identified by 'P@ssw0rd!';
mysql> flush privileges;
mysql> exit
# cd [Zabbixのコンパイルディレクトリ]/database/mysql
# mysql zabbix -uzabbix -p'P@ssw0rd!'
< schema.sql
# mysql zabbix -uzabbix -p'P@ssw0rd!'
< images.sql
# mysql zabbix -uzabbix -p'P@ssw0rd!' < data.sql
# cd [Zabbixのコンパイルディレクトリ]/frontend/php
# cp -a . /var/www/html
# vi /usr/local/etc/zabbix_server.conf
DBName=zabbix
DBUser=zabbix
DBPassword=P@ssw0rd!
# vi /etc/php.ini
post_max_size = 16M
max_execution_time = 300
max_input_time = 300
date.timezone = Asia/Tokyo
■PHP/Apache周りのSELinuxの制限緩和
# getsebool -a | grep httpd_can_network_connect
httpd_can_network_connect --> off
httpd_can_network_connect_db --> off
# setsebool -P httpd_can_network_connect on
# setsebool -P httpd_can_network_connect_db on
※httpd_can_network_connectはZabbixフロントエンドから、Zabbixサーバに接続するために必要
(Port 10050へのアクセス)
httpd_can_network_connect_dbは、ZabbixフロントエンドからDBサーバに接続するため。
# fixfiles relabel
↑/var/www/htmlの内容をいじっている場合に、一部ファイルのSELinuxラベルがおかしくなることがあるので、ラベルの貼り直しを行う。
■Zabbix実行用ユーザの追加 (2013/1/5追記)
# groupadd -g 1000 zabbix
# useradd -m -u 1000 -g 1000 zabbix
■Zabbixの設定ウィザードを実行
# service httpd start
http://[サーバIP]/
にアクセスしてウィザードに従い設定
途中設定したコンフィグファイル(zabbix.conf.php)がでてくるので、サーバ上のconfディレクトリに手動でコピーしておく。
(2012/4/14追記: confディレクトリのApacheプロセスからの書き込み権限を付与してあげればOK by くりゅうさん)
■自動起動の設定
# cd [Zabbixのコンパイルディレクトリ]/misc/init.d/redhat/8.0/
※ ↑Zabbix 2.0.4で試してみたところ、redhatディレクトリが存在しないようです。その場合は、fedora/core5のものを使えば良さそうです。(2013/1/5追記)
# cp * /etc/init.d/
# cd /etc/init.d
# chmod 755 zabbix_agentd zabbix_server
# chown root:root zabbix_agentd zabbix_server
# vi zabbix_agentd
chkconfig: - 93 10
progdir="/usr/local/bin/"
# vi zabbix_server
chkconfig: - 90 13
progdir="/usr/local/sbin/"
# chkconfig mysqld on
# chkconfig httpd on
# chkconfig zabbix_server on
# chkconfig zabbix_agentd on
■日本語フォントの設定
デフォルトだとグラフがDejaVuSansで表示されて、日本語のところが□でつぶれてしまうので修正。
(特に何もしなくても入ってくるVL-Gothicを利用します)
# cd [Zabbixフロントエンドのディレクトリ]/fonts
# ln -s /usr/share/fonts/vlgothic/VL-Gothic-Regular.ttf ./
# vi [Zabbixフロントエンドのディレクトリ]/include/defines.inc.php
define('ZBX_GRAPH_FONT_NAME', 'VL-Gothic-Regular'); // font file name
以上。
意外と簡単でした。