AWSをZabbixで監視してみた Part2

 

本記事は 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同様に簡単に監視データを取得することができることが分かりました。

今回も基本的な内容を試してみましたが、今後はもっと深掘りし情報を発信していきたいと思います。
最後まで読んでいただき、ありがとうございました!

タイトルとURLをコピーしました