LoginSignup
15
18

More than 3 years have passed since last update.

AWSのEC2とRDSを利用してZabbix4.2を導入する

Posted at

概要

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のセキュリティルール設定

  1. 「サービス」→「VPC」をクリックする。
    001.JPG

  2. 左側メニューから「セキュリティグループ」をクリックする。
    002.JPG

  3. 下側メニューから「インバウンドルール」をクリックする。
    003.JPG

  4. 「ルールの編集」をクリックする。
    004.JPG

  5. 下図のようにセキュリティルールを設定する。

    ※Zabbix serverからZabbix Agentに接続するには10050ポート、Zabbix agentからZabbix Serverに接続するには10051ポートを接続する必要があります。
    セキュリティルール_更新版_改訂版.JPG

2. EC2の立ち上げ

  1. 「サービス」→「EC2」をクリックする。
    006.JPG

  2. 左側メニューから「インスタンス」をクリックする。
    007.JPG

  3. 「インスタンスの作成」をクリックする。
    008.JPG

  4. 「Amazon Linux 2 AMI (HVM), SSD Volume Type」を選択する。
    009.JPG

  5. インスタンスタイプを選択し「次の手順:インスタンスの詳細の設定」をクリックする。

    ※本書では「t2.micro」のインスタンスタイプを使用します。
    010.JPG

  6. 下記の項目を設定し「次の手順:ストレージの追加」をクリックする。

    • インスタンス数 : 2
    • ネットワーク : (セキュリティルールを設定したVPCを選択) 011.JPG
  7. サイズやボリュームタイプを選択し「次の手順:タグの追加」をクリックする。
    012.JPG

  8. タグの設定が必要なければ「次の手順:セキュリティグループの設定」をクリックする。
    013.JPG

  9. 「既存のセキュリティグループを選択する」を選択し「確認と作成」をクリックする。
    014.JPG

  10. 設定した内容が正しいことを確認し「起動」をクリックする。
    015.JPG

  11. インスタンスへのログインに必要であるキーペアの作成画面が表示される。「キーペア名」にプライベートキーの名前を入力し「キーペアのダウンロード」をクリックする。その後「インスタンスの作成」をクリックする。

    ※プライベートキーの再発行はできません。プライベートキーを紛失すると作成したEC2にログインできなくなるので、なくさないように厳重に管理してください。
    017.JPG

  12. 「作成ステータス」画面が表示されたことを確認する。
    018.JPG

  13. 下部の「インスタンスの表示」をクリックする。
    019.JPG

  14. インスタンスが2台作成されたことを確認する。
    034.JPG

3. RDSの作成

  1. 「サービス」→「RDS」をクリックする。
    021.JPG

  2. 「データベース」をクリックする。
    022.JPG

  3. 「データベースの作成」をクリックする。
    023.JPG

  4. 「データベース設定」から「Standard Create」を選択する。
    024.JPG

  5. 「エンジンのオプション」から下記の項目を選択する。

    • エンジンのタイプ : MySQL
    • バージョン: MySQL 5.7.26 025.JPG
  6. 「テンプレート」から使用する環境に合わせて選択する。

    ※本書では「無料利用枠」を選択します。
    026.JPG

  7. 「設定」から下記の項目を入力する。

    • DBインスタンス識別子 : (AWSコンソール上で表示される名前)
    • マスターユーザー名 : (MySQLのログインユーザー名)
    • マスターパスワード : (MySQLのパスワード) 027.JPG
  8. 「DBインスタンスサイズ」からインスタンスサイズを選択する。

    ※本書では「db.t2.micro」を選択します。
    028.JPG

  9. 「Storage」から容量を入力する。
    029.JPG

  10. 「接続」からセキュリティルールを設定したVPCを選択する。
    030.JPG

  11. 「データベースの作成」をクリックする。
    031.JPG

  12. データベースが作成されている画面が表示される。
    032.JPG

  13. データベースが正常に作成されたことを確認する。
    033.JPG

4. Zabbix Server側の設定

(a) Teratermでログイン

  1. 作成したEC2のインスタンスを選択し「接続」をクリックする。
    034 - コピー.JPG

  2. 「スタンドアロンSSHクライント」を選択する。画面に表示されている「パブリックDNS」をコピーする。
    036.JPG

  3. Teratermを起動し「ホスト」にコピーしたパブリックDNSをペーストする。その後「OK」をクリックする。
    037.JPG

  4. 「セキュリティ警告」画面にて「続行」をクリックする。
    038.JPG

  5. 「ユーザー名」をec2-user、「秘密鍵」にてダウンロードしたプライベートキーを選択し「OK」をクリックする。
    039.JPG

  6. Amazon Linuxにログインしたことを確認する。

(b) Zabbixのインストール

  1. アップデート可能な全パッケージをアップデートする。

    $ sudo yum -y update
    
  2. 永続的にSELinuxを無効化する。

    $ sudo vi /etc/selinux/config
    SELINUX=disabled
    $ sudo reboot
    
  3. Zabbix4.2のリポジトリをインストールする。

    $ sudo rpm -Uvh https://repo.zabbix.com/zabbix/4.2/rhel/7/x86_64/zabbix-release-4.2-2.el7.noarch.rpm
    
  4. 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の設定

  1. MySQLクライアントをインストールする。

    $ sudo yum -y install mysql mysql-devel
    
  2. RDSに接続する。

    $ sudo mysql -h RDSのエンドポイント -P 3306 -u ユーザ名 -p
    
  3. Zabbixのデータベースを作成する。

    > create database zabbix character set utf8 collate utf8_bin;
    
  4. Zabbixユーザを作成する。

    > grant all on zabbix.* to zabbix@`%` identified by 'パスワード';
    
  5. MySQLからログアウトする。

    > quit;
    
  6. Zabbixの初期データを登録する。

    $ sudo zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -h RDSのエンドポイント -P 3306 -u ユーザ名 -p zabbix
    
  7. /etc/zabbix/zabbix_server.confにDB情報を登録する。

    $ sudo vi /etc/zabbix/zabbix_server.conf
    DBHost=RDSのエンドポイント
    DBPassword=RDSのパスワード
    
  8. zabbix-serverの起動・自動起動を設定する。

    $ systemctl start httpd
    $ systemctl enable httpd
    $ systemctl start zabbix-server
    $ systemctl enable zabbix-server
    

(d) Zabbixの設定

  1. ブラウザにて「http://(インスタンスのパブリックIP)/zabbix」に接続する。

  2. 「Welcome to Zabbix 4.2」と表示されたことを確認する。その後「Next step」をクリックする。
    041.JPG

  3. 「Check of pre-requisites」にてすべての項目が「OK」と表示されていることを確認する。その後「Next step」をクリックする。
    042.JPG

  4. 「Configure DB connection」にて下記の項目を入力し「Next step」をクリックする。

    • Database host : (RDSのエンドポイント)
    • Password : (zabbixユーザのパスワード) 043.JPG
  5. 「Zabbix server details」にて「Next step」をクリックする。
    044.JPG

  6. 「Pre-installation summary」にて正しい設定値であることを確認し「Next step」をクリックする。
    045.JPG

  7. 「Congratulations! You have successfully installed Zabbix frontend.」と表示されたことを確認し「Finish」をクリックする。
    046.JPG

  8. Zabbixのログイン画面が表示される。下記の初期ユーザ(Admin)・初期パスワード(zabbix)を入力し「Sign in」をクリックする。
    047.JPG

  9. Zabbixのダッシュボードが表示されたことを確認する。
    048.JPG

  10. 「Zabbix agent on Zabbix server is unreachable for 5 minutes」の警告を消すためにzabbix-agentを起動する。

    $ sudo systemctl start zabbix-agent
    $ sudo systemctl enable zabbix-agent
    
  11. 「Zabbix agent on Zabbix server is unreachable for 5 minutes」の警告が消えたことを確認する。
    049.JPG

(e) Zabbixの日本語化設定

  1. 右側上部の人型マークをクリックする。
    050.JPG

  2. 「Language」を「Japanese (ja_JP)」に変更し「Update」をクリックする。
    051.JPG

  3. 日本語に設定されたことを確認する。
    052.JPG

5. Zabbix Agent側の設定

(a) Zabbix-agentのインストール

  1. 前章の設定方法を参考にして、2台目のEC2インスタンスにターミナルソフトでログインする。

  2. アップデート可能な全パッケージをアップデートする。

    $ sudo yum -y update
    
  3. 永続的にSELinuxを無効化する。

    $ sudo vi /etc/selinux/config
    SELINUX=disabled
    $ sudo reboot
    
  4. Zabbix4.2のリポジトリをインストールする。

    $ sudo rpm -Uvh https://repo.zabbix.com/zabbix/4.2/rhel/7/x86_64/zabbix-release-4.2-2.el7.noarch.rpm
    
  5. zabbix-agentをインストールする。

    $ sudo yum install -y zabbix-agent
    
  6. /etc/zabbix/zabbix_agentd.confにZabbix Server側のIPアドレスを入力する。

    $ sudo vi /etc/zabbix/zabbix_agentd.conf
    Server=(Zabbix Server側のIPアドレス)
    ServerActive=(Zabbix Server側のIPアドレス)
    
  7. zabbix-agentの起動・自動起動を設定する。

    $ sudo systemctl start zabbix-agent
    $ sudo systemctl enable zabbix-agent
    

(b) Zabbix(GUI)でZabbix Agentの登録

  1. ダッシュボードから「設定」をクリックする。
    052.JPG

  2. 「ホスト」をクリックする。
    054.JPG

  3. 「ホストの作成」をクリックする。
    055.JPG

  4. 下記の項目を入力し「テンプレート」をクリックする。

    • ホスト名 : (分かりやすい名前を入力)
    • 表示名 : (分かりやすい名前を入力)
    • グループ : Linux servers
    • IPアドレス : (Zabbix Agent側のIPアドレスを入力) 056.JPG
  5. 「テンプレートのリンク」に「Template OS Linux」を設定し「追加」をクリックする。
    057.JPG

  6. 「ホストを追加しました」と表示されたことを確認する。
    058.JPG

  7. Zabbix Agent側の情報が取得できていることを確認する。
    059.JPG

  8. <障害試験>Zabbix Agent側にてzabbix-agentを停止する。その後、Zabbixのダッシュボード画面にてZabbix Agent側と疎通できない警告が表示されたことを確認する。
    060.JPG

最後に

AWSのEC2、RDSを利用してZabbix4.2を運用することができます。これによりクラウド上でインスタンスの死活監視ができます。

※実際に運用する際はt2.microではメモリが枯渇しますので、大容量のインスタンスタイプを選択して運用してください。

15
18
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
15
18