Azure Monitor について説明する

完了

Azure Monitor は、リソースに関するデータの収集、そのデータの分析、情報の視覚化、さらには結果への対応を行うプラットフォームです。 Azure Monitor では、Azure リソース、オンプレミスのリソース、さらには別のクラウド プロバイダーでホストされている仮想マシンなどのマルチクラウド リソースを監視できます。

次の図は、Azure Monitor の包括的な状態を示しています。

監視とデータの視覚化を提供するために Azure Monitor が使用する情報のフローを示す図。

左側には、アプリケーションからオペレーティング システム、ネットワークまで、アプリケーション アーキテクチャ内のすべてのレイヤーで収集できるログとメトリック データのソースの一覧があります。

中央では、ログ記録とメトリック データが中央リポジトリに格納されます。

右側では、データはいくつかの方法で使用されます。 アーキテクチャの各レイヤーのリアルタイムおよび履歴のパフォーマンスを表示したり、集計された詳細情報を表示できます。 データは、対象ユーザーごとに異なるレベルで表示されます。 Azure Monitor ダッシュボードで概要レポートを表示したり、Power BI クエリと Kusto クエリを使用してカスタム ビューを作成したりできます。

さらに、このデータを使用すると、SMS や電子メールなどを介してチームに配信されるアラートを通じて、重要なイベントにリアルタイムで対応できます。 または、しきい値を使用して自動スケール機能をトリガーし、需要に合わせてスケーリングすることもできます。

Azure Log Analytics

Azure Log Analytics は、Azure Portal のツールであり、Azure Monitor によって収集されたデータに対してログ クエリを作成して実行します。 Log Analytics は、単純で複雑なクエリとデータ分析の両方をサポートする堅牢なツールです。 一連のレコードを返す単純なクエリを記述し、Log Analytics の機能を使用してレコードの並べ替え、フィルター処理、分析を行うことができます。 高度なクエリを作成して統計分析を実行し、グラフで結果を視覚化して特定の傾向を特定できます。 クエリの結果を対話形式で操作する場合でも、ログ クエリアラートやブックなどの他の Azure Monitor 機能で使用する場合でも、Log Analytics はクエリの作成とテストに使用するツールです。

Azure Monitor アラート

Azure Monitor アラートは、Azure Monitor がしきい値を超えているのを検出したときに通知を受け取る自動化された方法です。 アラートの条件、通知アクションを設定し、アラートがトリガーされたときに Azure Monitor アラートが通知します。 構成によっては、Azure Monitor アラートで是正措置を試みることもできます。

アラートの合計と、重大度別にグループ化されたアラートを示す Azure Monitor アラートのスクリーンショット。

アラートは、特定のログ イベントでログとトリガーを監視するように設定することも、特定のメトリックが交差したときにメトリックを監視してトリガーするように設定することもできます。 たとえば、仮想マシンの CPU 使用率が 80%を超えたときに通知するようにメトリックベースのアラートを設定できます。 メトリックに基づくアラート ルールは、数値に基づいてほぼリアルタイムのアラートを提供します。 ログに基づくルールを使用すると、複数のソースからのデータ間で複雑なロジックを使用できます。

Azure Monitor アラートでは、アクション グループを使用して、通知するユーザーと実行するアクションを構成します。 アクション グループは、単に 1 つまたは複数のアラートに関連付ける通知とアクションの基本設定のコレクションです。 Azure Monitor、Service Health、Azure Advisor はすべてアクション グループを使用して、アラートがトリガーされたときに通知します。

Application Insights

Azure Monitor 機能である Application Insights は、Web アプリケーションを監視します。 Application Insights は、Azure、オンプレミス、または別のクラウド環境で実行されているアプリケーションを監視できます。

アプリケーションの監視に役立つ Application Insights を構成するには、2 つの方法があります。 アプリケーションに SDK をインストールすることも、Application Insights エージェントを使用することもできます。 Application Insights エージェントは、C#.NET、VB.NET、Java、JavaScript、Node.js、Python でサポートされています。

Application Insights が起動して実行されたら、それを使用して、次のようなさまざまな情報を監視できます。

  • 要求率、応答時間、および失敗率
  • 外部サービスのパフォーマンスが低下しているかどうかを示す依存関係の割合、応答時間、および失敗率
  • ユーザーのブラウザーによって報告されるページ ビューと読み込みパフォーマンス
  • Web ページからの AJAX 呼び出し (レート、応答時間、失敗率を含む)
  • ユーザーとセッションの数
  • WINDOWS または Linux サーバー マシンからのパフォーマンス カウンター (CPU、メモリ、ネットワーク使用量など)

Application Insights は、アプリケーションのパフォーマンスを監視するのに役立つだけでなく、アプリケーションに合成要求を定期的に送信するように構成することもできます。これにより、アクティビティが少ない期間中でも、状態を確認してアプリケーションを監視できます。