本記事は TechHarmony Advent Calendar 12/19付の記事です。 |
こんにちは、SCSK株式会社の中野です。
大変お待たせいたしました。AWS をZabbixで監視してみたシリーズ(第2弾)です。
※第1弾の記事は「AWSをZabbixで監視してみた」の投稿でご確認いただけます。
前回は「AWS EC2 by HTTP」テンプレートを用いてEC2の監視を試してみましたが、
今回はRDSの監視をZabbixで試してみたいと思います。
Zabbixとは
※初めてご覧になられる方向けに繰り返し記述させていただきます。
Zabbixは、エンタープライズ対応のオープンソース統合監視ツールです。
サービスやそれを支える ITシステム(サーバ、ネットワーク機器等)の状態を把握し、障害の予兆やサービスへ影響を及ぼす事象が発生した際に、システム管理者やオペレータに通知を行うオープンソースの統合監視ソリューションです。
数万デバイス規模のエンタープライズ環境でも多数の稼動実績を誇っています。
Zabbixの詳細情報については、下記リンクよりご確認ください。
Zabbixには、AWSの各種サービスを監視するための設定をまとめた4つのテンプレートが用意されています。
・AWS by HTTP(以下3つのテンプレートが自動で設定される)
・AWS EC2 by HTTP(EC2とAWS EBSボリュームのメトリクス監視)
・AWS RDS instance by HTTP(RDSのメトリクスを監視)
・AWS S3 bucket by HTTP(S3バケットのメトリクスを監視)
※ AWSテンプレートを利用するためには、Zabbix 6.0.13 LTS、または Zabbix 6.2 以上のバージョンが必要です。
今回は「AWS RDS instance by HTTP」テンプレートを利用してAWSのサービス(RDS)を監視していきたいと思います。
監視してみた(事前準備編)
ZabbixでRDSを監視するために、EC2と同様にAWS側で以下の対応が必要になります。
・AWS IAMの設定
1、監視用のAWSアカウント作成
2、IAMポリシー作成
3、アカウントのアクセスキー発行
IAMポリシーは、ZabbixがAWSへアクセスすることができるよう以下のように作成し、アカウントに適用させます。
{ "Version": "2012-10-17", "Statement": [ { "Action": [ "cloudwatch:Describe*", "cloudwatch:Get*", "cloudwatch:List*", "rds:Describe*" ], "Effect": "Allow", "Resource": "*" } ] }
今回はRDSとCloudwatchのみですが、EC2やS3の監視も実施したい場合は、同様に必要な権限を”Action”に追加します。
ec2:Describe*
s3:ListAllMyBuckets
s3:GetBucketLocation
AWS側の事前準備は以上です。
監視してみた(設定編)
それではZabbixで監視するために、対象のRDSインスタンスをZabbixへホスト登録していきます。
Zabbix登録画面では、ホスト名やIPアドレスを設定して、テンプレートは「AWS RDS instance by HTTP」を選択します。
ホストマクロに、事前準備で発行したアカウントのアクセスキーとシークレットアクセスキーを設定します。
また、監視対象(RDS)のインスタンスIDとリージョンコードも設定する必要があります。
あとは「追加」または「更新」ボタンを押すだけで、Zabbixでの監視が開始されます。
データ取得まで数分待つと、以下の通りCPUやディスク等の監視アイテムを取得することができました。
最後に
RDSをZabbixで監視してみた結果、EC2同様に簡単に監視データを取得することができることが分かりました。
今回も基本的な内容を試してみましたが、今後はもっと深掘りし情報を発信していきたいと思います。
最後まで読んでいただき、ありがとうございました!