広告

Azure Monitor のエージェント (IaaS 監視)

Azure

以前の記事で、Azure モニターや Log Analytics について、基本なところを纏めました。
今回から、少し踏み込んで、以下のリストを順番に、系統的に Azure の監視を見ていきたいと思います。

今回はまず OS の監視で、エージェント周りを一緒に学んでいきたいと思います。

  • Azure Monitorの概要
  • Azure Monitor:エージェントによるデータ収集
  • Azure Service Health
  • Azure Monitor:アラート
  • Azure Monitor:Log Analytics のソリューション
  • Azure Monitor:ログ検索クエリ
  • Application insights
  • Network Watcher
  • Azure Automation

Azure Monitor のエージェント

Azure Monitor で OS を監視する場合、エージェントでデータを収集します。
今回では、Azure Monitor のさまざまなエージェントについて、一緒に学んでいきたいと思います。

エージェントを種類ごとに分けて、纏めていきますので、この記事によって、Azure Monitor のエージェントの構成について、ある程度の理解ができるかと思います。

OS サポート状況

現在各 OS のサポート状況は公式資料をご参考ください。

Azure Monitor エージェント(プレビュー GA された)

まだプレビュー段階ですが、今後は下記エージェントの上位互換になります。
Azure Monitor ログと Azure Monitor のメトリックの両方にデータを送信し、データ収集ルール (DCR) を使用できます。

  • Log Analytics エージェント
    • MicrosoftMonitoringAgent (Windows)
    • OmsAgentForLinux (Linux)
    • Telegraf エージェント (Linux)
  • Diagnostics 拡張機能

この機能はまだプレビュー中なので、GA されたら、またこのエージェントについて内容を別途でまとめようと思います。

参考:


2021/09/05 追記:

On 31 August 2024, we'll retire the Log Analytics agent that you use in Azure Monitor. Before that date, you'll need to start using the Azure Monitor agent to monitor your VMs and servers in Azure.

Azure Monitor エージェント の GA によって、Log Analytics レガシーエージェントがリタイアすることが決まりました。
これによって、Azure Monitor エージェント への切り替えが必要になります。
まだ何年間レガシー エージェントをご利用することはできますが、早めに切り替えの検討を実施する必要があります。

参考:

Log analytics エージェント

Azure Monitor (Log Analytics) では、以下の2種類のエージェントが存在します。

  • Log Analytics エージェント
    • Windows:MicrosoftMonitoringAgent (MMA)
    • Linux:OmsAgentForLinux
  • 依存関係エージェント
    • Windows:DependencyAgentWindows
    • Linux:DependencyAgentLinux

Caution:Log Analytics エージェントは 依存関係エージェントの前提条件となりますので、依存関係エージェントをインストールする前に、Log analytics エージェントをインストールする必要があります。

Log Analytics エージェントはログ収集するのに必ず必要となるので、対象 OS からログを収集する場合、まず必要となります。ちなみに、ログは パフォーマンスログも含まれますので、ログのみでパフォーマンス状況を確認することも可能です。また、Log Analytics はグラフ化する機能もあるので、結果をパフォーマンスカウンター見たいな見せ方もできます。

依存関係エージェントは、マシンで実行されているプロセスおよび外部プロセスの依存関係に関する検出データを収集します。
例えば、プロセスのハートビートなどの情報や、プロセスと通信している通信先の一部の情報も収集できます。

Azure Monitor のログ収集対象は、Azure の VM だけではなく、任意のサポート OS からログを収集できます。
サポート OS について、こちらをご参考いただければと思います。

  • Log Analytics エージェント 収集されるデータ
    • Windows イベントログ
    • セキュリティログの収集は Azure Security Center が必要
    • Windows パフォーマンスカウンター
    • Syslog(Linux)
    • Linux パフォーマンスカウンター
    • IIS のログ
    • ファイル ベース ログ
    • 直接 API を使って送信されたログ

Telegraf エージェント (Linux VM のみ)

Telegraf エージェント は、Linux VM でワークロード(MySQL、NGINX や Apache など)固有のメトリックを収集し、カスタム メトリックとして Azure Monitor に送信できます。
Linux VM 上で実行するワークロードに応じて、メトリックを収集するための特別な Input Plugins を利用するようにエージェントを構成できます。
Output Plugins を使用することで、エージェントは、選択した変換先に記述できます。
Telegraf エージェントは Azure Monitor のカスタム メトリック REST API と直接統合されます。 また、Azure Monitor 出力プラグインをサポートします。

公式資料の図をお借りして、以下のような動作になります。
Telegraf Agent

参考:

Diagnostics 拡張機能 エージェント (Azure VM)

Azure Diagnostics 拡張機能(診断設定) のエージェントは、Log Analytics のエージェントと違って、Azure の ワークロード(VM や VMSS など)にのみ使用可能となっています。また、エージェントは Azure VM(など)の拡張機能としてインストールされます。

  • Diagnostics エージェント

    • Windows(WAD):Microsoft.Insights.VMDiagnosticsSettings
    • Linux(LAD):LinuxDiagnostic
  • 特徴:

    • 収集されるログはストレージアカウントに保存される
    • データ を Azure Monitor メトリックや Azure Event Hubs などの他の送信先にデータを送信することもできる

収集されるデータ

  • Windows

    • Windows イベント ログ:Windows イベント ログからのイベント
    • パフォーマンス カウンター:OS とワークロードのパフォーマンスを測定する数値
    • IIS ログ:IIS Web サイトの使用状況に関する情報
    • アプリケーション ログ:アプリケーションによって書き込まれたメッセージをトレースする
    • .NET EventSource ログ:.NET EventSource クラスを使用するコード作成イベント
    • マニフェスト ベースの ETW ログ:すべてのプロセスによって生成された Windows イベント トレーシング イベント
    • クラッシュ ダンプ (ログ):アプリケーションがクラッシュした場合のプロセスの状態に関する情報
    • ファイル ベース ログ:アプリケーションまたはサービスで作成されたログ
    • エージェント診断ログ:Azure Diagnostics 自体に関する情報。
  • Linux

    • syslog:Linux イベント ログ システムに送信されるイベント
    • パフォーマンス カウンター:オペレーティング システムとワークロードのパフォーマンスを測定する数値
    • ログ ファイル:ファイル ベースのログに送信されたエントリ

PaaS サービスの Azure Diagnostics(診断設定)について

ここで PaaS サービスの Azure Diagnostics を書くのは、混乱しやすいポイントだからです。

IaaS (VM など) の Azure Diagnostics とは別に、Azure の PaaS サービスでも診断設定があります。
ただ、違う部分があるので、ここで纏めておきたいと思います。

項目 IaaS Diagnostics PaaS Diagnostics
収集データ *上記纏めた内容 メトリック、事前用意されたログ
データ保存先 Azure Storage Log Analytics、Azure Storage
エージェント 導入必要 導入不要
必要リソース Azure Storage Log Analytics ワークスペース、または Azure Storage
パフォーマンスデータ収集 メトリックデータ(Windows のみ) すべてのメトリック
有効方法 VM の「診断設定」で有効 VM の「診断設定」、又は Azure Monitor の診断設定で一括有効

Diagnostics 拡張機能 vs. Log Analytics エージェント

項目 Diagnostics 拡張機能 Log Analytics エージェント
サポート範囲 Azure の仮想マシンでのみ Azure、他のクラウド、オンプレミスの仮想マシン
データ送信先 Azure Storage、Azure Monitor メトリック (Windows のみ)、および Event Hubs にデータが送信される Azure Monitor ログ(Log Analytics)
データ保存先 Azure Storage Azure Monitor ログ(Log Analytics)
Windows セキュリティログ 収集可能 Azure Security Center 必要
必要リソース Azure Storage Log Analytics ワークスペース
パフォーマンスデータ収集 メトリックデータ(Windows のみ) ログベースのパフォーマンスデータ

また、Log Analytics ソリューション、VM insights、Azure Security Center などのその他のサービスに必要です。

Caution:Azure Monitor メトリック、Azure Storage、または Azure Event Hubs にデータを送信することはできません。

※ メトリックデータは ログベースのパフォーマンスデータより軽量で、クエリする時に要する時間が短いため、リアルタイムに近いベースでクエリ可能

OMS Gateway (Log 収集用プロキシサーバー)

エージェントで、データを収集する場合、基本対象の OS が直接インターネットへの接続が必要となります。

接続の要件は:ネットワーク要件 をご確認ください。

ただ、シナリオによっては、すべての OS がインターネットアクセスさせられないような環境もあります。この場合は、OMS Gateway が必要になります。

OMS Gateway がインストールされているプロキシサーバーのみが、TCP 443 ポータルでインターネットアクセスできれば、ネットワーク内部のすべての OS からログを Azure Monitor へ収集できるようになります。

イメージを公式資料から持ってきます。
OMS Gateway

ちなみに、OMS Gateway は簡単に言うと、HTTP フォワード プロキシです。インストーラは Azure ポータルの Log Analytics からダウンロード可能です。

参考:

エージェントのインストールと更新

Azure の仮想マシンの場合、エージェントは以下の方法でインストールすることが可能です。

  • Azure ポータル
  • Powershell コマンド
  • ARM テンプレート
  • Azure Policy
  • Azure Security Center での一括自動インストール
  • Azure Automation DSC によるデプロイ(DSC が既にご利用の環境向け)
  • インストーラで手動インストール

他のクラウドや、オンプレミスの OS の場合、インストーラで手動でインストールする必要があります。

更新については、Azure の VM の拡張機能の自動更新や Azure Security Center による自動更新で対応可能です。
WSUS、Microsoft Update、SCCM、SCOM、DSC で更新することも可能です。
台数が少ない場合、手動更新も考えられます。

ログ収集の待機時間

待機時間は、データが監視対象のシステムで作成される時間と Azure Monitor で分析に使用できるようになる時間を指します。ログ データを取り込むための一般的な待機時間は 20 秒から 3 分です。Documents

ログの収集や取り込むするのに時間がかかるため、リアルタイムでログが表示されないことを意識する必要があります。
また、ログは反映されることの SLA もないので、一般的な待機時間を目安に判断する必要があります。
※ ログの収集はネットワークや VM の状態などの影響もあるので、これが SLA は担保できない原因ではないかと思います。

参考:

その他:System Center Operations Manager

System Center Operations Manager からログを収集することもできます。
System Center Operations Manager の詳しい説明は割愛しますが、興味のある方はこちらをご確認していただければと思います。

参考情報

コメント

タイトルとURLをコピーしました