AWS上にzabbix-server構築してみた (Nginx + Php-fpm)

Nginx + php-fpmの勉強をしたくて構築してみました。
最終的にはそれ以外のことに費やした時間のほうが長くなりましたが…
メモ書きなのでつらつらと書いていきます。
 
※かなりの長文になってしまいました…

環境

  • Amazon Linux (3.2.34-55.46.amzn1.x86_64)
  • zabbix 2.0.4
  • mysql 5.5.27
  • nginx 1.2.6
  • php 5.3.20

やったこと

  1. RDSセットアップ
  2. zabbix-2.0のrpm作成
  3. zabbix インストール
  4. Nginx + php-fpm インストール
  5. SESでアラートメール送信設定 ←力尽きました… あとでやります。

続き書きました!

RDSセットアップ

ec2にmysql入れてもいいのですが、せっかくなのでRDS使用してみます。

  • AWS Management ConsoleからDB Parameter Group 作成

create_rds_prm

  • 文字コードをutf-8に修正。CLIでズババッと。こちらを参考に。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
mkdir aws
cd aws/
wget http://s3.amazonaws.com/rds-downloads/RDSCli.zip
unzip RDSCli.zip
cd RDSCli-1.12.001/
echo "AWSAccessKeyId=********" > credential-file-path.txt
echo "AWSSecretKey=********" >> credential-file-path.txt
echo "export AWS_RDS_HOME=/home/ec2-user/aws/RDSCli-1.12.001" >> ~/.bashrc
echo "export PATH=/home/ec2-user/aws/RDSCli-1.12.001/bin:$PATH" >> ~/.bashrc
echo "export EC2_REGION=ap-northeast-1" >> ~/.bashrc
echo "export AWS_CREDENTIAL_FILE=/home/ec2-user/aws/RDSCli-1.12.001/credential-file-path.txt" >> ~/.bashrc
source ~/.bashrc
rds-describe-db-parameter-groups
rds-modify-db-parameter-group zabbix20 -p "name=character_set_client, value=utf8, method=immediate"
rds-modify-db-parameter-group zabbix20 -p "name=character_set_connection, value=utf8, method=immediate"
rds-modify-db-parameter-group zabbix20 -p "name=character_set_database, value=utf8, method=immediate"
rds-modify-db-parameter-group zabbix20 -p "name=character_set_results, value=utf8, method=immediate"
rds-modify-db-parameter-group zabbix20 -p "name=character_set_server, value=utf8, method=immediate"
  • DBインスタンス作成して接続確認

こんな感じで適当に作成。

create_db-instance

接続して文字コードチェック。

1
2
3
4
sudo yum install mysql
mysql -u USER -h ********.ap-northeast-1.rds.amazonaws.com -p DATABASE
Enter password: 
ERROR 2003 (HY000): Can't connect to MySQL server on '********.ap-northeast-1.rds.amazonaws.com' (110)

DB Security Groupsの設定が抜けていました。。。
設定して再チャレンジ!

1
2
3
4
5
6
7
8
9
10
11
12
13
14
mysql -u USER -h ********.ap-northeast-1.rds.amazonaws.com -p DATABASE
mysql> SHOW VARIABLES LIKE 'character_set%';
+--------------------------+-------------------------------------------+
| Variable_name            | Value                                     |
+--------------------------+-------------------------------------------+
| character_set_client     | utf8                                      |
| character_set_connection | utf8                                      |
| character_set_database   | latin1                                    |
| character_set_filesystem | binary                                    |
| character_set_results    | utf8                                      |
| character_set_server     | utf8                                      |
| character_set_system     | utf8                                      |
| character_sets_dir       | /rdsdbbin/mysql-5.5.27.R1/share/charsets/ |
+--------------------------+-------------------------------------------+

えぇ〜!(ノω<;)
databaseどうした…
設定抜けた? 再設定してもう1回…

1
2
3
4
5
6
7
8
9
10
11
12
13
14
rds-modify-db-parameter-group zabbix20 -p "name=character_set_database, value=utf8, method=immediate"
mysql> SHOW VARIABLES LIKE 'character_set%';
+--------------------------+-------------------------------------------+
| Variable_name            | Value                                     |
+--------------------------+-------------------------------------------+
| character_set_client     | utf8                                      |
| character_set_connection | utf8                                      |
| character_set_database   | latin1                                    |
| character_set_filesystem | binary                                    |
| character_set_results    | utf8                                      |
| character_set_server     | utf8                                      |
| character_set_system     | utf8                                      |
| character_sets_dir       | /rdsdbbin/mysql-5.5.27.R1/share/charsets/ |
+--------------------------+-------------------------------------------+

ぐぬぬ。。。 とりあえずrebootしてみる。
→ダメでした。。。
こちらのサイト様を参考に解決しました!

1
2
3
4
5
6
7
8
9
10
11
12
13
14
mysql> alter database DATABASE default character set utf8;
mysql> SHOW VARIABLES LIKE 'character_set%';
+--------------------------+-------------------------------------------+
| Variable_name            | Value                                     |
+--------------------------+-------------------------------------------+
| character_set_client     | utf8                                      |
| character_set_connection | utf8                                      |
| character_set_database   | utf8                                      |
| character_set_filesystem | binary                                    |
| character_set_results    | utf8                                      |
| character_set_server     | utf8                                      |
| character_set_system     | utf8                                      |
| character_sets_dir       | /rdsdbbin/mysql-5.5.27.R1/share/charsets/ |
+--------------------------+-------------------------------------------+

zabbix-2.0のrpm作成

zabbix-2.0のrpm作成します。
参考サイト様はこちら

  • 必要なパッケージ類のインストール
1
2
3
4
5
6
7
8
9
10
11
12
git clone https://github.com/atanaka7/zabbix-jp-amzn1.git
sudo yum update
sudo yum groupinstall 'Development tools'
sudo yum install mysql-devel net-snmp-devel openldap-devel sqlite-devel unixODBC-devel libssh2-devel java-devel curl-devel OpenIPMI-devel mysql postgresql-devel
sudo rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
sudo sed -ie "s/\$releasever/6/g" /etc/yum.repos.d/remi.repo
sudo yum install php-cli php-mbstring php-common php-mysql php-xml php php-pdo php-gd php-bcmath --enablerepo=remi
cd /usr/local/src/
sudo wget http://www.zabbix.jp/binaries/relatedpkgs/rhel6/x86_64/fping-2.4b2-16.el6.JP.x86_64.rpm
sudo wget http://www.zabbix.jp/binaries/relatedpkgs/rhel6/x86_64/iksemel-1.4-2.el6.JP.x86_64.rpm
sudo wget http://www.zabbix.jp/binaries/relatedpkgs/rhel6/x86_64/iksemel-devel-1.4-2.el6.JP.x86_64.rpm
sudo yum localinstall fping-2.4b2-16.el6.JP.x86_64.rpm iksemel-1.4-2.el6.JP.x86_64.rpm iksemel-devel-1.4-2.el6.JP.x86_64.rpm
  • rpmbuild
1
2
3
4
5
6
7
8
mkdir -p ~/rpmbuild/{BUILD,RPMS,SOURCES,SPECS,SRPMS}
echo "%_topdir $HOME/rpmbuild" > ~/.rpmmacros
echo "%_builddir %{_topdir}/BUILD" >> ~/.rpmmacros
echo "%_rpmdir %{_topdir}/RPMS" >> ~/.rpmmacros
echo "%_sourcedir %{_topdir}/SOURCES" >> ~/.rpmmacros
echo "%_specdir %{_topdir}/SPECS" >> ~/.rpmmacros
echo "%_srcrpmdir %{_topdir}/SRPMS" >> ~/.rpmmacros
rpmbuild --rebuild zabbix-2.0.4-1.amzn1.src.rpm

zabbix インストール

  • rpm インストール
1
2
3
4
cd ~/rpmbuild/RPMS/x86_64/
sudo yum localinstall zabbix-2.0.4-1.amzn1.x86_64.rpm zabbix-server-2.0.4-1.amzn1.x86_64.rpm \
zabbix-server-mysql-2.0.4-1.amzn1.x86_64.rpm zabbix-web-mysql-2.0.4-1.amzn1.x86_64.rpm \
zabbix-agent-2.0.4-1.amzn1.x86_64.rpm ../noarch/zabbix-web-2.0.4-1.amzn1.noarch.rpm
  • データベース設定
1
2
3
4
cd /usr/share/doc/zabbix-server-2.0.4/database/mysql/
sudo cat schema.sql |mysql -u USER -h ********.ap-northeast-1.rds.amazonaws.com -p DATABASE
sudo cat images.sql |mysql -u USER -h ********.ap-northeast-1.rds.amazonaws.com -p DATABASE
sudo cat data.sql |mysql -u USER -h ********.ap-northeast-1.rds.amazonaws.com -p DATABASE
  • Zabbix-Server設定

/etc/zabbix/zabbix_server.confの修正点のみつらつらと…

1
2
3
4
DBHost=********.ap-northeast-1.rds.amazonaws.com
DBName=MYSQL_DB
DBUser=MYSQL_USER
DBPassword=MYSQL_PW
  • Zabbix-Server起動

エラーなければok.

1
sudo /etc/init.d/zabbix-server start

Nginx + php-fpm インストール

  • インストール手順
1
2
3
4
5
6
7
8
9
10
11
12
sudo yum install nginx php php-fpm php-devel php-cli php-xml php-mysql php-mbstring php-gd --enablerepo=remi
cd /etc/nginx/
sudo vim /etc/php.ini
sudo vim /etc/php-fpm.d/php_zabbix.conf
sudo vim nginx.conf
sudo vim conf.d/nginx_zabbix.conf
sudo mkdir /var/log/nginx/zabbix/
sudo mkdir /var/www/nginx
sudo ln -s /usr/share/zabbix /var/www/nginx/zabbix
sudo /etc/init.d/php-fpm start
sudo nginx -t
sudo /etc/init.d/nginx start
  • 各種設定ファイル
  • Nginx,php-fpm起動

起動時にエラーがなく、http://domain/zabbixにアクセスしてこんな画面が出ればok. あとは画面の指示に従ってインストール!
何かおかしいときは画面上部に赤字でエラー内容が出るのでそれを参考に修正。

1
2
3
sudo /etc/init.d/php-fpm start
sudo /etc/init.d/nginx start
sudo chown nginx:nginx /etc/zabbix/zabbix.conf.php

zabbix_web

とりあえず完成!

  • 完全に複数の記事に分けるべきでした。
  • 構築しながらブログ書いて疲れました。
  • SESでアラートメール送信は後日やります。。。

続きはこちら!

zabbix_web2

Comments