2012/04/12

入れ終わったときのZabbix 2.0の画面。

Zabbix 1.6の頃とはもう趣が違いますねぇ。。。
そしてIPv6アドレス直指定でもちゃんと動くようになってます。



Scientific LinuxにZabbix 2.0rc2を入れてみた。(Zabbix 2.0.4に合わせて一部修正)


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

以上。
意外と簡単でした。