概要
AWS上でZabbix4.2を運用できるように構築します。AWS上でEC2とRDSを立ち上げ、立ち上げたEC2とRDSにZabbixをインストールします。
構成環境:EC2 2台 (OS : Amazon Linux)、RDS 1台(DB : MySQL)
0. 前提条件
- TeratermなどのSSHクライアントソフトをインストールしていること
- AWSのアカウントを作成していること
- <推奨>セキュリティの観点でAWSのアカウントに多要素認証・IAMの設定を実施していること
※本書ではWindows10,Teratermを使用します。
1. VPCのセキュリティルール設定
-
下図のようにセキュリティルールを設定する。
※Zabbix serverからZabbix Agentに接続するには10050ポート、Zabbix agentからZabbix Serverに接続するには10051ポートを接続する必要があります。
2. EC2の立ち上げ
-
インスタンスタイプを選択し「次の手順:インスタンスの詳細の設定」をクリックする。
※本書では「t2.micro」のインスタンスタイプを使用します。
-
下記の項目を設定し「次の手順:ストレージの追加」をクリックする。
-
インスタンスへのログインに必要であるキーペアの作成画面が表示される。「キーペア名」にプライベートキーの名前を入力し「キーペアのダウンロード」をクリックする。その後「インスタンスの作成」をクリックする。
※プライベートキーの再発行はできません。プライベートキーを紛失すると作成したEC2にログインできなくなるので、なくさないように厳重に管理してください。
3. RDSの作成
-
「エンジンのオプション」から下記の項目を選択する。
4. Zabbix Server側の設定
(a) Teratermでログイン
-
Amazon Linuxにログインしたことを確認する。
(b) Zabbixのインストール
-
アップデート可能な全パッケージをアップデートする。
$ sudo yum -y update
-
永続的にSELinuxを無効化する。
$ sudo vi /etc/selinux/config SELINUX=disabled $ sudo reboot
-
Zabbix4.2のリポジトリをインストールする。
$ sudo rpm -Uvh https://repo.zabbix.com/zabbix/4.2/rhel/7/x86_64/zabbix-release-4.2-2.el7.noarch.rpm
-
zabbix-server-mysql,zabbix-web-mysql,zabbix-web-japanese,zabbix-agentをインストールする。
$ sudo yum -y install zabbix-server-mysql zabbix-web-mysql zabbix-web-japanese zabbix-agent
(c) MySQLの設定
-
MySQLクライアントをインストールする。
$ sudo yum -y install mysql mysql-devel
-
RDSに接続する。
$ sudo mysql -h RDSのエンドポイント -P 3306 -u ユーザ名 -p
-
Zabbixのデータベースを作成する。
> create database zabbix character set utf8 collate utf8_bin;
-
Zabbixユーザを作成する。
> grant all on zabbix.* to zabbix@`%` identified by 'パスワード';
-
MySQLからログアウトする。
> quit;
-
Zabbixの初期データを登録する。
$ sudo zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -h RDSのエンドポイント -P 3306 -u ユーザ名 -p zabbix
-
/etc/zabbix/zabbix_server.confにDB情報を登録する。
$ sudo vi /etc/zabbix/zabbix_server.conf DBHost=RDSのエンドポイント DBPassword=RDSのパスワード
-
zabbix-serverの起動・自動起動を設定する。
$ systemctl start httpd $ systemctl enable httpd $ systemctl start zabbix-server $ systemctl enable zabbix-server
(d) Zabbixの設定
-
ブラウザにて「http://(インスタンスのパブリックIP)/zabbix」に接続する。
-
「Check of pre-requisites」にてすべての項目が「OK」と表示されていることを確認する。その後「Next step」をクリックする。
-
「Configure DB connection」にて下記の項目を入力し「Next step」をクリックする。
-
「Pre-installation summary」にて正しい設定値であることを確認し「Next step」をクリックする。
-
「Congratulations! You have successfully installed Zabbix frontend.」と表示されたことを確認し「Finish」をクリックする。
-
Zabbixのログイン画面が表示される。下記の初期ユーザ(Admin)・初期パスワード(zabbix)を入力し「Sign in」をクリックする。
-
「Zabbix agent on Zabbix server is unreachable for 5 minutes」の警告を消すためにzabbix-agentを起動する。
$ sudo systemctl start zabbix-agent $ sudo systemctl enable zabbix-agent
-
「Zabbix agent on Zabbix server is unreachable for 5 minutes」の警告が消えたことを確認する。
(e) Zabbixの日本語化設定
5. Zabbix Agent側の設定
(a) Zabbix-agentのインストール
-
前章の設定方法を参考にして、2台目のEC2インスタンスにターミナルソフトでログインする。
-
アップデート可能な全パッケージをアップデートする。
$ sudo yum -y update
-
永続的にSELinuxを無効化する。
$ sudo vi /etc/selinux/config SELINUX=disabled $ sudo reboot
-
Zabbix4.2のリポジトリをインストールする。
$ sudo rpm -Uvh https://repo.zabbix.com/zabbix/4.2/rhel/7/x86_64/zabbix-release-4.2-2.el7.noarch.rpm
-
zabbix-agentをインストールする。
$ sudo yum install -y zabbix-agent
-
/etc/zabbix/zabbix_agentd.confにZabbix Server側のIPアドレスを入力する。
$ sudo vi /etc/zabbix/zabbix_agentd.conf Server=(Zabbix Server側のIPアドレス) ServerActive=(Zabbix Server側のIPアドレス)
-
zabbix-agentの起動・自動起動を設定する。
$ sudo systemctl start zabbix-agent $ sudo systemctl enable zabbix-agent
(b) Zabbix(GUI)でZabbix Agentの登録
最後に
AWSのEC2、RDSを利用してZabbix4.2を運用することができます。これによりクラウド上でインスタンスの死活監視ができます。
※実際に運用する際はt2.microではメモリが枯渇しますので、大容量のインスタンスタイプを選択して運用してください。