zabbix4.0のテスト用環境構築(DockerコンテナでZabbixサーバを作る)

監視ツールとしてzabbixを利用していると、動作確認やテスト目的で自由に使える検証環境が欲しくなる時があります。
検証環境構築の一例として、EC2インスタンスにDockerをいれて、その上でzabbixコンテナを動かす手順のメモです。

EC2インスタンスを作成 (このサーバにDockerをいれてZabbixコンテナを動かします)

 例として下記構成で作成します。※詳しい作成手順は割愛します。
  AMI: ubuntu 18.04 64ビット(x86)
  インスタンスタイプ: t2.micro
  自動割り当てパブリックIP: サブネット設定を使用(有効)
  ストレージ: 8GiB 汎用SSD(gp2)
  Nameタグ: TST-DOCKER01
  セキュリティグループ: TST-DOCKER-SG(新規作成) SSH(22番)への0.0.0.0/0許可

 ※必要に応じて、キーペアも作成(例:TST-DOCKER)してダウンロードしておきます。

 EC2インスタンスが作成できたら、接続確認します。
 Tera Term より
  ホスト: パブリックIPv4アドレスの値を指定
  サービス: SSH
  ユーザ名: ubuntu
  パスフレーズ: 空
  「RSA/DSA/EDCSA/ED25519鍵を使う」にチェックし、秘密鍵にダウンロードしたキーペア(例:TST-DOCKER .pem)を指定

 作成したEC2インスタンス(TST-DOCKER01)にSSHで接続できたらDockerをインストールしていきます。

EC2インスタンス(TST-DOCKER01)にDockerをインストールしていきます

1.パッケージをアップデートします。

$ sudo apt-get update

2.必要なパッケージをインストールします。

$ sudo apt-get -y install apt-transport-https ca-certificates curl gnupg-agent software-properties-common

3.DockerのオフィシャルGPGキーを追加します。

$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
↓
「OK」 が返ってくればOK

4.Dockerダウンロードサイトをaptリポジトリに追加します。

$ sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"

5.Docker Engine一式をインストールします。

パッケージのアップデート
$ sudo apt-get update
6.Docker Engineほか一式のインストール
$ sudo apt-get install -y docker-ce docker-ce-cli containerd.io

7.ubuntuユーザーでdockerを利用できるようにします。

$ sudo gpasswd -a ubuntu docker
↓
「Adding user ubuntu to group docker」が返ってくればOK

8.ログオフします。

$ exit

9.再ログインして、dockerコマンドが利用できることを確認します。

$ docker --version
↓
結果例:
Docker version 20.10.7, build f0df350

これで、EC2インスタンスでDockerが利用できるようになりました。
引き続き、Docker上でZabbixコンテナを起動して管理画面が表示されるか確認します。

 先に、作成されたセキュリティグループ(TST-DOCKER-SG)を編集します。

 インバウンドルールに下記を追加します。
  ・RDP(tcp3389) 0.0.0.0/0
  ・HTTP(tcp80) 0.0.0.0/0
  ・tcp10050 0.0.0.0/0
  ・tcp10051 0.0.0.0/0
  ・すべてのICMP – IPv4 0.0.0.0/0
 
 アウトバウンドは、デフォルト(“全てのトラフィックで0.0.0.0/0許可”)のままです

Zabbix4.0コンテナの起動 (TST-DOCKER01で実行)

1.zabbix-applianceコンテナを起動します。
  (この例では、コンテナ名に”TST-ZABSRV01″として、Zabbix4.0コンテナの最新バージョンを指定しています)

$ docker run --name TST-ZABSRV01 -dit -p 80:80 -p 10050:10050 -p 10051:10051 -e PHP_TZ=Asia/Tokyo -d zabbix/zabbix-appliance:ubuntu-4.0-latest

2.コンテナが起動したことを確認します。

$ docker ps -a ※コンテナ一覧を表示
↓
STATUSが「UP」ならOK

メモ:他の操作したい時
$ docker stop TST-ZABSRV01 ※Zabbixコンテナを停止
$ docker start TST-ZABSRV01 ※Zabbixコンテナを起動

3.ローカルPCのブラウザでアクセスできるか確認してみます。
  http://(TST-DOCKER01のパブリックIPv4アドレス)
   Username: Admin ※Aは大文字です
   Password: zabbix

 ログインできました。
 日本化するには、画面右上のユーザプロファイル(人型のアイコン)から、Languageを「Japanese(ja_JP)」に変更します。

メモ:後片付けするもの

EC2インスタンス削除 → TST-DOCKER01
SG削除 → TST-DOCKER-SG
キーペア削除 → TST-DOCKER

コメント