分析情報を使用して VM とコンテナーを監視する

完了

あなた組織は、オンプレミスから Azure 仮想マシン (VM) および Azure Kubernetes Services (AKS) へ複数のアプリケーションを移行しました。 現在、数百の Azure リソースが複数の Azure サブスクリプションにわたってデプロイされています。

クラウド リソースが適切にプロビジョニングされており、そのパフォーマンスがビジネス要件を満たしていることを確認するために、リソースの使用状況を追跡する必要があります。 幅広い可視性と問題をすばやくトリアージして分離するための機能を提供する監視アプローチが必要です。

このユニットでは、すべての VM とコンテナー リソースにわたる大規模な監視ビューを得るための Azure Monitor の分析情報やその他のツールの使用方法を説明します。 また、トラブルシューティングのために特定のノードとコンテナーを深掘りする方法についても学習します。

Azure Monitor 分析情報

問題をトリアージして分離するためのガイド付きのトラブルシューティングで、Azure Monitor 分析情報を使用してリソースの使用状況とパフォーマンスを大規模に監視できます。 このユニットでは、VM 分析情報とコンテナー分析情報に焦点を当てますが、ネットワーク、ストレージ アカウント、Azure Cosmos DB データベースなど、他の Azure リソースに関する分析情報も存在します。 利用可能な分析情報の完全な一覧を得るには、Azure Monitor の左側のナビゲーションで [分析情報ハブ] を選択します。

Screenshot of Azure Monitor Insights Hub.

Azure Monitor VM 分析情報

VM 分析情報は、一般的に使用される一連のメトリックを収集して Log Analytics ワークスペースに送信することで、VM クライアントの監視を開始するのに役立つ Azure Monitor の機能です。 Azure Monitor VM Insights を使用して、次のことを行います。

  • VM の正常性とパフォーマンスを表示します。
  • 複数のサブスクリプションとリソース グループにわたって大規模に VM を監視します。
  • VM と仮想マシン スケール セットのプロセスおよびネットワーク接続の詳細を表示するトポロジ ビューを取得します。

Screenshot of getting started with Azure Monitor VM insights in the Azure portal.

Azure Monitor VM 分析情報を有効にするには、Azure Monitor の左側のナビゲーションから [仮想マシン] を選択した後、[はじめに] タブの [分析情報の構成] を選択します。[概要] タブの [監視外] セクションで、監視する VM と仮想マシン スケール セットを選択した後、[有効化] を選択します。

VM 分析情報を有効にすると、事前に定義された使用状況とパフォーマンスの測定のセットの収集、保存、表示を行う拡張機能と構成が VM と仮想マシン スケール セットに追加されます。

大規模に VM を監視する

VM 分析情報は、有効化されると、VM と仮想マシン スケール セットの使用状況とパフォーマンスを監視します。 VM 分析情報の [パフォーマンス] タブを選択して、VM リソースの使用状況を表す [上位 N 個のグラフ][上位 N 個のリスト] を表示します。

これらのグラフを使用すると、外れ値や、割り当てられたリソースが現状の負荷をサポートするには十分でない可能性があるホット スポットをすばやく特定できます。 [上位 N 個のリスト] からは、VM を選択して、そのプロパティ、他のブックへのリンク、収集されたログ、アラートなどのさらなる詳細にアクセスできます。

Screenshot of Top N List of VMs in the Azure Monitor portal.

[ログ イベント] の一覧からイベントの種類を選択することで、Azure Monitor ログにドリルダウンできます。 関連する Log Analytics ワークスペースが適切なテーブルとフィルターが適用された状態で開きます。

Screenshot of drilling into Azure Monitor Logs from VM insights.

Azure Monitor VM 分析情報の [マップ] タブには、リソース グループ全体、仮想マシン スケール セット、または個々の VM のネットワーク接続が表示されます。 ビューの上部にあるフィルターを使用して、目的のリソースを選択します。

プロセスの数を展開して完全な一覧を表示したり、プロセスごとのネットワーク接続を表示したりすることができます。 ネットワークの使用状況とパフォーマンスの詳細への接続を表す矢印を選択します。

Screenshot of VM insights Map view.

Azure Monitor Container Insights

コンテナー分析情報は、AKS を含む Azure にデプロイされたコンテナー ワークロードのパフォーマンスと正常性を監視する Azure Monitor の機能です。 コンテナー分析情報は、コントローラー、ノード、コンテナーからメモリとプロセッサのメトリックを収集し、コンテナー ログを集積します。 Azure Monitor コンテナー分析情報を使用して以下を行うことができます。

  • 複数のサブスクリプションとリソース グループにわたって Kubernetes ワークロードの正常性とパフォーマンスを大規模に表示します。
  • コントローラー、ノード、およびコンテナーからのメモリとプロセッサのパフォーマンス メトリックを可視化する。
  • リアルタイムおよび履歴分析のためにコンテナー ログを表示して格納する。

AKS クラスターを作成するとき、または Azure Monitor の左側のナビゲーションで [コンテナー] を選択してから [監視されていないクラスター] タブを選択することで、Azure Monitor コンテナー分析情報を有効にすることができます。

Kubernetes クラスターを大規模に監視する

コンテナー分析情報を有効にすると、コンテナー分析情報ページで、クラスターノードコントローラー、またはコンテナー別に Kubernetes ワークロードのパフォーマンスとリソース使用状況を表示できます。 たとえば、次のようなことができます。

  • 過剰に使用されているノードを調査します。
  • コントローラー別にポッドの状態を表示します。
  • 特定のコンテナーの再起動回数と CPU またはメモリの使用状況を確認します。

Screenshot of Azure Monitor container insights list of containers by utilization.

[監視対象クラスター] タブには、すべてのクラスター、ノード、システム ポッド、およびユーザー ポッドの正常性と状態の大規模なビューが表示されます。 このビューを名前空間でフィルター処理し、それを問題領域にドリルダウンするための開始点として使用できます。 コンテナー分析情報を使用してログにアクセスし、推奨されるアラートを有効にすることもできます。

Screenshot of the Azure Monitor container insights multicluster view.

Prometheus 用の Azure Monitor マネージド サービス

Prometheus は、コンテナーとマイクロサービス用に特別に設計されたオープンソースの監視システムです。 Prometheus は分散アプリケーションに重点を置いており、Kubernetes、分散サービス、コンテナー化されたマイクロサービスを監視するための一般的なツールとなっています。

Prometheus 用 Azure Monitor マネージド サービスは、PromQL や Grafana などのオープンソースのクエリと視覚化ツールをサポートする Azure Monitor メトリックのコンポーネントです。 Prometheus 用 Azure Monitor マネージド サービスは、リモート書き込みを使用して、AKS またはセルフマネージド Prometheus を実行する任意の Kubernetes クラスターからデータを収集できます。 Prometheus 用 Azure Monitor マネージド サービスを有効にするには、Prometheus メトリックを保存する Azure Monitor ワークスペースを作成します。

Azure Managed Grafana との統合を行う

Grafana は、Prometheus メトリックを視覚化するための主要な方法であるオープンソースの視覚化およびダッシュボード プラットフォームです。 Azure Monitor ワークスペースを Grafana ワークスペースに接続して、Prometheus メトリック データを Grafana ダッシュボードのデータ ソースとして使用できます。

Azure Managed Grafana は Grafana のフル マネージド実装であり、Kubernetes を監視しフルスタックのトラブルシューティングを行うための事前定義済みの Grafana ダッシュボードを複数提供しています。 Prometheus メトリックを使用する事前構築済みの Grafana ダッシュボードをインポートするか、カスタム ダッシュボードを作成することができます。 次のスクリーンショットは、AKS 監視データを使用する Azure Managed Grafana ダッシュボードを示しています。

Screenshot of a Grafana dashboard that shows AKS monitoring data.

Azure Monitor アラート

いくつかの種類の Azure Monitor 分析情報には推奨のアラート テンプレートが含まれていますが、自分特有の環境でアラートをトリガーする条件を指定することもできます。 インフラストラクチャのパフォーマンスと可用性を監視するためのアラート ルールを構成し、アラート ルールとアクション ルールを使用してアラートの処理方法を指定できます。

Azure Monitor のアラートは、分析情報を設定するために使用されるのと同じメトリックまたはログ データに基づいて設定できます。 たとえば、Azure Monitor は、VM が使用量のしきい値を超えた場合や、指定した数のコンテナー再起動が発生した場合に、アラートを送信できます。

また、通知する必要があるユーザーを指定することもできます。 分析情報は、メールまたはテキスト メッセージを通して通知を送信したり、Runbook と Webhook を使用してアラートに自動的に対応することができます。

Screenshot of alert creation.

自分の知識をチェックする

1.

VM と仮想マシン スケール セットのネットワーク接続の詳細を含むトポロジ ビューはどこで確認できますか?

2.

コンテナーとマイクロサービス用に特別に設計されているオープンソースの監視システムは何ですか?