【やってみた】Zabbix6.0の構築 EC2+RDS

記事タイトルとURLをコピーする

みなさん、こんにちは。2022年8月からサーバーワークスにジョインしました、しずかと申します。 当社の文化のひとつに、エンジニアが積極的にブログで情報発信をしています。これは当社のことを広く皆さんに知ってもらうために行っています。 わたしもその文化を見習って、さっそく書いてみることにしました。

はじめに

はじめに

この記事の手順や構成については、あくまでも検証目的です。 当社のサービス提供時の構築手順や、システム構成とは異なりますので、ご了承ください。

対象読者

この記事は、EC2ならびにRDSをほとんど触ったこと無い方や、Zabbixをインストールを実施したことない方を対象に記載しています。 AWSの部分をご存じの方は、Zabbixのセットアップ部分まで読み飛ばして頂くのがよろしいかもしれません。

Zabbixについて

Zabbixとは

Zabbixとは、オープンソースの統合管理ツールです。あらゆるリソースから柔軟にデータを収集でき、リアルタイムで障害を検知・通知、データの可視化による高度な分析もできる統合監視ツールです。 詳細は、公式ホームページの製品ページを参照してください。

www.zabbix.com

インストールに必要な要件の確認

詳細は公式ドキュメントを適宜参照しましょう。バージョン6.0のドキュメントも日本語版がたくさん公開されてます。 特に設計・サイジングにおいては、こちらが参考になると思います。

www.zabbix.com

本ブログでの構成

この記事では、以下の構成で構築してみます。記載のない部分は特にこだわりはありません。

構成

EC2

項目 パラメータ
OS Ubuntu 22.04

RDS

項目 パラメータ
エンジン MySQL 8.0.x

Zabbix

項目 パラメータ
バージョン 6.0.x LTS

構築

ではさっそく構築を進めていきましょう。

EC2インスタンスの作成

まずはAWS マネジメントコンソールにアクセスし、サービスからEC2にアクセスします。 EC2のインスタンス一覧から、右上の インスタンスを起動 を押下します。

次にインスタンス名を入力します。

次にOSイメージを選択します。ここでは Ubuntu 22.04 で作成を進めます。

次にインスタンスタイプを選択します。ここでは t2.large を選択していますが、前述のインストール要件に合わせて適切なものを選択してください。

次にキーペアを指定します。既存の鍵を使用する場合はプルダウンから選択できます。 ここでは 新しいキーペア を作成します。

キーペア名は、ご自身で管理しやすい名前にしてください。ここではキーペアのタイプは ED25519 を利用します。 各項目を入力したら、キーペアを作成 を押下します。秘密鍵のダウンロードが始まるので、適切に保管しましょう。

次にネットワーク設定にて、VPCとセキュリティグループを選択します。 ここでVPCは、デフォルトVPCを使用するため、特に選択しません。 セキュリティグループは適切なものをプルダウンから選択します。 最低限、SSHとWebアクセスが必要になります。

ストレージの設定は、デフォルトのままで進めます。

一通り設定が完了したら、画面右側の概要欄から、インスタンスを起動 を押下して、インスタンスの作成します。

インスタンス一覧に戻り、インスタンスの状態が 実行中 、ステータスチェックが 2/2のチェックに合格しました となっていることを確認してください。

以上でEC2インスタンスの作成が完了です。

RDSデータベースインスタンスの作成

次にRDSでDBインスタンスを作成していきます。 AWS マネジメントコンソールにアクセスし、サービスからRDSにアクセスします。 ダッシュボードから、データベースの作成 を押下してください。

標準作成 でDBインスタンスを作成していきます。

次にエンジンタイプを選択します。ここでは、MySQL でバージョンは 8.0.28 とします。

無料利用枠 で進めます。

次に設定にて、各項目を入力します。変更する場合は、後述のデータベースセットアップ時に、コマンドを適宜置き換えてください。

インスタンスタイプを選択します。

ストレージの設定は、デフォルトのままで進めます。

接続の設定をします。ワンクリックで接続する方法を利用します。 インスタンスは前項で作成したEC2インスタンスを指定してください。

セキュリティグループも適切なものを選択してください。

認証方式は パスワード認証 を選択します。

一通り設定が完了したら、データベースの作成 を押下します。

作成中はこのような画面が表示されます。構成にもよりますが、完了するまでに10分近くかかる場合があります。

ステータスが 利用可能 となれば作成完了です。

データベースの詳細から、エンドポイント と ポート を確認しておきましょう。

Zabbix Serverのセットアップ

SSHでインスタンスにログインし、適宜アップデートをかけておきましょう。

$ sudo su -
# apt update
# apt upgrade

次にブラウザでZabbixのサイトにアクセスします。

www.zabbix.com

右上の ダウンロード を押下します。

Zabbix Packages から プラットフォームを選択します。

ページをスクロールし、リポジトリの登録と各パッケージをインストールまで行います。

次に、C. Create initial database の項目ですが、ここではRDSを利用するため、2か所のコマンドを修正する必要があります。

まず1つ目は、RDSのエンドポイントを指定するよう修正、またRDS作成時にマスターユーザを指定しているため、ユーザ指定も変更します。 その後の クリエイトなどは、そのままで問題ありません。

# mysql -h エンドポイント -u zabbix -p

2つ目のスキーマのインポートについても、同様にエンドポイントの指定が必要になります。実行後は完了するまでに少し時間がかかります。

# zcat /usr/share/doc/zabbix-sql-scripts/mysql/server.sql.gz | mysql -h エンドポイント -u zabbix -p zabbix

完了したら、ページをスクロールし、zabbix_server.conf を修正します。 DBPassword だけでなく、DBHost にてエンドポイントを指定するよう修正してください。

変更差分は以下の通りです。

# sdiff -s /etc/zabbix/zabbix_server.conf.org /etc/zabbix/zabbix_server.conf
# DBHost=localhost                        | DBHost=zabbix.****.rds.amazonaws.com
# DBPassword=                             | DBPassword=****

セットアップは以上で完了です。

Zabbix Webの日本語化

デフォルトでは、Zabbix Webは日本語対応していません。以下の手順で日本語化することができます。

# dpkg-reconfigure locales

以下のUIが表示されるので、ja_JP.UTF-8 UTF-8 を探して スペース でチェックを入れます。 選択したら、Tab で <Ok> にカーソルを合わせて、Enter を押下してください。

以下の画面に遷移しますので、ja_JP.UTF-8 を選択して、<Ok> を押下してください。

CLI上に以下の出力があれば完了です。

Generating locales (this might take a while)...
  en_US.UTF-8... done
  ja_JP.UTF-8... done
Generation complete.

グラフの日本語対応

Zabbix Webの日本語対応を行った場合、グラフの文字化けが発生してしまいます。 以下の方法で対処することができます。 まずはパッケージのインストールをします。

# apt install fonts-mplus

次に以下のコマンドを実行します。

# update-alternatives --install /usr/share/zabbix/assets/fonts/graphfont.ttf zabbix-frontend-font /usr/share/fonts/truetype/mplus/mplus-2p-regular.ttf 20
update-alternatives: using /usr/share/fonts/truetype/mplus/mplus-2p-regular.ttf to provide /usr/share/zabbix/assets/fonts/graphfont.ttf (zabbix-frontend-font) in auto mode

以下のコマンドを実行して、mplus-2p-regular.ttf に * が付いていることを確認してください。ついていればそのまま <Enter> を押下します。

# update-alternatives --config zabbix-frontend-font
There are 2 choices for the alternative zabbix-frontend-font (providing /usr/share/zabbix/assets/fonts/graphfont.ttf).

  Selection    Path                                                  Priority   Status
------------------------------------------------------------
* 0            /usr/share/fonts/truetype/mplus/mplus-2p-regular.ttf   20        auto mode
  1            /usr/share/fonts/truetype/dejavu/DejaVuSans.ttf        10        manual mode
  2            /usr/share/fonts/truetype/mplus/mplus-2p-regular.ttf   20        manual mode

Press <enter> to keep the current choice[*], or type selection number:

これでグラフの文字化け対応が完了です。 さぁお待ちかねの Zabbix Web のセットアップへ行きましょう。

Zabbix Webのセットアップ

まずは ダウンロードページの最後に残っていた、各プロセスの起動とブート時の起動設定をします。

次にEC2インスタンスのパブリックIP または パブリックDNS を確認し、Webブラウザでアクセスします。

http://<パブリック IP or DNS>/zabbix

アクセスできると、以下の画面が表示されます。 Default language のプルダウンから japanese (ja_JP) を選択し、 Naxt Step を押下します。

すべての項目が OK であることを確認し、次のステップ を押下します。

次にデータベースの接続設定では、データベースホストの項目で エンドポイント を指定します。その他の項目も適宜入力し、次のステップ を押下します。

次の設定も、適宜入力し、次のステップ を押下します。

設定内容を確認し、問題なければ、次のステップ を押下します。

最後に以下の画面が表示されればセットアップ完了です。終了 を押下します。

ログイン画面が表示されたら、デフォルトのユーザ/パスワードでログインします。

ユーザー名 パスワード
Admin zabbix

ダッシュボードが表示されれば完了です!

まとめ

今回はEC2とRDSを利用して、Zabbix 6.0 の環境を構築してみました。 Zabbix Server と データベースサーバ を分けて構築されている方も多いのではないでしょうか。 RDSを利用することで、データベースサーバ にかかるメンテナンスなどの工数を大幅に削減できるのがクラウドサービスのひとつの魅力です。 少しでもクラウドの世界に興味を持っていただければ幸いです。

最後まで読んでいただき、ありがとうございました。

静 優(執筆記事の一覧)

オンプレからクラウドに転身したインフラエンジニア

"; doc.innerHTML = entry_notice + doc.innerHTML; }
' } }) e.innerHTML = codeBlock; });