今回はzabbixのインストールを行います。
yumでもインストールできますが、1.8系しか出来ません。
2.0系はソースコードからインストールしないとダメなので、頑張ってインストールしてみます。
OS:CentOS 6.3 64bit
カーネルバージョン:2.6.32-279.11.1.el6.x86_64
本体:ThinkPadX61
Apache:2.2.15
MySQL:5.1.66
PHP:5.3.3-14.el6_3
zabbix:2.0.3
今回使用するApacheとMySQLはCentOS標準のものを使用しました。
よって、yum install httpd mysql-serverでインストールされるものを使用しています。
http://www.zabbix.jp/
こちらからバージョン2.0.3をダウンロードします。
ダウソしたファイルは/rootにコピーしておいてください。
必要なパッケージをインストールします。
# yum install automake mysql mysql-devel \
mysql-server gcc gcc-c++ libstdc++-devel \
make curl-devel openssl-devel krb5-devel \
libgssapi-devel e2fsprogs-libs libidn-devel \
zlib-devel gcc net-snmp-devel glibc-devel \
openldap-devel unixODBC-devel OpenIPMI \
Open-IPMI-devel libssh2-devel iksemel \
httpd php php-mbstring php-gd php-xml \
php-mysql php-bcmath
この先でmakeするんだけど、./configureで以下のようなエラーが出て進めなかったです。
checking for iksemel support… no
configure: error: Jabber library not found
google先生によると追加リポジトリから必要パッケージをダウンロードできるとのこと。
# wget http://dl.atrpms.net/el6-i386/atrpms/stable/atrpms-repo-6-5.el6.i686.rpm
# rpm -ivh atrpms-repo-6-5.el6.i686.rpm
# yum install iksemel-devel
# mkdir /usr/local/zabbix-2.0.3
# cd /usr/local/src
# cp /root/zabbix-2.0.3.tar.gz /usr/local/src
# cd /usr/local/src/
# tar zxvf zabbix-2.0.3.tar.gz
# cd zabbix-2.0.3.tar.gz
./configureを行います。
例のごとく最適化オプションつけていますので、特殊なCPUを使っている方は
CFLAGSとCXXFLAGSは除外して./configure以下のみ実行してください。
CFLAGSとCXXFLAGSでは搭載しているCPUに最大限最適化するように指示しています。
今回はzabbixを/usr/local/zabbix-2.0.3にインストールします。
# CFLAGS="-O3 -Wall -march=native" CXXFLAGS="-O3 -march=native" \ ./configure --prefix=/usr/local/zabbix-2.0.3 \ --enable-server --enable-ipv6 --with-mysql \ --with-net-snmp --with-jabber --with-libcurl \ --with-ldap --with-openipmi --with-ssh2 --with-unixodbcコンパイルします。
デュアルコアなので同時コンパイル数を5としています。
# make -j5
インストールします。
# make install
makeに失敗したらmkae cleanしてからやり直すこと。
# vi /etc/my.cnf
元のmy.cnfはこのようになっています。
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
これを以下のように書き換えます。
↓
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
character-set-server=utf8
skip-character-set-client-handshake
innodb_file_per_table
innodb_buffer_pool_size=64M
innodb_log_file_size=16M
innodb_log_files_in_group=2
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
# service mysqld start
起動時に問題が起きた場合はログは/var/log/mysqld.logを参照してください。
MySQLよく使われているので表示さているエラーメッセージで検索したらすぐ解決できると思います。
Zabbixで使用するDBを作成してあげます。
# mysql -uroot
mysql>
mysql> create database zabbix;
mysql> grant all privileges on zabbix.* to zabbix@localhost identified by ‘zabbixpassword’;
mysql> flush privileges;
mysql> quit;
その他必要なファイルをコピーします。
# mkdir /usr/local/zabbix-2.0.3/installsql
# mkdir /usr/local/zabbix-2.0.3/startupscripts
# cp /usr/local/src/zabbix-2.0.3/database/mysql/* /usr/local/zabbix-2.0.3/installsql
# cp /usr/local/src/zabbix-2.0.3/misc/init.d/fedora/core/* /usr/local/zabbix-2.0.3/startupscripts
DBの初期データを投入します。
Version2系からはimages.sqlを流してからdata.sqlを流さないとだめみたい。
# mysql -uzabbix -p zabbix < /usr/local/zabbix-2.0.3/installsql/schema.sql
# mysql -uzabbix -p zabbix < /usr/local/zabbix-2.0.3/installsql/images.sql
# mysql -uzabbix -p zabbix < /usr/local/zabbix-2.0.3/installsql/data.sql
confを修正します。
# vi /usr/local/zabbix-2.0.3/etc/zabbix_server.conf
DB接続ユーザーをrootからzabbixに変更
DBUser=root
↓
DBUser=zabbix
以下のエントリが無いので追加します。
DBPassword=zabbixpassword
ログは下記パスに出力されます。
LogFile=/tmp/zabbix_server.log
起動スクリプトの修正
# vi /usr/local/zabbix-2.0.3/startupscripts/zabbix_server
3行目# chkconfig: - 90 10
ですが自動起動する際の起動順番を記述しています。
この場合だと90番目に起動し、停止する時は10番目に停止します。
zabbixはDBを利用するのでDBより後に起動し、DBより先に終了する必要があります。
今回のDBはMySQLですので、MySQLの順番はどうかと調べたらchkconfig: - 64 36
でしたのでそのままの設定でも問題無さそうです。
21行目のBASEDIR=/usr/localはzabbixのインストール先なので以下に書き換えます。
BASEDIR=/usr/local/zabbix-2.0.3
起動スクリプトのシンボリックリンク作成
# ln -s /usr/local/zabbix-2.0.3/startupscripts/zabbix_server /etc/init.d/zabbix_server
起動ユーザーの作成
# groupadd zabbix
# useradd -g zabbix -d /etc/zabbix -s /sbin/nologin -M zabbix
WebUIのファイルコピー
# mkdir /var/www/html/zabbix
# cp -r /usr/local/src/zabbix-2.0.3/frontends/php/* /var/www/html/zabbix
PHPの設定変更
# vi /etc/php.ini
max_execution_time = 300
memory_limit = 64M
post_max_size = 16M
max_input_time = 300
date.timezone = Asia/Tokyo
起動準備を開始します。
起動する前にhttpd.confのServerNameを正しくというか適当に設定しましたか?
zabbixのサービスは起動しましたか?
MySQLが適切に起動するか試しましたか?
# service httpd start
# service mysqld start
# /etc/init.d/zabbix-server start
全部起動したらWebブラウザでアクセスします。
「next」をクリックします。
PHPの設定確認が表示されます。zabbix推奨の設定になっていない時は図のようなエラー表示が出ます。問題となっている部分についてphp.iniを修正して対処してください。
php.iniが推奨値になっていれば図のような「ok」が表示されます。
「Next」をクリックします。
データベースのログイン情報を入力します。
User:zabbix
Paasword:zabbixpassword
「Test connection」を実行してokが表示されることを確認します。
「Next」をクリックします。
ここでは特に変更は不要です。「Next」をクリックします。
設定内容の確認です。「Next」をクリックします。
/var/www/html/zabbix/confに対して書き込み権限を渡していないためエラーが出ます。
# chmod 777 /var/www/html/zabbix/conf
上記コマンドを実行してから「Retry」を実行します。
okが表示されたら「Finish」をクリックします。
さっき許可した権限を修正します。
# chown root:root /var/www/html/zabbix/conf/zabbix.conf.php
# chmod 644 /var/www/html/zabbix/conf/zabbix.conf.php
# chmod 755 /var/www/html/zabbix/conf
ログイン画面が表示されます。
zabbixの初期ユーザーは下記のとおりです。
ユーザー:admin
パスワード:zabbix
ログインすると英語なので日本語にします。
administrations→users のAdminをクリックします。
「Launguage」をJpanaeseに変更します。
「save」をクリックしてから、ログアウトしログインし直すと日本語になります。
位置覆う動くっぽいのでZabbixサーバーデーモンをサービスに登録します。
# chkconfig –add zabbix_server
# chkconfig zabbix_server on
登録されていてOnになっているか確認します。
# chkconfig –list
serviceコマンドで再起動できるか確認します。
# service zabbix_server restart
エージェントのインストールとかトリガとかはまた今度ということで。
こんな事書いてますがZabbixでの運用監視はよく知りません。
トリガとか監視項目の追加が項目多くてよくわからないという…
1.8ですがこの書籍が詳しく解説してあるのでいいと思います。