みなさん、こんにちは。2022年8月からサーバーワークスにジョインしました、しずかと申します。 当社の文化のひとつに、エンジニアが積極的にブログで情報発信をしています。これは当社のことを広く皆さんに知ってもらうために行っています。 わたしもその文化を見習って、さっそく書いてみることにしました。
はじめに
はじめに
この記事の手順や構成については、あくまでも検証目的です。 当社のサービス提供時の構築手順や、システム構成とは異なりますので、ご了承ください。
対象読者
この記事は、EC2ならびにRDSをほとんど触ったこと無い方や、Zabbixをインストールを実施したことない方を対象に記載しています。 AWSの部分をご存じの方は、Zabbixのセットアップ部分まで読み飛ばして頂くのがよろしいかもしれません。
Zabbixについて
Zabbixとは
Zabbixとは、オープンソースの統合管理ツールです。あらゆるリソースから柔軟にデータを収集でき、リアルタイムで障害を検知・通知、データの可視化による高度な分析もできる統合監視ツールです。 詳細は、公式ホームページの製品ページを参照してください。
インストールに必要な要件の確認
詳細は公式ドキュメントを適宜参照しましょう。バージョン6.0のドキュメントも日本語版がたくさん公開されてます。 特に設計・サイジングにおいては、こちらが参考になると思います。
本ブログでの構成
この記事では、以下の構成で構築してみます。記載のない部分は特にこだわりはありません。
構成
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のサイトにアクセスします。
右上の ダウンロード
を押下します。
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を利用することで、データベースサーバ にかかるメンテナンスなどの工数を大幅に削減できるのがクラウドサービスのひとつの魅力です。 少しでもクラウドの世界に興味を持っていただければ幸いです。
最後まで読んでいただき、ありがとうございました。
静 優(執筆記事の一覧)
オンプレからクラウドに転身したインフラエンジニア