Azure Monitor の概要

Azure Monitor には、アプリケーションとサービスの可用性およびパフォーマンスを最大化する効果があります。 クラウドおよびオンプレミス環境のテレメトリを収集、分析し、対応する包括的なソリューションを提供します。 この情報を頼りにアプリケーションの実行状態を把握し、アプリケーションやその依存リソースに影響を及ぼす問題を事前に突き止めることができます。

Azure Monitor でできることの例を次に示します。

注意

このサービスは Azure Lighthouse をサポートしているため、サービス プロバイダーは各自のテナントにサインインして、顧客から委任されたサブスクリプションやリソース グループを管理することができます。

概要

次の図は、Azure Monitor の概要を示します。 図の中央にあるデータ ストアには、Azure Monitor で使用される 2 つの基本的なデータの種類であるメトリックとログを格納します。 左側には、これらのデータ ストアに投入される監視データのソースがあります。 右側には、Azure Monitor が、収集したデータを使って実行するさまざまな機能が示されています。 分析、アラート、外部システムへのストリーム配信がその例です。

Azure Monitor の概要

データ プラットフォームの監視

Azure Monitor が収集したすべてのデータは、2 つの基本的な型であるメトリックとログのどちらかに該当します。 メトリックは、特定の時点におけるシステムの何らかの側面を表す数値です。 メトリックは軽量であり、リアルタイムに近いシナリオをサポートできます。 ログには、種類ごとに異なるプロパティ セットを持つレコードに編成されたさまざまな種類のデータが含まれます。 イベントやトレースなどの利用統計情報は、組み合わせて分析できるように、パフォーマンス データとともにログとして格納されます。

Azure Monitor が収集した多くの Azure リソースのデータは、Azure portal の [Overview](概要) ページで参照できます。 たとえば、任意の仮想マシンを見てみると、パフォーマンス メトリックが表示されたいくつかのグラフが表示されます。 いずれかのグラフをクリックすると、データが Azure portal のメトリック エクスプローラーで開かれ、時系列で複数のメトリックの値を表示するグラフを確認できます。 グラフは、対話形式で表示したり、ダッシュボードにピン留めして他の視覚化と一緒に表示したりできます。

視覚化で使用するためにメトリック エクスプローラーに送信されるメトリック データを示す図。

Azure Monitor が収集したログ データは、収集されたデータをすばやく検索、統合、分析するクエリを使用して分析できます。 Azure portal から Log Analytics を使用してクエリを作成し、テストすることができます。 その後、別のツールを使用してデータを直接分析するか、またはクエリを保存して視覚化アラート ルールに利用することができます。

Azure Monitor では、Kusto クエリ言語の 1 つのバージョンを使用します。この言語は、単純なログ検索に適している一方で、集計、結合、スマート分析など高度な機能も備えています。 さまざまなレッスンを利用すれば、クエリ言語はすぐに覚えることができます。 既に SQLSplunk に習熟しているユーザーには、別途ガイダンスが用意されています。

分析のために Log Analytics に送信されるログ データを示す図。

Azure Monitor が収集するデータ

Azure Monitor はさまざまなソースからデータを収集できます。 その範囲は、アプリケーションから、それが依存するオペレーティング システムとサービス、プラットフォーム自体にまで及びます。 Azure Monitor は、以下のそれぞれの層からデータを収集します。

  • アプリケーション監視データ: プラットフォームを問わず、記述したコードのパフォーマンスと機能に関するデータ。
  • ゲスト OS 監視データ: アプリケーションが実行されているオペレーティング システムに関するデータ。 これは Azure、別のクラウド、またはオンプレミスで実行できます。
  • Azure リソース監視データ: Azure リソースの操作に関するデータ。 メトリックまたはログのあるリソースの詳細な一覧については、Azure Monitor で監視できる内容に関するページを参照してください。
  • Azure サブスクリプション監視データ: Azure サブスクリプションの操作および管理に関するデータと、Azure 自体の正常性および操作に関するデータ。
  • Azure テナントの監視データ: Azure Active Directory など、テナント レベルの Azure サービスの操作に関するデータ。

Azure サブスクリプションを作成して仮想マシンや Web アプリなどのリソースを追加すると、Azure Monitor は即座にデータの収集を開始します。 リソースが作成または変更されると、アクティビティ ログが記録されます。 リソースの状況や消費しているリソースは、メトリックからわかります。

データの収集をリソースの内部動作にまで拡張するには診断を有効にします。 ゲスト オペレーティング システムからテレメトリを収集したければ、コンピューティング リソースにエージェントを追加します。

ページ ビュー、アプリケーションの要求、例外など、詳細な情報を収集するには、Application Insights を使ったアプリケーションの監視を有効します。 さらにアプリケーションの可用性を検証するには、ユーザー トラフィックをシミュレートする可用性テストを構成します。

カスタム ソース

Azure Monitor では、Data Collector API を使用して任意の REST クライアントからログ データを収集できます。 これにより、カスタム監視シナリオを作成し、他のソースを通じてテレメトリが公開されないリソースも監視対象に含めることができます。

分析情報とキュレーションされた視覚化

データの監視が役立つのは、コンピューティング環境の運用の可視性が高まる場合のみです。 一部の Azure リソース プロバイダーには、"キュレーションされた視覚化" が用意されています。これにより、特定のサービスまたは一連のサービス向けにカスタマイズされた監視エクスペリエンスが提供されます。 通常、最小限の構成が必要です。 より大規模にスケーラブルなキュレーションされた視覚化は "分析情報" と呼ばれ、ドキュメントや Azure portal にはその名前で示されています。

詳細については、Azure Monitor を使用した分析情報とキュレーションされた視覚化の一覧に関する記事を参照してください。 大規模な分析情報については、以下でも説明します。

Application Insights

Application Insights は、クラウドとオンプレミスのどちらにホストされているかにかかわらず、Web アプリケーションの可用性、パフォーマンス、使用状況を監視します。 Azure Monitor の強力なデータ分析プラットフォームを利用すれば、アプリケーションの運用に関する詳しい分析情報が得られます。 ユーザーからのレポートを待たずにエラーを診断することが可能です。 Application Insights にはさまざまな開発ツールへの接続ポイントが含まれており、DevOps プロセスをサポートする Visual Studio とも統合されています。

App Insights

Container insights

Container insights では、Azure Kubernetes Service (AKS) でホストされるマネージド Kubernetes クラスターにデプロイされているコンテナー ワークロードのパフォーマンスを監視します。 Kubernetes で使用可能なコントローラー、ノード、およびコンテナーから Metrics API 経由でメトリックを収集することにより、パフォーマンスを可視化します。 コンテナーのログも収集されます。 Kubernetes クラスターから監視を有効化すると、コンテナー化されたバージョンの Linux 向けの Log Analytics エージェントを使用してこれらのメトリックとログが自動的に収集されます。

コンテナー正常性

VM insights

VM insights では、利用している Azure 仮想マシン (VM) の大規模な監視が行われます。 Windows VM と Linux VM のパフォーマンスと正常性が分析され、そのさまざまなプロセス、そして相互に関連し合う外部プロセスへの依存関係が特定されます。 このソリューションでは、オンプレミスまたは別のクラウド プロバイダーでホストされている VM について、パフォーマンスおよびアプリケーションの依存関係の監視もサポートされています。

VM Insights

重大な状況への応答

効果的な監視ソリューションは、対話形式で監視データを分析できるだけでなく、収集したデータから危機的な状況を識別して事前に応答できる必要があります。 たとえば、問題の調査を担当する管理者にテキストまたはメールを送信することが考えられます。 または、自動化されたプロセスを起動して、エラー状態の修正を試みることも考えられます。

警告

Azure Monitor のアラートは、重大な状態を事前に通知し、可能であれば修正のためのアクションを実行しようとします。 メトリックに基づくアラート ルールにより、数値に基づいてほぼリアルタイムのアラートが提供されます。 ログに基づくルールでは、複数ソースのデータにまたがる複雑なロジックを実現できます。

Azure Monitor のアラート ルールは、受信者の一意なセットと複数のルール間で共有できるアクションを含むアクション グループを使用します。 アクション グループを使うと、Webhook を使用してアラートから外部アクションを起動したり、ITSM ツールと統合したりするなど、要件に基づいたアクションを実行することができます。

重大度、アラートの合計、およびその他の情報を含む Azure Monitor のアラートを表示するスクリーンショット。

自動スケール

自動スケールを使用すると、適切な量のリソースを実行して、アプリケーションに対する負荷を処理することができます。 Azure Monitor が収集したメトリックを使用し、負荷の増加に合わせて、いつ自動的にリソースを追加するかを判断するルールを作成しましょう。 アイドル状態のリソースを削除すればコストを削減することができます。 インスタンスの最小数および最大数と、リソースを増減するタイミングを示すロジックを指定します。

「プロセッサ時間 > 80%」というラベルが付いたいくつかのサーバーが直線上にあり、2 台のサーバーが最小、3 台のサーバーが現在の容量、5 台のサーバーが最大とマークされている、自動スケーリングを示す図。

監視データの視覚化

グラフや表などによる視覚化は、監視データをまとめてさまざまな対象ユーザーに提示する際に利用できる効果的なツールです。 Azure Monitor は、監視データを視覚化する独自の機能を備えており、他の Azure サービスを活用してさまざまな対象ユーザーに公開します。

ダッシュボード

Azure ダッシュボードを使用すると、さまざまな種類のデータを組み合わせて、Azure portal 内の 1 つのペインに表示できます。 ダッシュボードは、他の Azure ユーザーと共有することもできます。 ログ クエリやメトリック グラフの出力を Azure ダッシュ ボードに追加できます。 たとえば、メトリックのグラフ、アクティビティ ログの表、Application Insights の使用状況グラフ、ログ クエリ結果を示すタイルを組み合わせて 1 つのダッシュボードを作成できます。

アプリケーションとセキュリティのタイルと、その他のカスタマイズ可能な情報を含む、Azure ダッシュボードを示すスクリーンショット。

Workbooks

ブックは、Azure portal 内でデータを分析し、高度な視覚的レポートを作成するための柔軟なキャンバスを提供します。 Azure 全体から複数のデータ ソースを活用し、それらを結合して、統合された対話型エクスペリエンスにすることができます。 Insights に備わっているブックを使用するか、あらかじめ定義されているテンプレートから独自のブックを作成することができます。

ブックの例

Power BI

Power BI は、さまざまなデータ ソースにわたって対話的な視覚化を提供するビジネス分析サービスです。 組織内外の他のユーザーがデータを使用できるようにする効果的な手段です。 Azure Monitor からログ データを自動的にインポートするように Power BI を構成すると、そのデータも追加で視覚化することができます。

Power BI

データの統合とエクスポート

多くの場合、監視データを使用するカスタム ソリューションを構築するために、Azure Monitor と他のシステムを統合したいという要件があります。 このような統合を実現するには、他の Azure サービスと Azure Monitor を連携させます。

イベント ハブ

Azure Event Hubs は、ストリーミング プラットフォームとなるイベント インジェスト サービスです。 リアルタイム分析プロバイダーやバッチ処理アダプター、ストレージ アダプターを使用しながら、データを変換して格納することができます。 Event Hubs を使用すると、パートナー SIEM および監視ツールに対して Azure Monitor データをストリーム配信できます。

Logic Apps

Logic Apps は、さまざまなシステムやサービスと統合されたワークフローを使用して、タスクやビジネス プロセスを自動化できるサービスです。 Azure Monitor でメトリックとログの読み取りおよび書き込みを行うアクティビティが用意されています。 他のさまざまなシステムと統合されたワークフローを構築することが可能です。

API

Azure Monitor のメトリックとログの読み取りや書き込み、生成されたアラートのアクセスには、複数の API が利用できます。 アラートの構成や取得も可能です。 したがって、Azure Monitor と統合されたカスタム ソリューションを構築するために、ほぼあらゆることを行うことができます。

次のステップ

各項目の詳細情報

  • メトリックとログ Azure Monitor によって収集されたデータについては、こちらをご覧ください。
  • データ ソース アプリケーションのさまざまなコンポーネントでテレメトリを送信する方法については、こちらをご覧ください。
  • ログ クエリ 収集したデータを分析する場合は、こちらをご覧ください。
  • クラウドのアプリケーションとサービスを監視するためのベスト プラクティス