[DD] データドッグを使ってAWSのリソースを監視する

AWSのリソース監視の手段としてはCloudWatchがあるのですが、外部サービスとしてSaaS形式で提供されているDataDogを使うことでより細かなモニタリングを行うことができます。

新規のEC2インスタンスなどが立ち上がった場合もDataDogを使えば自動的に監視対象として含めてモニタリングすることができ、タグによって細分化もできるため管理が楽になります。

今回はDataDogのトライアル登録と、AWSリソース監視の設定を入れ込むところまでまとめました。

なお、DataDogを使ってAWSのリソースを監視する場合には大きな罠があるので注意してください。
クラウド破産にならないように、目次の「注意点」もしっかり読んでおくことをオススメします。

DataDogのトライアル登録


DataDogの登録ページから[無料トライアル]を申請します。


必須項目に[企業・組織名]がありますが、テスト用として実在しない名前で登録しました。
説明にあるようにクレジットカードの登録は不要なのは安心ですね。

また、機能面では劣りますがFreeプランも存在するので、トライアル期間が終了したら移行するのも良いかもしれないですね。


アカウント作成が完了すると初期設定へ誘導されます。
ここではDataDogのエージェント登録も必須なのですが、今回はこの初期設定をスキップします。

初期設定をスキップするためには左上にあるDataDogのロゴをクリックします。
ここでスキップした初期設定は後から行うことができるので安心してください。

インテグレーションの追加


AWSのリソースを監視するためには[Integrations]からAWSの連携のための設定を行う必要があります。
そのすぐ近くに[APIs]という項目がありますが、事前にここで[API Keys]の項目にあるAPIキーを控えておいてください。


インテグレーションがたくさんあると思いますが、その中からAWSのインテグレーションを探して設定画面を開きます。
DataDogの連携を行うためには、対象のAWSアカウントにDataDog用のIAMロールを作成してあげる必要があります。

ロールの作成にはCloudFormationが用意されているので、今回はそれを使います。


必要な項目は自動的にほとんど埋まっている状態になりますが、APIキーの項目が空欄なので事前に取得しておく必要があります。
また、DataDogのロールに与える権限をフルアクセスか、コアアクセスか選択できます。
それぞれの権限はこちらのドキュメントから確認してください。


ロールが生成されたことを確認してください。
ここで作成されるロール名は[DatadogIntegrationRole]です。
ロール名も設定に必要なので控えておきます。


DataDogのAWSインテグレーションの設定に戻ります。
監視対象のAWSアカウントのIDと、先ほど作成したAWS Roleを入力します。
しばらくすると疎通確認が行われるので、正常に連携が取れていることを確認してください。

監視対象のAWSサービスを選択してチェックボックスを入れます。
デフォルトではほとんど全てにチェックが入っていますが、必要に応じて調整してください。

問題がなければ[Install Integration]を押してインテグレーションの設定を終了します。

ダッシュボードを確認する


DataDogのダッシュボードを確認すると、AWSサービスごとのボードが作成されていることがわかります。


ダッシュボードの詳細を確認して、きちんとデータが送られていることを確認します。
問題なく設定ができていることがわかりますね。

実際にリソース監視やアラーム通知をするためには[Monitors]から[Manage Monitors]でモニタリングの設定を作成する必要があります。また、Slackなどへ送信する場合にはSlackのインテグレーションを設定してください。

とりあえず、これでDataDogでAWSリソースを監視するための設定をすることができましたね。

注意点


DataDogのAWS監視では、10分おきに[GetMetricData API]というAWSの有料APIを叩くことでデータを取得しています。
そのため監視対象のリソースが増えることによってAWS側の料金に大きな影響を与える可能性があります。

DataDogの使用料金が少なくてもAWS側のAPIの利用料金が増えてしまう可能性があるため、この辺りはきちんと精査する必要があります。とは言っても多くの場合はそこまで多額な金額にはならないはずですが、もしもCloudWatchの料金が異常に増えていたらBillingからGetMetricData APIでの発生料金を確認してみてください。

おわりに

実は今回はAWSの設定をしたかったのではなく、DogShellやDogpushを試したかったので、その事前準備としてDataDogを登録しました。

DataDogを使うことで、CloudWatchだけでは拾いきれない細かなイベントや新規のリソースを柔軟に監視することができます。また、DataDogのエージェントを設置することでサーバー内の情報も拾うことができます。

DataDog自体の使用料金が発生することとAWSの請求金額も増えてしまうことなどコスト面での懸念がありますが、そこはコストと機能のトレードオフですので、必要に応じてCloudWatchだけでリソース監視をするのか、DataDogなどのSaaSを使うのか選択していきたいですね。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)