Windows クライアント デバイス上の Azure Monitor エージェント (プレビュー)

この記事では、Azure Monitor エージェントのクライアント インストーラーを使用するための手順とガイダンスを提供します。 また、Windows クライアント デバイスでデータ収集ルールを活用する方法についても説明します。

このプレビューで利用できる新しいクライアント インストーラーを使用することで、サーバーと仮想マシンに加えて、Windows クライアント デバイスからテレメトリ データを収集できるようになりました。 一般に利用可能な拡張機能とこのインストーラーの両方が、データ収集ルールを使用して同じ基になるエージェントを構成します。

サポートされているデバイスの種類

デバイスの種類 サポート対象 インストール方法 関連情報
Windows 10、11 台のデスクトップ、ワークステーション はい クライアント インストーラ (プレビュー) Windows MSI インストーラーを使用してエージェントをインストールします
Windows 10、ノート PC 11 台 はい クライアント インストーラ (プレビュー) Windows MSI インストーラーを使用してエージェントをインストールします。 インストールはラップトップで動作しますが、エージェントはバッテリー、ネットワーク消費のためにまだ最適化されていません
Virtual Machines Scale Sets いいえ 仮想マシン拡張機能 Azure 拡張機能フレームワークを使用してエージェントをインストールします
オンプレミス サーバー いいえ 仮想マシンの拡張 (Azure Arc エージェントを使用) Arc エージェントをインストールしてオンプレミス用に提供される Azure 拡張機能フレームワークを使用してエージェントをインストールします

前提条件

  1. コンピューターは、Windows クライアント OS バージョン 10 RS4 以降を実行している必要があります。
  2. インストーラーをダウンロードするには、コンピューターに C++ 再頒布可能バージョン 2015 以降が必要です。
  3. マシンは Azure AD テナント (AADj またはハイブリッド AADj マシン) にドメイン参加している必要があり、エージェントは Azure からのデータ収集ルールの認証と取得に使用される Azure AD デバイス トークンを取得できます。
  4. Azure AD テナントに対するテナント管理者のアクセス許可が必要な場合があります。
  5. デバイスは、次の HTTPS エンドポイントにアクセスできる必要があります。
    • global.handler.control.monitor.azure.com
    • <virtual-machine-region-name>.handler.control.monitor.azure.com (例: westus.handler.control.azure.com)
    • <log-analytics-workspace-id>.ods.opinsights.azure.com (例: 12345a01-b1cd-1234-e1f2-1234567g8h99.ods.opsinsights.azure.com)
      (エージェントでプライベート リンクを使用する場合は、データ収集エンドポイントも追加する必要があります)
  6. デバイスに関連付ける既存のデータ収集ルール。 まだ存在しない場合は、こちらのガイダンスに従ってデータ収集ルールを作成します。 ルールをリソースにまだ関連付けないでください

エージェントをインストールする

  1. このリンクを使用して、エージェント用のWindows MSIインストーラをダウンロードします。 Azure portal の Monitor>Data Collection Rules> Create エクスペリエンス (下図を参照) からダウンロードすることもできます: Diagram shows download agent link on Azure portal.

  2. 管理者特権のコマンド プロンプト ウィンドウを開き、インストーラをダウンロードした場所へのパスを更新します。

  3. デフォルト設定でインストールするには、次のコマンドを実行します。

     msiexec /i AzureMonitorAgentClientSetup.msi /qn
    
  4. カスタムファイルパスまたはネットワークプロキシ設定を使用してインストールするには、次の表の値を指定して次のコマンドを使用します。

     msiexec /i AzureMonitorAgentClientSetup.msi /qn DATASTOREDIR="C:\example\folder"
    
    パラメーター 説明
    INSTALLDIR エージェント バイナリーがインストールされているディレクトリー パス
    DATASTOREDIR エージェントが操作ログとデータを保存するディレクトリー パス
    PROXYUSE プロキシを使用するには、"true" に設定する必要があります
    ProxyAddress プロキシ アドレスに設定します。 PROXYUSE を正しく適用するには、"true" に設定する必要があります
    PROXYUSEAUTH プロキシが認証を必要とする場合は "true" に設定します
    プロキシユーザー名 プロキシユーザー名に設定します。 プロキシー・ユースおよびプロキシー・ユース認証は "true" に設定する必要があります。
    PROXYPASSWORD プロキシ パスワードに設定します。 プロキシー・ユースおよびプロキシー・ユース認証は "true" に設定する必要があります。
  5. インストールが成功したことを確認します。

    • コントロール パネル ->プログラムと機能 または 設定 ->アプリ ->アプリ&機能 を開き、一覧に [Azure Monitor エージェント] が表示されていることを確認します。
    • サービスを開き、Azure Monitor エージェント が表示され、実行中と表示されることを確認します。
  6. エージェントが実際に動作を開始するために、データ収集ルールを関連付ける監視対象オブジェクトの作成に進みます。

注意

クライアント インストーラーと共にインストールされたエージェントは、現在、インストール後の構成更新をサポートしていません。 AMA をアンインストールしてから再インストールし、AMA の構成を更新します。

「監視対象オブジェクト」を作成して関連付ける

Azure Resource Manager (ARM) 内でAzure AD テナントの表現を作成する「監視対象オブジェクト」(MO) を作成する必要があります。 この ARM エンティティは、データ収集ルールが関連付けられるものです。 現在、この関連付けは Azure AD テナント スコープに対してのみ 制限 されているため、テナントに適用された構成は、テナントの一部であり、エージェントを実行しているすべてのデバイスに適用されます。 次の図は、このしくみを示しています。

Diagram shows monitored object purpose and association.

次に、次の手順に進み、REST API または PowerShell コマンドを使用して、監視対象オブジェクトを作成して関連付けます。

REST API の使用

1. オペレーターに「監視対象オブジェクト共同作成者」ロールを割り当てる

この手順では、監視対象オブジェクトを作成してユーザーにリンクする権限が付与されます。
必要なアクセス許可: MO はテナント レベルのリソースであるため、アクセス許可のスコープはサブスクリプションのスコープよりも高くなります。 そのため、この手順を実行するには、Azure テナント管理者が必要になる場合があります。 Azure AD テナント管理者を Azure テナント管理者として昇格するには、次の手順に従います。Azure AD 管理者にルート スコープでの「所有者」アクセス許可が付与されます。

要求 URI

PUT https://management.azure.com/providers/microsoft.insights/providers/microsoft.authorization/roleassignments/{roleAssignmentGUID}?api-version=2021-04-01-preview

URI パラメーター

名前 / Type [説明]
roleAssignmentGUID path string 任意の有効な GUID を指定します(https://guidgenerator.com/ を使用して生成できます)

ヘッダー

  • 承認: ARM ベアラー トークン (「Get-AzAccessToken」またはその他の方法を使用)
  • Content-Type: application/json

要求本文

{
	"properties":
	{
		"roleDefinitionId":"/providers/Microsoft.Authorization/roleDefinitions/56be40e24db14ccf93c37e44c597135b",
		"principalId":"aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa"
	}
}

本文のパラメーター

名前 説明
roleDefinitionId 固定値: 「監視対象オブジェクト共同作成者」ロールのロール定義 ID: /providers/Microsoft.Authorization/roleDefinitions/56be40e24db14ccf93c37e44c597135b
principalId ロールを割り当てる必要があるユーザー ID Object Id を指定します。 これは、手順 1 の開始時に昇格したユーザー、または後の手順を実行する別のユーザーである可能性があります。

この手順が完了したら、セッションを再認証、ARM ベアラ トークンを再取得します。

2. 監視対象オブジェクトの作成

この手順では、Azure AD テナント スコープの監視対象オブジェクトを作成します。 これは、その Azure AD テナント ID で署名されたクライアント デバイスを表すために使用されます。

必要なアクセス許可: 手順 1 で割り当てられたように、適切なスコープに「監視対象オブジェクト共同作成者」を持つすべてのユーザーは、この操作を実行できます。

要求 URI

PUT https://management.azure.com/providers/Microsoft.Insights/monitoredObjects/{AADTenantId}?api-version=2021-09-01-preview

URI パラメーター

名前 / Type [説明]
AADTenantId path string デバイスが属する Azure AD テナントの ID。 MO は同じ ID で作成されます。

ヘッダー

  • 承認: ARM ベアラー トークン
  • Content-Type: application/json

要求本文

{
    "properties":
	{
        "location":"eastus"
    }
}

本文のパラメーター

名前 説明
location MO オブジェクトが格納される Azure リージョン。 これは、データ収集ルールを作成した同じリージョンである必要があります。 これは、エージェント通信が行われるリージョンの場所です。

3. DCR を監視対象オブジェクトに関連付ける

次に、データ収集ルールの関連付けを作成して、データ収集ルール (DCR) を監視対象オブジェクトに関連付けます。 まだ作成していない場合は、こちらの手順に従って最初にデータ収集ルールを作成します。
必要なアクセス許可: 手順 1 で割り当てられたように、適切なスコープに「監視対象オブジェクト共同作成者」を持つすべてのユーザーは、この操作を実行できます。

要求 URI

PUT https://management.azure.com/{MOResourceId}/providers/microsoft.insights/datacollectionruleassociations/assoc?api-version=2021-04-01

サンプル要求 URI

PUT https://management.azure.com/providers/Microsoft.Insights/monitoredObjects/{AADTenantId}/providers/microsoft.insights/datacollectionruleassociations/assoc?api-version=2021-04-01

URI パラメーター

名前 / Type 説明
''MOResourceId' path string 手順 2 で作成した MO の完全なリソース ID。 例: 'providers/Microsoft.Insights/monitoredObjects/{AADTenantId}'

ヘッダー

  • 承認: ARM ベアラー トークン
  • Content-Type: application/json

要求本文

{
	"properties": 
	{
		"dataCollectionRuleId": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/dataCollectionRules/{DCRName}"
	}
}

本文のパラメーター

名前 説明
dataCollectionRuleID 監視対象オブジェクトと同じリージョン に作成した既存のデータ収集ルールの リソース ID。

PowerShell の使用

$TenantID = "xxxxxxxxx-xxxx-xxx"  #Your Tenant ID
$SubscriptionID = "xxxxxx-xxxx-xxxxx" #Your Subscription ID
$ResourceGroup = "rg-yourResourseGroup" #Your resroucegroup
$DCRName = "CollectWindowsOSlogs" #Your Data collection rule name

Connect-AzAccount -Tenant $TenantID

#Select the subscription
Select-AzSubscription -SubscriptionId $SubscriptionID

#Grant Access to User at root scope "/"
$user = Get-AzADUser -UserPrincipalName (Get-AzContext).Account

New-AzRoleAssignment -Scope '/' -RoleDefinitionName 'Owner' -ObjectId $user.Id

#Create Auth Token
$auth = Get-AzAccessToken

$AuthenticationHeader = @{
    "Content-Type" = "application/json"
    "Authorization" = "Bearer " + $auth.Token
    }


#1. Assign ‘Monitored Object Contributor’ Role to the operator
$newguid = (New-Guid).Guid
$UserObjectID = $user.Id

$body = @"
{
            "properties": {
                "roleDefinitionId":"/providers/Microsoft.Authorization/roleDefinitions/56be40e24db14ccf93c37e44c597135b",
                "principalId": `"$UserObjectID`"
        }
}
"@

$request = "https://management.azure.com/providers/microsoft.insights/providers/microsoft.authorization/roleassignments/$newguid`?api-version=2021-04-01-preview"


Invoke-RestMethod -Uri $request -Headers $AuthenticationHeader -Method PUT -Body $body


##########################

#2. Create Monitored Object

$request = "https://management.azure.com/providers/Microsoft.Insights/monitoredObjects/$TenantID`?api-version=2021-09-01-preview"
$body = @'
{
    "properties":{
        "location":"eastus"
    }
}
'@

$Respond = Invoke-RestMethod -Uri $request -Headers $AuthenticationHeader -Method PUT -Body $body -Verbose
$RespondID = $Respond.id

#########

#3. Associate DCR to Monitored Object

$request = "https://management.azure.com$RespondId/providers/microsoft.insights/datacollectionruleassociations/assoc?api-version=2021-04-01"
$body = @"
        {
            "properties": {
                "dataCollectionRuleId": "/subscriptions/$SubscriptionID/resourceGroups/$ResourceGroup/providers/Microsoft.Insights/dataCollectionRules/$DCRName"
            }
        }

"@

Invoke-RestMethod -Uri $request -Headers $AuthenticationHeader -Method PUT -Body $body

セットアップに成功したことを検証する

データ収集ルールで宛先として指定した Log Analytics ワークスペースの 'Heartbeat' テーブル (およびルールで構成した他のテーブル) を確認します。 SourceComputerIdComputerComputerIP列はすべてクライアント デバイス情報をそれぞれする必要がありCategory、列には「Azure Monitor Agent」と表示されます。 以下の例をご覧ください。

Diagram shows agent heartbeat logs on Azure portal.

エージェントの管理

エージェントのバージョンを確認する

次のいずれかのオプションを使用して、インストールされているエージェントのバージョンを確認できます。

  • コントロール パネル>プログラムと機能>Azure Monitor エージェントを開き、一覧表示されている [バージョン] を確認します
  • 設定>アプリ>アプリと機能>Azure Monitor エージェント開き、一覧表示されている [バージョン] を確認します

エージェントのアンインストール

次のいずれかのオプションを使用して、インストールされているエージェントのバージョンを確認できます。

  • コントロール パネル>プログラムと機能>Azure Monitor エージェントを開き、[アンインストール] をクリックします
  • 設定>アプリ>アプリと機能>Azure Monitor エージェントを開き、[アンインストール] をクリックします

[アンインストール] 中に問題が発生した場合は、以下の「トラブルシューティング ガイダンス」を参照してください

エージェントを更新する

バージョンを更新するには、更新先の新しいバージョンをインストールします。

トラブルシューティング

エージェント診断ログの表示

  1. ログを有効にしてインストールを再実行し、ログ ファイル名を指定します。Msiexec /I AzureMonitorAgentClientSetup.msi /L*V <log file name>
  2. ランタイムログは、デフォルトの場所 C:\Resources\Azure Monitor Agent\ またはインストール時に記載されているファイルパスに自動的に収集されます。
    • パスが見つからない場合は、AMADataRootDirPathHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\AzureMonitorAgent されているように、レジストリで正確な場所を見つけることができます。
  3. 「ServiceLogs」フォルダには、AMA プロセスを起動および管理する AMA Windows サービスからのログが含まれています
  4. 「AzureMonitorAgent.MonitoringDataStore」には、AMA プロセスからのデータ/ログが含まれています。

一般的な問題

DLL が見つかりません

  • エラー メッセージ: 「この Windows インストーラー パッケージに問題があります。」 このインストーラーを完了するために必要な DLL を実行できませんでした。 …"
  • AMA をインストールする前に、C++ 再頒布可能パッケージ (> 2015) がインストールされていることを確認してください。

コマンド プロンプトからのサイレント インストールが失敗する

管理者のコマンド プロンプトでインストーラを起動してください。 サイレント インストールは、管理者コマンド プロンプトからのみ開始できます。

アンインストーラがサービスを停止できないため、アンインストールが失敗する

  • もう一度やり直すオプションがある場合は、もう一度やり直してください
  • アンインストーラーからの再試行が機能しない場合は、アンインストールをキャンセルし、サービスからの Azure Monitor エージェント サービスを停止します (デスクトップ アプリケーション)
  • アンインストールの再試行

アンインストーラーが機能しない場合に手動でアンインストールを強制する

  • Azure Monitor エージェント サービスを停止します。 その後、もう一度アンインストールします。 失敗した場合は、次の手順に進みます
  • 管理者 cmd から「sc delete AzureMonitorAgent」を使用して AMA サービスを削除する
  • このツールをダウンロードし、AMA をアンインストールします
  • AMA バイナリを削除します。 これらは既定で Program Files\Azure Monitor Agent に保存されます
  • AMA データ/ログを削除します。 これらは既定で C:\Resources\Azure Monitor Agent に保存されます
  • レジストリを開きます。 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Azure Monitor Agent をチェックします。 存在する場合は、キーを削除します。

質問とフィードバック

この簡単なアンケートを実施するか、Azure Monitor エージェント ユーザー コミュニティのプレビューに関するフィードバックや質問を共有します。