Azure Monitor について説明する
Azure Monitor は、リソースに関するデータを収集し、そのデータを分析し、情報を可視化し、さらには結果に基づいて行動するためのプラットフォームです。 Azure Monitor では、Azure リソース、オンプレミスのリソース、さらには別のクラウド プロバイダーでホストされている仮想マシンなどのマルチクラウド リソースを監視できます。
次の図は、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 アラートで是正措置を試みることもできます。
アラートは、ログを監視して特定のログ イベントでトリガーするように設定したり、メトリックを監視して特定のメトリックを超えたときにトリガーするように設定したりできます。 たとえば、仮想マシンの CPU 使用率が 80% を超えたときに通知するようにメトリックベースのアラートを設定できます。 メトリックに基づくアラート ルールにより、数値に基づいてほぼリアルタイムのアラートが提供されます。 ログに基づくルールでは、複数ソースのデータにまたがる複雑なロジックを実現できます。
Azure Monitor アラートでは、通知相手と実行するアクションを構成するのにアクション グループを使用します。 アクション グループは、1 つまたは複数のアラートに関連付ける通知とアクションの設定の単なるコレクションです。 Azure Monitor、Service Health、Azure Advisor ではいずれも、アラートがトリガーされたときに通知するためにアクション グループが使用されます。
Application Insights
Application Insights は Azure Monitor の機能で、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 は、アプリケーションのパフォーマンスを監視するのに役立つだけでなく、アプリケーションに合成要求を定期的に送信するように構成することもできます。これにより、アクティビティが少ない期間中でも、状態を確認してアプリケーションを監視できます。