1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ActiveGate を利用したDynatrace によるAWSの監視 2024年版

Last updated at Posted at 2024-06-29

はじめに

以前ActiveGateを利用したDynatraceによるAWSの監視という記事を投稿しましたが、公式ドキュメントの内容が更新されより簡単にAmazon CloudWatchとDynatraceを連携させることができるようになりました。
本記事では、2024年現在の最新手順について改めて紹介していきます。

事前準備

本記事ではActiveGateを利用して、AWSを監視する方法について紹介していきます。

ActiveGateの導入方法については以下の記事で紹介していますので、ご参考ください!

ActiveGateを利用してAWSを監視する場合、ActiveGateにIAM Roleを割り当てる必要があるためActiveGate用にEC2インスタンスを立てる必要があります。

設定の流れ

  1. ActiveGateの構築
  2. IAMロールの作成
    1. ActiveGate用ロールの作成
    2. EC2インスタンスにロールを割り当て
    3. 監視用ロールの作成
  3. AWSアカウントとDynatraceの接続

オプションで以下を設定していきます。

  1. AWSのリソースタギング
  2. サポートサービスの追加
  3. アラートのためのメトリックイベントの設定

詳細な設定はDynatraceのマニュアルサイトをご参照ください。

ActiveGateの構築

別記事に掲載していますので、そちらを参考にEC2インスタンス上にActiveGateを構築します。
ActiveGateを構築するAWSのアカウントと監視対象とするアカウントは異なっていても問題ありません。また、単一のActiveGateから複数のAWSアカウントを対象とすることも可能です。

ActiveGateから各種サービスのAPI エンドポイントへアクセスできる必要があります。そのためインターネットゲートウェイやNAT ゲートウェイを介してパブリックエンドポイントへアクセスできるVPC内に構築することを推奨しております。

IAMロールの作成

一般的なセットアップ手順では2つのCloudFormationテンプレートを使用して、2つのスタックを作成する必要があります。それぞれ以下のIAMロールとポリシーが作成されます。

  • ActiveGate用ロールとポリシー
  • 監視用ロールとポリシー

ActiveGate用ロールの作成

ActiveGateをインストールしたEC2インスタンスに割り当てるIAMロールの作成を行います。

  1. role_based_access_AG_account_template.ymlをダウンロードします
  2. AWSのコンソール画面からCloudFormationのスタック画面に行き、スタックの作成 > 新しいリソースを使用 (標準)を選びます
    image.png
  3. スタックの作成ページでは既存のテンプレートを選択を選び、テンプレートファイルのアップロードから先ほどダウンロードしたrole_based_access_AG_account_template.ymlファイルをアップロードし、次へボタンをクリックします
    image.png
  4. スタックの詳細を指定ページではスタック名とパラメータを入力します。監視対象なるアカウントID(MonitoredAccountID)は入力が必須です。入力したら次へボタンをクリックします
    image.png
  5. スタックオプションの設定ページでは特に変更がなければそのまま次へボタンをクリックします
    image.png
  6. 確認して作成ページでは設定を確認し、問題がなければAWS CloudFormation によってIAM リソースがカスタム名で作成される場合があることを承認します。にチェックを入れ、送信ボタンをクリックします
    image.png

CloudFormationのスタックがCREATE_COMPLETEになれば本手順は終了です。

EC2インスタンスにロールを割り当て

ロールの作成が完了したらActiveGateをインストールしたEC2インスタンスにIAM ロールに割り当てます。

  1. コンソール画面からEC2のページにアクセスし、ActiveGateをインストールしたインスタンスのIAM ロールを変更します
    image.png
  2. IAM ロールを変更ページで先ほど作成したIAM ロール (Dynatrace_ActiveGate_role) を選び、IAM ロールの更新をクリックします
    image.png

監視用ロールの作成

監視対象となるAWS アカウント上で監視用ロールの作成を行います。

  1. Dynatraceの設定ページからCloud and virtualization > AWSを開き、Connect new instanceボタンをクリックします
    image.png
  2. Tokenの右にあるCopyボタンをクリックします
    image.png
  3. role_based_access_monitored_account_template.ymlをダウンロードします
  4. AWSのコンソール画面からCloudFormationのスタック画面に行き、スタックの作成 > 新しいリソースを使用 (標準)を選びます
    image.png
  5. スタックの作成ページでは既存のテンプレートを選択を選び、テンプレートファイルのアップロードから先ほどダウンロードしたrole_based_access_monitored_account_template.ymlファイルをアップロードし、次へボタンをクリックします
    image.png
  6. スタックの詳細を指定ページでは、スタック名を入力し、ActiveGateAccountIDにActiveGateが構築されているアカウントIDを入力します。ExternalIDは先ほどDynatraceの画面でコピーしたTokenの値を貼り付けます。RoleNameActiveGate用ロールの作成で指定したMonitoringRoleNameと同じもの (デフォルト Dynatrace_monitoring_role)を入力し、 次へボタンをクリックします
    image.png
  7. スタックオプションの設定ページでは特に変更がなければそのまま次へボタンをクリックします
    image.png
  8. 確認して作成ページでは設定を確認し、問題がなければAWS CloudFormation によってIAM リソースがカスタム名で作成される場合があることを承認します。にチェックを入れ、送信ボタンをクリックします
    image.png

CloudFormationのスタックがCREATE_COMPLETEになれば本手順は終了です。

AWSアカウントとDynatraceの接続

ロールの作成が完了したら、Dynatraceの画面に戻り、残りの設定を実施していきます。

  • Connection nameには対象となるAWSアカウントのサービス名や環境などを入力します(例:Payment - Prod
  • IAM role that Dynatrace should use to get monitoring data監視用ロールの作成で作成したロール名を入力します(デフォルト:Dynatrace_monitoring_role
    image.png
  • Your Amazon account IDは監視対象となるAWS のアカウントIDを入力します
  • すべて入力し終えたら、接続ボタンをクリックします

以上で、AWSの主要な機能に関する監視が開始されます。

数分立ってからAWSのアイコンもしくはCloudsアイコンをクリックすることで情報を確認することができます。
image.png
image.png

オプション設定

リソースタギング

以前の記事でも記載したように、AWSのタグを利用することで、監視する対象を制限でき、AWSに対するAPIコール数を制限することが可能です。

AWSコンソールから対象となるリソースに対して、タグを指定します。ここではキーにmonitor_dynatrace、値にtrueを設定しています。
image.png

設定 > Cloud and virtuallzation > AWSと進んで、先ほど作成した設定の右側にあるペンシルアイコンをクリックします。
image.png

Resource to be monitored欄をMonitor resources selected by tagsに変更し、主要にAWSの監視対象と同一のものを入力し、保存ボタンをクリックします。
image.png

ここで設定したキーと値が一致したリソースのみを監視するようになります。

サポートサービスの追加

ActiveGateを用いたAWSの監視のメリットはEC2やEBS、ELB、RDSなどの主要なサービス以外の様々なAWSサービスのメトリックを取得可能な点です。DynatraceがサポートしているAWSサービスについては以下から確認ができます。

AWS supporting service metrics

Dynatraceでは選択したサービスに対してAWS CloudWatchのメトリクスを選択して取得することができるため効率よくデータを取得できコスト削減につなげることができます。

リソースタギングと同様に設定したAWSの画面を開き、サポートサービスからAdd serviceボタンもしくはManage servicesボタン(一度、serviceを追加したらManage servicesに変わります)をクリックします。
image.png

Select service to be monitored...フィールドから監視したいサービスを選択し、Add serviceボタンをクリックします。
image.png

Add serviceボタンをクリックし、監視したいサービスを全て登録したら変更の保存ボタンをクリックします。
image.png

インフラストラクチャ > AWSを開き、作成したAWS名をクリックすることでAWSの監視画面を開きます。サポートサービスをクリックすることで先ほど設定したサービスを監視していることが確認できます。
image.png
これらのサービスをクリックすることで、詳細を確認することが可能です。

取得するメトリックの編集

再度、設定 > Cloud and virtuallzation > AWSと進み、AWSの設定画面を開きます。サポートサービスの下のManage servicesをクリックします。
image.png

監視しているサービスの一覧が表示されるので、メトリックを編集したいAWSサービスの名前をクリックします。
image.png

メトリックを追加する場合は、メトリックの追加ボタンを削除する場合は、該当メトリックの×アイコンをディメンションなどの変更を行う場合は、下矢印アイコンクリックします。
image.png

追加したいメトリックを選び、Choose dimension(s)からディメンションを選択し、メトリックの追加ボタンをクリックします。
image.png
image.png

最後に忘れずに変更の保存ボタンをクリックします。
image.png

アラートのためのメトリックイベントの設定

サポートサービスで追加取得したメトリックについても、アラートの設定をすることが可能です。Dynatraceではあらかじめ推奨のアラートルールが定義されておりそれを有効にするだけで、細かい閾値の設定などは必要ありません(もちろん閾値を変更することも可能です)。

設定 > Cloud and virtuallzation > AWSと進み、AWSの設定画面を開き、Manage alerting rulesボタンをクリックします。
image.png

監視しているサポートサービスの内容に応じた推奨のアラートルールが表示されます。全てのルールを作成する場合はCreate all recommended alerting rulesボタンをクリックします。
image.png
特に保存ボタンなどはなく有効になります。個別に設定を変更したい場合はアラートルール名をクリックすることで閾値などを変更可能です。
image.png

まとめ

最新の手順では、CloudFormationを使うことでより簡単にAWSの監視を行うことができるようになりました。アラートの設定もデフォルトで用意されているので、監視設計やアラートの設定に割く時間を減らすことができます。
また、AWSの監視についてはEC2インスタンスにOneAgentをインストールすることで、自動でAWSのタグをホスト情報に紐付けてくれたりするので、AWS上でアプリケーションを展開しているのであればぜひ導入を検討してみてください。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?