RDS で zabbixサーバ を構築

## 概要

AWS上でzabbix4系をRDSを使って構築します。

## 進め方

- EC2インスタンスの作成
- RDSの作成
- zabbixサーバの構築
- zabbixサーバの確認

## EC2インスタンスの作成

- AWSのEC2の画面へ行きます

![PacketTracer730_mac.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/129517/0868f4c3-7ffe-8494-143e-a7a0dd489cf0.png)


- OSを選択します

![インスタンスウィザードを起動 - EC2 Management Console 2020-10-24 10-39-07.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/129517/ee2fbf49-1c24-9d1a-c132-5905d56ba47c.png)


- 費用などの表示

![インスタンスウィザードを起動 - EC2 Management Console 2020-10-24 10-40-50.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/129517/03d6f636-8eb1-3cbc-5a47-c160bd2d59cb.png)


- インスタンスタイプの選択

一旦今回は `t2.micro` にしています。
必要ならば後ほどインスタンスタイプ変更します

![インスタンスウィザードを起動 - EC2 Management Console 2020-10-24 10-42-11.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/129517/28e03e3e-718d-d4cc-40d5-21eb44184cc7.png)


- インスタンスの詳細設定

自動割り当てパブリックIPだけ有効にしています。
これを有効にすることによって、グローバルIPアドレスが割り当てられます。

![インスタンスウィザードを起動 - EC2 Management Console 2020-10-24 10-43-33.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/129517/e53f0159-4d89-6b5d-741e-16199c4bd69c.png)


- ストレージの確認

`終了時に削除` にチェックをします。
これにチェックを入れることで、インスタンス削除時に一緒にストレージも削除してくれます。
※通常はストレージは別途消さないといけません

![インスタンスウィザードを起動 - EC2 Management Console 2020-10-24 10-44-46.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/129517/d9c601a0-f069-2524-12fe-5b7bf90dfb9e.png)


- タグの追加

今回は特にないので追加してません

![インスタンスウィザードを起動 - EC2 Management Console 2020-10-24 10-47-12.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/129517/c04c62ed-b33c-943a-3ddd-f23902d5152c.png)


- セキュリティグループ

セキュリティグループを新しく追加しています。
sshとhttpを自分のIPだけ開けています。

![インスタンスウィザードを起動 - EC2 Management Console 2020-10-24 10-49-08.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/129517/740bd46a-c7c4-e5b6-8663-677ac1a7b5b0.png)


- インスタンスの最終確認

設定してきたものに間違いがないかの確認を行います。

![インスタンスウィザードを起動 - EC2 Management Console 2020-10-24 10-50-50.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/129517/ae972aa8-9a6a-81a3-31d7-bf982179021a.png)


- キーペアの設定

インスタンスに入るためにキーを作成します。

![インスタンスウィザードを起動 - EC2 Management Console 2020-10-24 10-51-57.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/129517/d6f3b2d9-845b-dff4-ef6f-95575bc4c694.png)


- インスタンスの完成

インスタンスの出来上がり
※名前が zabbix-rds になっていますがこれは名前を変えました

![インスタンス - EC2 Management Console 2020-10-24 10-53-32.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/129517/59868dfd-40a2-8392-dbc6-c391c7ba4f6c.png)


## RDSの作成

- RDSの画面へ移動

![RDS · AWS Console 2020-10-24 11-06-59.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/129517/b8d25aa2-5c1c-260b-8b0f-0bc2c4b649ab.png)


- データベースの作成

標準作成で行います

![RDS · AWS Console 2020-10-24 11-08-29.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/129517/65ae47b0-9df5-569d-2759-af6928313466.png)


エンジンのオプションは MySQL で作成します
バージョンは出てきたデフォルトを使用しています

![RDS · AWS Console 2020-10-24 11-11-16.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/129517/d66dd876-2309-70f5-2180-f78915c77c7e.png)

テンプレートは `無料利用枠` を今回使用しました。
本番環境作成する時は別のものを選んでください

![Screenshot 2020-10-24 11-13-26.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/129517/ed8fbbd9-a4d3-eb86-d3bf-9f71227bf54a.png)


DBの設定を行なっていきます。

```
インスタンスの識別子 : zabbix
マスターユーザー名 : zabbix
マスターパスワード : 任意
```

![RDS · AWS Console 2020-10-24 11-15-53.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/129517/dea0dda3-f1e2-a555-c48c-68242a7c83e0.png)


インスタンスサイズは一旦デフォルトにしておきます。

![RDS · AWS Console 2020-10-24 11-17-06.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/129517/3bcb36a4-bed7-c7cf-3313-8666b97de639.png)


ストレージも一旦デフォルト。

![RDS · AWS Console 2020-10-24 11-17-44.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/129517/fb23d59c-3728-61cb-22ab-71f0753a744e.png)


可用性と耐久性に関しては、本番環境想定であればマルチAZなどできますが、
今回は何もせず。

![RDS · AWS Console 2020-10-24 11-18-14.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/129517/a49d4320-7fe9-74b7-1861-6023ac997cbe.png)

![RDS · AWS Console 2020-10-24 11-18-40.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/129517/298133f1-1d1c-d89c-30d5-c2754a291739.png)

DBとの接続に関してはパスワード認証で接続します。

![RDS · AWS Console 2020-10-24 11-19-16.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/129517/0ec83ad3-ba47-fc20-5edc-2e366b9d1c9a.png)

- RDSの完成

zabbixのRDSが完成しました

![RDS · AWS Console 2020-10-24 11-24-34.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/129517/ecb87f8f-095d-1ee6-b244-bcaea38b4589.png)

## zabbixサーバの構築

### ログイン

- sshでEC2インスタンスにログイン

インスタンスの画面から `パブリックIPv4 アドレス`　を確認し、IPアドレスを取得

```
$ chmod 400 zabbix.pem
$ ssh -i zabbix.pem centos@xxx.xxx.xxx.xxx
[centos@ip-XX-XX-XX-XX ~]$
```

ログインできました

### 事前準備

- アップデート

```
sudo su -
yum -y update
```

- selinux の無効化

```
vi /etc/selinux/config
==========
SELINUX=enforcing
↓
SELINUX=disabled
==========
reboot
sudo su -
```

### zabbixのインストール

- リポジトリをインストール

```
rpm -Uvh https://repo.zabbix.com/zabbix/4.2/rhel/7/x86_64/zabbix-release-4.2-2.el7.noarch.rpm
```

- zabbixのインストール

```
yum -y install zabbix-server-mysql zabbix-web-mysql zabbix-web-japanese zabbix-agent
```

### MySQLの設定

- mysqlクライアントのインストール

```
yum -y install mysql mysql-devel
```

- RDSに接続

接続コマンドは `mysql -h RDSのエンドポイント -P 3306 -u マスターユーザー名 -p`

ユーザ名は先ほど決めた `マスターユーザー名 : zabbix`

```
mysql -h RDSのエンドポイント -P 3306 -u マスターユーザー名 -p
MySQL [(none)]>
```

- zabbixデータベースの作成

```
create database zabbix character set utf8 collate utf8_bin;
```

- zabbixユーザの作成

```
create user 'zabbix'@'localhost' identified by 'パスワード';
grant all privileges on zabbix.* to zabbix@localhost;
quit;
```

- zabbixの初期データを登録

実行してから少し待ちます

```
zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -h RDSのエンドポイント -P 3306 -u マスターユーザー名 -p zabbix
Enter password: 
```

- configにRDSの情報を登録

```
vi /etc/zabbix/zabbix_server.conf
==========
# DBHost=localhost
↓
DBHost=RDSのエンドポイント

# DBPassword=
↓
DBPassword=RDSのパスワード
==========
```

- httpの設定変更

```
vi /etc/httpd/conf.d/zabbix.conf
==========
追加(# php_value date.timezone Europe/Rigaの下)
php_value date.timezone Asia/Tokyo
==========
```

- http, zabbix-server の起動・自動起動設定を行う

```
systemctl start httpd
systemctl enable httpd
systemctl start zabbix-server
systemctl enable zabbix-server
```

## zabbixサーバの確認

- ブラウザにて接続

インスタンスの画面から `パブリックIPv4 アドレス`　を確認し、IPアドレスを取得

![インスタンス - EC2 Management Console 2020-10-24 11-33-10.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/129517/b9d7b126-deb0-2830-5c82-472dfc3a4a8a.png)


`http://パブリックIPv4 アドレス/zabbix`

![Installation 2020-10-24 12-11-48.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/129517/092b876d-0c3f-21a2-5c60-8ac4401b6453.png)



- 必要項目の確認

`Check of pre-requisites` のすべての項目がOKになっていることを確認

![Installation 2020-10-24 12-15-24.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/129517/9dfb0950-0b88-74ec-e66f-9b361eefcbc4.png)


- DBへの接続事項の確認

```
Database host : RDSのエンドポイント
Password : zabbixユーザのパスワード
```

![Installation 2020-10-24 12-17-44.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/129517/899b3ae0-b05b-16e9-bf33-3a54b185992f.png)


- zabbixサーバの詳細

特に何も変更せずに次へ

![Installation 2020-10-24 12-20-57.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/129517/0611da82-03c1-52ca-d104-a10cdbb691b8.png)


- 最終確認

設定されているものを確認し、問題なければ次へ

![Installation 2020-10-24 12-21-48.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/129517/470ec3c6-d7a8-cb65-f9a0-60e9384fff02.png)


- インストールが完了

![Installation 2020-10-24 12-23-21.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/129517/06be75c6-daec-663d-9ee2-8a71ef3a6df3.png)


- ログイン

初期設定でログインを行う

```
Username : Admin
Password : zabbix
```

![Zabbix 2020-10-24 12-29-50.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/129517/36f8cc1e-924c-c2a9-1440-fa7ed0066bcc.png)


- ダッシュボードが表示されることを確認

![Dashboard 2020-10-24 12-26-21.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/129517/396beb8a-4f4c-072f-534d-33c9fa50faa0.png)