Azure VM の監視
このユニットでは、VM 用の Azure 監視機能と、Azure Monitor で収集および分析できる監視データの種類について説明します。 Azure Monitor は、Azure および Azure 以外のリソース (VM を含む) から監視データを収集して分析し、対応するための包括的な監視ソリューションです。 Azure Monitor には、2 つの主要な監視機能があります。Azure Monitor メトリックと Azure Monitor ログです。
メトリックとは、事前に定義された間隔で収集される数値であり、システムの何らかの特性を表しています。 メトリックでは、VM のパフォーマンス、リソース使用率、エラー数、ユーザー応答や、定量化できるシステムのその他の特性を測定できます。 Azure Monitor メトリックは、すべての Azure VM について事前に定義されたメトリックのセットを自動的に監視し、一部の例外を除いて 93 日間そのデータを保持します。
ログとは、記録されたシステム イベントであり、タイムスタンプとさまざまな種類の構造化データまたは自由形式データが含まれます。 Azure では、すべての Azure リソースに関するアクティビティ ログが自動的に記録されます。 このデータは、リソース レベルで使用できます。 Azure Monitor では既定でログは収集されませんが、Azure Monitor ログを構成して、任意の Azure リソースから収集することができます。 Azure Monitor ログは、クエリと分析を行うために Log Analytics ワークスペースにログ データを格納します。
VM の監視レイヤー
Azure VM には、監視が必要なレイヤーがいくつかあります。 次の各レイヤーには、それぞれ別のテレメトリと監視要件のセットがあります。
- ホスト VM
- ゲスト オペレーティング システム (OS)
- クライアント ワークロード
- VM で実行されるアプリケーション
ホスト VM の監視
VM ホストは、Azure が VM に割り当てるコンピューティング、ストレージ、およびネットワークのリソースを表します。
VM ホストのメトリック
VM ホストのメトリックは、プロセッサ使用率やマシンが実行されているかどうかなど、VM の技術的な側面を測定します。 VM ホストのメトリックを使って、次のことができます。
- VM がディスクまたは CPU の制限に達したときにアラートをトリガーする。
- 傾向やパターンを特定する。
- 使用量と需要に応じて VM のサイズを調整し、運用コストを制御する。
Azure では、VM ホストの基本的なメトリックが自動的に収集されます。 Azure portal の VM の [概要] ページで、次の重要な VM ホストのメトリックに関する組み込みグラフを確認できます。
- VM の可用性
- CPU 使用率 (平均)
- OS ディスク使用量 (合計)
- ネットワーク操作数 (合計)
- 1 秒あたりのディスク操作数 (平均)
Azure Monitor メトリックス エクスプローラーを使って、さらに多くのメトリックのグラフを描画したり、変更を調査したり、VM のメトリックの傾向を視覚的に関連付けたりできます。 メトリックス エクスプローラーを使うと、次のことができます。
- 複数のメトリックをグラフに描画して、VM に送信されたトラフィックの量と VM のパフォーマンスを確認する。
- あるリソース グループや他のスコープ内の複数の VM について同じメトリックを追跡し、分割を使って各 VM をグラフに表示する。
- 柔軟な時間の範囲と細分性を選択する。
- グラフの種類や値の範囲など、他の多くの設定を指定する。
- グラフをブックに送信するか、ダッシュボードにピン留めして、正常性とパフォーマンスをすばやく表示できるようにする。
- 期間、地理的リージョン、サーバー クラスター、またはアプリケーション コンポーネントによってメトリックをグループ化する。
推奨されるアラート ルール
アラートは、VM ホストのメトリックで指定した発生回数やパターンを事前に通知します。 "推奨されるアラート ルール" は、よく監視対象となるホストのメトリックに基づいて事前に定義されたアラート ルールのセットです。 これらのルールにより、アラートの対象となる推奨 CPU、メモリ、ディスク、およびネットワークの使用レベルが定義されます。 ルールには VM の可用性も含まれており、VM の実行が停止するとアラートが表示されます。
Azure VM を作成するとき、または後で VM のポータル ページから、推奨されるアラート ルールをすばやく有効にして構成できます。 Azure Monitor アラートを使って、カスタム アラートを表示、構成、作成することもできます。
アクティビティ ログ
Azure Monitor では、Azure VM のアクティビティ ログが自動的に記録され、表示されます。 アクティビティ ログには、VM の起動や変更などの情報が含まれます。 診断設定を作成して、次の宛先にアクティビティ ログを送信することができます。
- Azure Monitor ログ: より複雑なクエリとアラートを使用する場合、および最大 2 年間のより長い保持期間を利用する場合。
- Azure Storage: より安価に長期的なアーカイブを行う場合。
- Azure Event Hubs: Azure の外部に転送する場合。
ブート診断
ブート診断は、VM のブートに関する問題のトラブルシューティングに使用できるホスト ログです。 ブート診断は、VM を作成するときに既定で有効にするか、既存の VM に対して後から有効にすることができます。
ブート診断を有効にすると、Windows マシンと Linux マシンの両方について VM のハイパーバイザーからスクリーンショットを表示し、Linux マシンについて VM ブート シーケンスのシリアル コンソールのログ出力を確認することができます。 ブート診断は、マネージド ストレージ アカウントにデータを格納します。
ゲスト OS、クライアント ワークロード、アプリケーションの監視
VM クライアントの監視対象には、VM 上で実行されるオペレーティング システム (OS)、ワークロード、アプリケーションの監視を含めることができます。 ゲスト OS とクライアントのワークロードとアプリケーションからメトリックとログを収集するには、Azure Monitor エージェントをインストールし、DCR を設定する必要があります。
DCR によって、収集するデータとそのデータの送信先を定義します。 DCR を使って、Azure Monitor メトリック データ、または "パフォーマンス カウンター" を、Azure Monitor ログまたは Azure Monitor メトリックに送信することができます。 また、イベント ログ データを Azure Monitor ログに送信することもできます。 言い換えると、Azure Monitor メトリックにはメトリック データのみを格納できますが、Azure Monitor ログにはメトリックとイベント ログの両方を格納できます。
VM insights
VM の分析情報は、VM クライアントの監視を開始するのに役立つ Azure Monitor 機能です。 VM の分析情報は、一番興味のあるメトリックがまだわからないときに、VM の全体的な使用状況とパフォーマンスを調べるのに特に役立ちます。 VM の分析情報には、以下が用意されています。
- VM のゲスト OS とワークロードの監視を有効にする、簡素化された Azure Monitor エージェントのオンボード。
- Windows および Linux の最も一般的なパフォーマンス カウンターを監視および収集する、事前構成済み DCR。
- VM のゲスト OS からの、傾向を示す事前定義済みのパフォーマンス メトリック グラフとブック。
- 経時的に収集された VM クライアント メトリックを示す事前定義済みブックのセット。
- 必要に応じて、VM 上で実行されているプロセスのコレクション、他のサービスとの依存関係、および他の VM や外部ソースと相互接続されたコンポーネントを表示する依存関係マップ。
事前定義済みの VM 分析情報ブックには、1 つまたは複数の VM から収集されたパフォーマンス、接続、アクティブなポート、トラフィック、およびその他のデータが表示されます。 1 つの VM から直接 VM 分析情報データを表示したり、複数の VM を組み合わせたビューを表示して、VM 全体の傾向とパターンを表示および評価したりできます。 事前構築済みのブックの構成を編集したり、独自のカスタム ブックを作成したりできます。
クライアントのイベント ログ データ
VM の分析情報は、特定のパフォーマンス カウンターのセットを収集する DCR を作成します。 イベント ログなどの他のデータを収集するには、VM から収集するデータとその送信先を指定する個別の DCR を作成できます。 Azure Monitor では、収集されたログ データが Log Analytics ワークスペースに保存されます。 そこから、Kusto 照会言語 (KQL) で記述されたログ クエリを使用して、データにアクセスして分析できます。