Ubuntu14.04 LTSへのzabbix 2.2のインストール


Ubuntu14.04 LTSに環境以降した際のメモ書きを公開します。環境は下記の通り。apt-get で最新版の2.2がインストール可能なので今回は全部apt-getでインストールします。

  1. Ubuntu Server 14.04 LTS
  2. nginx(Apacheは使っていない)
  3. MySQL

パッケージをまとめてインストール

今回、急ぎで構築していたので、sudo su – でrootになって作業しています。

sudo su -
echo "UseDNS no" >> /etc/ssh/sshd_config
echo "net.ipv6.conf.all.disable_ipv6 = 1" >> /etc/sysctl.conf
echo "net.ipv6.conf.default.disable_ipv6 = 1" >> /etc/sysctl.conf
apt-get install sysv-rc-conf sysstat
apt-get install zabbix-frontend-php zabbix-agent zabbix-server-mysql zabbix-agent
apt-get install nginx php5-fpm  php5-cli php5-mysql

# nginxを使うので、Apacheは削除する。
apt-get remove apache2
apt-get clean

phpの設定

php.iniのすべてに対して、disable_functionsのコメントアウトと、date.timezoneの設定を行う。
findでphp.iniを検索して、他にも該当ファイルがあればそれらも修正してください。
php.iniのすべてに対して、disable_functionsのコメントアウトと、date.timezoneの設定を行う。
findでphp.iniを検索して、他にも該当ファイルがあればそれらも修正してください。

find /etc/php5 -name php.ini
cp /etc/php5/fpm/php.ini /etc/php5/fpm/php.ini.bak
sed -i 's/disable_functions/;disable_functions/g' /etc/php5/fpm/php.ini
sed -i 's/;date.timezone =/date.timezone = "Asia\/Tokyo"/g' /etc/php5/fpm/php.ini
diff /etc/php5/fpm/php.ini /etc/php5/fpm/php.ini.bak

cp /etc/php5/cli/php.ini /etc/php5/cli/php.ini.bak
sed -i 's/disable_functions/;disable_functions/g' /etc/php5/cli/php.ini
sed -i 's/;date.timezone =/date.timezone = "Asia\/Tokyo"/g' /etc/php5/cli/php.ini
diff /etc/php5/cli/php.ini /etc/php5/cli/php.ini.bak
cp /usr/share/doc/zabbix-frontend-php/examples/zabbix.conf.php.example /etc/zabbix/zabbix.conf.php
chown www-data:www-data /etc/zabbix/zabbix.conf.php
vi /etc/php5/fpm/php.ini

/etc/php5/fpm/php.iniの設定

デフォルトインストール状態だと、zabbixインストール中にパラメータチェックでエラーが出るので、あらかじめ値を修正しておきます。

date.timezone = "Asia/Tokyo";
post_max_size = 16M
max_execution_time = 300
max_input_time = 300

nginxの設定

/etc/nginx/sites-available/defaultのserverセクション内に下記を追加。

location /zabbix {
if ($scheme ~ ^http:){
rewrite ^(.*)$  https://$host$1 permanent;
}
alias                   /usr/share/zabbix;
index                   index.php;
error_page              403 404 502 503 504  /zabbix/index.php;

location ~ .php$ {
if (!-f $request_filename) { return 404; }
expires                 epoch;
include                 /etc/nginx/fastcgi_params;
fastcgi_index   index.php;
fastcgi_pass    unix:/var/run/php5-fpm.sock;
}

location ~ .(jpg|jpeg|gif|png|ico)$ {
access_log      off;
expires         33d;
}

}

nginxを再起動

service nginx restart

DBの設定

export ZABBIX_DB_PASS=`openssl rand -hex 10`
export MYSQL_ROOT_PASS=mysqlpass
sed -i "s/^# DBPassword=/DBPassword=$ZABBIX_DB_PASS/g"
/etc/zabbix/zabbix_server.conf

# zabbix用のDB作成と権限付与
mysql -uroot -p$MYSQL_ROOT_PASS -e "drop database if exists zabbix;"
mysql -uroot -p$MYSQL_ROOT_PASS -e "CREATE DATABASE zabbix character set utf8;"
mysql -uroot -p$MYSQL_ROOT_PASS -e "grant all privileges on zabbix.* to 'zabbix'@'localhost' identified by '$ZABBIX_DB_PASS'"
mysql -uroot -p$MYSQL_ROOT_PASS -e "flush privileges"

# 接続確認(接続出来たらquitで抜ける)
mysql -uzabbix -p$ZABBIX_DB_PASS zabbix

cd /usr/share/zabbix-server-mysql/
sudo gunzip *.gz

mysql -uzabbix -p$ZABBIX_DB_PASS zabbix < schema.sql
mysql -uzabbix -p$ZABBIX_DB_PASS zabbix < images.sql
mysql -uzabbix -p$ZABBIX_DB_PASS zabbix < data.sql

サービスの登録

service zabbix-server start
sysv-rc-conf --level 35 zabbix-server on
sysv-rc-conf --level 35 zabbix-agent on

sed -i "s/START=no/START=yes/g" /etc/default/zabbix-server

reboot

ここまで来たら、http://zabbix-host-ip/zabbix にアクセスして設定をします。

zabbix2.210

nextで次へ。

zabbix2.211
上記画面でチェックに引っかかった場合には、/etc/php5/fpm/php.iniが該当ファイルなので、怒られたパラメータを修正。

zabbix2.212

/etc/zabbix/zabbix_server.confの中で指定したユーザー名、パスワードを入れる。念の為、Passwordには、インストール中に設定した$ZABBIX_DB_PASSが入る。

zabbix2.213

Nameにはホスト名かIPアドレスを入れる。

zabbix2.214

設定に間違いが無ければ次へ。この画面でDB接続エラーが出てどうしようもなくなった場合には、/etc/zabbix/zabbix.conf.phpを直接編集してしまえばOK(バッドノウハウ)。

zabbix2.215

ログイン画面が出てきたら、admin/zabbixでログインできます。一応、

タグ付けされた , . ブックマークする へのパーマリンク.

コメントを残す

メールアドレスが公開されることはありません。