Zabbixを導入する手順を紹介します。
今回はApacheを使わずにnginxとphp-fpmを使います。 環境は以下の通り
- Zabbix 3.0.21
- OS:Amazon Linux
- php5.6
- mysql5.5
- nginx
■必要パッケージのインストール
yum install mysql-server nginx php56 php56-gd php56-mbstring php56-mysqlnd php56-bcmath
古いバージョンのphp53などがよく入っていてconflictするので見逃さずに。Zabbixはphp56以上推奨なので・・・
■Zabbixのrpmとインストール
# yumリポジトリの追加 % rpm -ivh http://repo.zabbix.com/zabbix/3.0/rhel/6/x86_64/zabbix-release-3.0-1.el6.noarch.rpm # Zabbix関連パッケージのインストール % yum install zabbix-server-mysql.x86_64 zabbix-web-mysql.noarch zabbix-web-japanese.noarch zabbix-get
ここできちんと、Zabbix-3.0以上をrpmしていることを確認してくださいね。 ネット上にはZabbix-2.0系のコマンドがたくさんありますので。
■Mysqlの設定 Mysqlにzabbixのアカウントを追加します。
# MySQLの起動 % service mysqld start # MySQLにZabbix用ユーザ作成 % mysql -uroot : : mysql> CREATE USER zabbix; Query OK, 0 rows affected (0.00 sec) mysql> CREATE DATABASE zabbix; Query OK, 1 row affected (0.00 sec) mysql> GRANT ALL PRIVILEGES ON zabbix.* TO zabbix@localhost IDENTIFIED BY '<パスワード>'; Query OK, 0 rows affected (0.00 sec) mysql> FLUSH PRIVILEGES; Query OK, 0 rows affected (0.00 sec) mysql> \q Bye # MySQLにZabbixスキーマとデータを投入 % cd /usr/share/doc/zabbix-server-mysql-3.0.21/ % zcat create.sql.gz| mysql -uroot zabbix
たまにスキーマとデータ投入がうまくいかない時があって、それは、「3.0.21」の部分がたまに変わっていたり間にディレクトリが一つ多かったりしますので、つっかえたら確認してください。
■nginxの設定 nginxは以下の場所に新しく設定の.confファイルを作ります。
#vim /etc/nginx/conf.d/zabbix.conf server { listen 80; server_name zabbix; #ドキュメントルートに zabbix の設定ファイルがあるディレクトリ(デフォルトで /usr/share/zabbix)を設 定する(シンボリックリンクを貼るのもありだがこっちのが良いかもしれないです。 root /usr/share/zabbix; index index.html index.php; access_log /var/log/nginx/access_zabbix.log main; error_log /var/log/nginx/error_zabbix.log error; location /zabbix { try_files $uri $uri/ /index.html index.php; index index.php; } location ~ \.php { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } }
とまるごと置きます。
■権限の変更 Apacheがデフォルトになっているものをnginxに変えたり、権限をnginxに移行していきます。
#nginxがzabbixを書き換えられるようにしておく chmod 777 /etc/zabbix/web/
php-fpmはデフォルトでapacheをユーザーとしているため変更してしまいます。
vim /etc/php-fpm.d/www.conf ... user= nginx group= nginx ...
自分がやったときはなぜか変なところでApacheの権限が残っちゃって、zabbixが動かなかったので、 以下の部分の権限も変更しました。
chmod 777 /var/lib/php/5.6/session/ chmod 777 /var/lib/php/5.6/wsdlcache
この2つは
etc/php-fpm.d/www.conf
から見つけました。
■あとはzabbixを動かしてみる。
service zabbix-server restart service php-fpm restart service nginx restart
http://{IP}/zabbix と入れてみよう
□余談 zabbixの設定を一通り終えても、はじめはzabbixが起動すらしなかった。 なので、
/var/log/nginx/error.log
を確認すると、省略してこんなことを言ってたよ
/usr/share/nginx/html/zabbix" failed (2: No such file or d irectory)
あれーおかしいなぁー。さっき、root /usr/share/zabbix; って設定したのになーと思いつつ、解決方法は結局対症療法的に、
ln -s /usr/share/zabbix /usr/share/nginx/html
という形にしたら動いたからオッケーと言う形にしたよ。
セキュリティ的にはいい方法ではないことなので、気になる人はやめてね。