Tech Report

#13 DynatraceでAWSを監視するメリットのご紹介

作成者: 山本 太郎|Jun 17, 2021 7:57:00 AM

 

Dynatraceを利用してアプリケーションの監視を行われているお客様から「今後、Amazon Web Services(以下AWS) にアプリケーションを移行する可能性があり、Dynatraceを利用するとAWSをどのように監視することができるのか知りたい」といったお問い合わせを多くいただき、AWSへの移行のニーズが高まっていることを実感しております。そんな中で今回は、Dynatraceを利用してAWSの監視を行うメリットをご紹介いたします。

 

 

そもそも、なぜAWSリソースを監視する必要があるのでしょうか?

  1. AWSはAmazon社によりAWS全体の可用性は担保されています。
    しかし、ユーザーが所有する、Amazon Elastic Compute Cloud(以下EC2)の上で稼働するEC2インスタンス(OSを載せた仮想サーバー)やその他のAWSリソースのパフォーマンスおよびパフォーマンス低下が原因の遅延や停止をAmazonは担保していません。
    そのため、AWS上で稼働するアプリケーション、サービスの安定提供のためにも、使用しているAWSリソースの状況を監視する必要があります。

  2.  
  3.  

    通常Dynatraceでは、OSにデータ収集モジュール(OneAgent)を導入し、OSのリソースデータや、アプリケーションの稼働データ、ユーザー体感レスポンス等を取得します。これに加えて、AWSを監視対象とした場合は、Amazon CloudWatch(以下CloudWatch)に接続し、CloudWatchが保持しているデータをDynatraceへ取り込みます。
    CloudWatchとは、AWS リソースと AWS で実行するアプリケーションのモニタリングサービスです。

 

 

CloudWatchのデータをDynatraceに取り込んで監視するメリットは何でしょうか?

DynatraceでAWS環境を監視するメリットとしては、大きく3つあります。

 

  1. 1.AWSのリソースデータ~アプリケーションの稼働データ~ユーザー体感レスポンスまで、一気通貫での監視/分析とデータの一元管理が可能

  2. 2.視覚的で操作しやすい画面

  3. 3.アラートの通知設定を簡略化できる


  1. この3点について詳しくご説明いたします。
  2.  

 

メリット1

AWSのリソースデータ~アプリケーションの稼働データ~ユーザー体感レスポンスまで、一気通貫での監視/分析とデータの一元管理が可能

図1は、CloudWatchで監視可能な範囲と、DynatraceにCloudWatchのデータを取りこむことで監視を拡大できる範囲を図式化したものです。
※OSのリソースデータやコードレベルの分析情報を取得する場合は、OneAgentの導入が必要です。

 

 

 

 

DynatraceにCloudWatchのデータを取り込むことで、監視/分析する範囲が大きく広がることが分かります。加えて分析する際に、複数のツールを行き来せず、Dynatraceだけですべての範囲の分析が可能です。

 

また、Dynatraceのダッシュボード【図2】を利用することで全体を一目で確認することができます。

 

 

 

 

CloudWatchにもダッシュボードはありますが、確認できる範囲はAWS側のリソース情報のみです。Dynatraceは、OSのリソースデータや、アプリケーションの稼働データ、ユーザー体感のレスポンスデータも合わせて確認できるので、問題が起きた際に一目で影響範囲の確認ができます。

また、DynatraceのSmartscape topologyという機能を使えば、複雑なサービスでも一目で依存関係が確認できます。AWSが提供している、あるサービスで問題が起きた場合、影響範囲を簡単に確認することが可能です【図3】。

 

 

 

 

OSにOneAgentを導入している場合は、AWS側のリソースデータに加え、OSのリソースデータも合わせて確認することができます【図4】。

 

 

 

 

Dynatraceは独自AIエンジン(Davis)が搭載されており、AIが問題を検知した場合、Dynatraceの画面表示や、メール、チャットツール、ITSMツール等へ連携し、通知を行います。この時にも一気通貫で分析を行えることは発生した問題の影響範囲の迅速な確認に役立ちます【図5】。

 

 

 

 

例えば、EC2インスタンスのリソース負荷が高まっている場合、CloudWatchの情報から、AWS側から見たリソース負荷の確認は可能ですが、当該EC2インスタンス上で稼働しているアプリケーションやサービスへの影響や根本原因を分析することはできません。

 

ここからは、AWS側でリソースの負荷が高まっていることが分かった場合に、Dynatraceを使用することで、どのような分析が可能なのかを具体例を用いてご紹介します。

 

 

 

 

先にも記載しました通り、CloudWatchで分かる範囲は【図6】の③までです。Dynatraceで分析できる範囲は次の【図7】【図8】④から⑨までです。

 

 

 

 

 

 

CloudWatch のデータをDynatraceに取り込むことで、CPU負荷が急増した要因は、サービスでDeployment changeが行われていたことであるとわかりました。

 

このように、Dynatraceを用いることで、AWSリソースの負荷高騰という事象の確認だけでなく、その事象がサービスやユーザーにどのような影響を与えたのか、またその根本原因は何か、という因果関係を分析することが可能です。

 

 

メリット2

視覚的で操作しやすい画面

Dynatraceのアウトプット画面【図9】は、視覚的で操作性が高いことで評価をいただいております。

 

 

 

 

メリット3

アラートの通知設定を簡略化できる

CloudWatchでもアラートを設定することは可能ですが、各インスタンス/リソース毎に設定を行わなければならず、少し面倒です。

Dynatraceでは【図10】のようにアラートの通知設定を簡単に行うことができます。

 

 

 

 

以上が、DynatraceでAWS監視を行うメリットです。
今回紹介した内容で、気になる点がございましたら、お気軽にお問い合わせください。