Azure Arc AgentのログをLog Analytics Workspaceにためて一元管理する方法

Azure Arc AgentのログをLog Analytics Workspaceにためて一元管理する方法 この記事の内容 Azure Arcで管理するハイブリッドサーバーのエージェントログをLog Analytics Workspaceに集約する手順を解説します DCE(Data Collection Endpoint)とDCR(Data Collection Rule)を組み合わせたログ収集アーキテクチャを紹介します KQL(Kusto照会言語)を使ったカスタムテキストログのパース変換方法を説明します 収集したデータをKQLでクエリして、問題のあるサーバーを素早く特定する活用例を示します 本手法はAzure Arcエージェントのログに限らず、任意のテキストベースのログファイルへの応用が可能です はじめに Azure Arcを通じて管理されているオンプレミスや他社クラウド上のサーバーでは、エージェントが正常に動作していることがサービス提供の前提となります。しかし、エージェントのログは各サーバー内に個別に保存されているため、トラブルシューティングの際には対象サーバーに直接アクセスして確認する必要がありました。 本記事では、Azure MonitorとLog Analytics Workspaceを活用し、すべてのサーバーのAzure Arcエージェントログを一箇所に集約して一元管理・分析する方法を解説します。 ログ収集のアーキテクチャ(全体像) ログ収集の仕組みは、以下のコンポーネントが連携して動作します。 コンポーネント 役割 ハイブリッドサーバー Azure Arc Connected Machine Agentがインストールされたオンプレ・他クラウドのサーバー Log Analytics Workspace ログを格納・分析するための器。カスタムテーブルを作成して利用します Data Collection Endpoint(DCE) サーバーからのログデータを受け取るための窓口 Data Collection Rule(DCR) 「どのサーバー」から「どのログ」を「どう変換」して「どのテーブル」に格納するかを定義するルール Azure Monitor Agent(AMA) DCRが適用されると自動インストールされ、ログを読み取って指定エンドポイントに送信するエージェント このアーキテクチャを構築することで、Log Analytics Workspaceに集約されたデータに対してKQLを使った高度なクエリを実行したり、ダッシュボードで可視化したりすることが可能になります。 前提条件 実装を始める前に、以下の条件が満たされていることを確認してください。 Azure Arcに接続済みのサーバーが存在すること 有効なAzureサブスクリプションを所有していること 実装手順 ステップ1:Log Analytics Workspaceにカスタムテーブルを作成する 最初に、収集したログを格納するための専用テーブルをLog Analytics Workspace内に作成します。 Log Analytics Workspaceでは、標準テーブルに加えて、ユーザーが独自のスキーマを定義したカスタムテーブルを作成できます。これにより、任意の構造を持つデータを柔軟に受け入れることが可能です。 ...

May 10, 2025 · 1 min · 胡田昌彦

Azure MonitorでSecure Webhookを作成する方法 / Microsoft Entra ID

Azure MonitorでSecure Webhookを作成する方法 / Microsoft Entra ID この記事の内容 Azure MonitorのAction GroupでSecure Webhookを構成し、認証されたアクセスのみを許可する方法を解説します Microsoft Entra ID(旧Azure Active Directory)のアクセストークンを用いた認証・認可の仕組みを紹介します Secure Webhook用のサービスプリンシパル作成からアプリケーションロールの割り当てまでの手順を説明します PowerShellスクリプト(SecureWebhookSetup.ps1)を使ったセットアップ方法も紹介します Webhook呼び出し時のBearerトークン検証による安全なシステム連携の実現方法をまとめます Azure MonitorとAction Groupの概要 Azure Monitorは、クラウドサービスやリソースの監視・通知を行うプラットフォームです。監視イベントを検知した際、Action Groupを通じてメール送信やWebhook呼び出しなど、さまざまなアクションを実行できます。 Webhookは外部システムと連携する際によく使われる仕組みですが、セキュリティの観点からそのままでは不十分なケースがあります。そこで「Secure Webhook」を利用することで、認証されたアクセスのみを許可する、より安全な構成が実現できます。 Secure Webhookの仕組み Secure Webhookでは、Microsoft Entra IDで認証されたトークンを利用してWebhookの呼び出しを制御します。 Azure MonitorがAction Group経由でWebhookを呼び出す際、Entra IDから取得したアクセストークンをHTTPヘッダーに含めて送信します。Webhook側はこのトークンを検証することで、呼び出し元の認証と権限確認を行うことができます。 前提条件 セットアップを始める前に、以下の準備が必要です。 PowerShellのMicrosoft Graphモジュールをインストールしておくこと 適切なスコープでMicrosoft Graphに接続しておくこと Microsoft Graphへの接続には、以下のコマンドを使用します。 Connect-MgGraph -Scopes "..." これらの準備を行うことで、後続の手順で必要なコマンドレットが利用可能になります。 Secure Webhook用サービスプリンシパルの作成 Azure MonitorのSecure Webhook機能を利用するには、Microsoftが提供するファーストパーティのアプリケーション(マルチテナント型)を、自テナント内にサービスプリンシパルとして登録する必要があります。 まず、サービスプリンシパルが既に存在するかどうかを確認します。存在しない場合は新たに作成します。 このサービスプリンシパルはMicrosoftが提供する決まったIDを持つアプリケーションであるため、ユーザーが任意のIDを指定するものではありません。テナント内には「エンタープライズアプリケーション」として登録されます。 アプリケーションの登録とロールの設定 ステップ1:アプリケーションの登録 Microsoft Entra ID(Azure Active Directory)の「アプリケーション登録」から、新しいアプリケーションを作成します。 ステップ2:アプリケーションロールの作成 作成したアプリケーションに対して、「Action Group Secure Webhook」用の新しいアプリケーションロールを追加します。 ステップ3:サービスプリンシパルへのロール割り当て 前の手順で作成したSecure Webhook用のサービスプリンシパルに、ステップ2で作成したアプリケーションロールを割り当てます。この操作にはPowerShellの以下のコマンドレットを使用します。 ...

March 4, 2025 · 1 min · 胡田昌彦