次の表に、DCR が作成される Azure portal を使用してデータ収集シナリオを作成する方法を示します。 このような場合は、DCR 自体と直接やり取りする必要はありません。
Azure Portal での作成
Azure portal には、Virtual Machines と Virtual Machine Scale Sets の DCR を作成するためのシンプル エクスペリエンスが用意されています。 この方法を使用すると、変換などの高度な機能を実装する場合を除き、DCR の構造を理解する必要はありません。 さまざまなデータ ソースを使用してこの DCR を作成するプロセスについては、「Azure Monitor エージェントを使用してデータを収集する」を参照してください。
重要
宛先の Log Analytics ワークスペースまたは Azure Monitor ワークスペースと同じリージョンにデータ収集ルールを作成します。 データ収集ルールは、テナント内の任意のサブスクリプションまたはリソース グループのマシンまたはコンテナーに関連付けることができます。 テナント間でデータを送信するには、まず Azure Lighthouse を有効にする必要があります。
Azure portal の [監視] メニューで、[データ収集規則]>[作成] の順に選択して、DCR の作成ページを開きます。
[基本] ページには、DCR に関する基本情報が含まれています。
設定 |
説明 |
規則の名前 |
DCR の名前。 名前は、ルールを見分けるのに役立つわかりやすいものにする必要があります。 |
サブスクリプション |
DCR を格納するサブスクリプション。 サブスクリプションは、仮想マシンと同じサブスクリプションにする必要はありません。 |
リソース グループ |
DCR を格納するリソース グループ。 リソース グループは、仮想マシンと同じリソース グループにする必要はありません。 |
リージョン |
DCR を格納するリージョン。 リージョンは、DCR の送信先で使われる Log Analytics ワークスペースまたは Azure Monitor ワークスペースと同じリージョンである必要があります。 異なる複数のリージョンにワークスペースがある場合は、同じマシンのセットに関連付けられた複数の DCR を作成します。 |
プラットフォームの種類 |
DCR で使用できるデータ ソースの種類を指定します ([Windows] または [Linux])。 [なし] は両方に対応します。 1 |
データ収集エンドポイント |
データの収集に使われるデータ収集エンドポイント (DCE) を指定します。 DCE は、Azure Monitor のプライベート リンクを使っている場合にのみ必要です。 この DCE は、DCR と同じリージョンにある必要があります。 詳細については、「デプロイに基づくデータ収集エンドポイントの設定方法」を参照してください。 |
1 このオプションは、DCR の kind
属性を設定します。 この属性に設定できる値は他にもありますが、ポータルでは使用できません。
リソースを追加する
[リソース] ページでは、DCR に関連付けられるリソースを追加できます。 [+ リソースの追加] を選んでリソースを選びます。 Azure Monitor エージェントがまだないリソースには、自動的にインストールされます。
重要
ポータルは、既存のユーザー割り当て ID と共に、ターゲット リソースでシステム割り当てマネージド ID を有効にします (該当する場合)。 既存のアプリケーションでは、ユーザー割り当て ID を要求で指定しない限り、マシンでは既定でシステム割り当て ID が代わりに使用されます。
監視対象のマシンが送信先の Log Analytics ワークスペースと同じリージョンに存在せず、DCE を必要とするデータの種類を収集している場合は、[データ収集エンドポイントを有効にする] を選んで、監視対象の各マシンのリージョンにあるエンドポイントを選びます。 監視対象のマシンが送信先の Log Analytics ワークスペースと同じリージョンにある場合、または DCE が必要ない場合は、[リソース] タブでデータ収集エンドポイントを選ばないでください。
データ ソースの追加
[収集と配信] ページでは、DCR のデータ ソースとそれぞれの送信先を追加および構成できます。
画面要素 |
説明 |
データ ソース |
[データ ソースの種類] を選択し、選択したデータ ソースの種類に基づいて関連フィールドを定義します。 各データ ソースの種類の構成について詳しくは、「データ ソース」の記事をご覧ください。 |
宛先 |
データ ソースごとに 1 つ以上の送信先を追加します。 同じタイプまたは異なるタイプの送信先を複数選択できます。 たとえば、複数の Log Analytics ワークスペース (マルチホームとも呼ばれます) を選択できます。 サポートされているさまざまな送信先の各データの種類の詳細を参照してください。 |
1 つの DCR に、最大 10 個まで、複数の異なるデータ ソースを含めることができます。 同じ DCR で異なるデータ ソースを組み合わせることができますが、通常は、異なるデータ収集シナリオには異なる DCR を作成します。 DCR を整理する方法の推奨事項については、「Azure Monitor でのデータ収集ルールの作成と管理のベスト プラクティス」を参照してください。
Note
データ収集ルール ウィザードを使用してデータ収集ルールを作成したときに、データが宛先に送信されるまでに最大 5 分かかることがあります。
CLI を使用して作成する
az monitor data-collection rule create コマンドを使用して、JSON ファイルから DCR を作成します。
az monitor data-collection rule create --location 'eastus' --resource-group 'my-resource-group' --name 'my-dcr' --rule-file 'C:\MyNewDCR.json' --description 'This is my new DCR'
az monitor data-collection rule association create コマンドを使用して、DCR とリソース間の関連付けを作成します。
az monitor data-collection rule association create --name "my-vm-dcr-association" --rule-id "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/my-resource-group/providers/Microsoft.Insights/dataCollectionRules/my-dcr" --resource "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/my-resource-group/providers/Microsoft.Compute/virtualMachines/my-vm"
PowerShell を使用して作成する
New-AzDataCollectionRule コマンドレットを使用して、JSON ファイルから DCR を作成します。
New-AzDataCollectionRule -Name 'my-dcr' -ResourceGroupName 'my-resource-group' -JsonFilePath 'C:\MyNewDCR.json'
New-AzDataCollectionRuleAssociation コマンドを使用して、DCR とリソース間の関連付けを作成します。
New-AzDataCollectionRuleAssociation -TargetResourceId '/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/my-resource-group/providers/Microsoft.Compute/virtualMachines/my-vm' -DataCollectionRuleId '/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/my-resource-group/providers/microsoft.insights/datacollectionrules/my-dcr' -AssociationName 'my-vm-dcr-association'
API を使用して作成する
DCR create API を使用して、JSON ファイルから DCR を作成します。 次の例に示すように、任意のメソッドを使用して REST API を呼び出すことができます。
$ResourceId = "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/my-resource-group/providers/Microsoft.Insights/dataCollectionRules/my-dcr"
$FilePath = ".\my-dcr.json"
$DCRContent = Get-Content $FilePath -Raw
Invoke-AzRestMethod -Path ("$ResourceId"+"?api-version=2022-06-01") -Method PUT -Payload $DCRContent
ResourceId="/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/my-resource-group/providers/Microsoft.Insights/dataCollectionRules/my-dcr"
FilePath="my-dcr.json"
az rest --method put --url $ResourceId"?api-version=2022-06-01" --body @$FilePath
ARM テンプレートを使って作成する
テンプレートで DCR と関連付けを定義するには、次のリファレンスを参照してください。
DCR
次のテンプレートを使用し、「Azure Monitor でのデータ収集ルールの構造」と「Azure Monitor でのデータ収集ルール (DCR) のサンプル」からの情報で DCR を作成し、dcr-properties
を定義します。
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"dataCollectionRuleName": {
"type": "string",
"metadata": {
"description": "Specifies the name of the Data Collection Rule to create."
}
},
"location": {
"type": "string",
"metadata": {
"description": "Specifies the location in which to create the Data Collection Rule."
}
}
},
"resources": [
{
"type": "Microsoft.Insights/dataCollectionRules",
"name": "[parameters('dataCollectionRuleName')]",
"location": "[parameters('location')]",
"apiVersion": "2021-09-01-preview",
"properties": {
"<dcr-properties>"
}
}
]
}
DCR アソシエーション - Azure VM
次のサンプルによって、Azure 仮想マシンとデータ収集ルールとの間に関連付けが作成されます。
Bicep テンプレート ファイル
@description('The name of the virtual machine.')
param vmName string
@description('The name of the association.')
param associationName string
@description('The resource ID of the data collection rule.')
param dataCollectionRuleId string
resource vm 'Microsoft.Compute/virtualMachines@2021-11-01' existing = {
name: vmName
}
resource association 'Microsoft.Insights/dataCollectionRuleAssociations@2021-09-01-preview' = {
name: associationName
scope: vm
properties: {
description: 'Association of data collection rule. Deleting this association will break the data collection for this virtual machine.'
dataCollectionRuleId: dataCollectionRuleId
}
}
ARM テンプレート ファイル
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"vmName": {
"type": "string",
"metadata": {
"description": "The name of the virtual machine."
}
},
"associationName": {
"type": "string",
"metadata": {
"description": "The name of the association."
}
},
"dataCollectionRuleId": {
"type": "string",
"metadata": {
"description": "The resource ID of the data collection rule."
}
}
},
"resources": [
{
"type": "Microsoft.Insights/dataCollectionRuleAssociations",
"apiVersion": "2021-09-01-preview",
"scope": "[format('Microsoft.Compute/virtualMachines/{0}', parameters('vmName'))]",
"name": "[parameters('associationName')]",
"properties": {
"description": "Association of data collection rule. Deleting this association will break the data collection for this virtual machine.",
"dataCollectionRuleId": "[parameters('dataCollectionRuleId')]"
}
}
]
}
パラメーター ファイル
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"vmName": {
"value": "my-azure-vm"
},
"associationName": {
"value": "my-windows-vm-my-dcr"
},
"dataCollectionRuleId": {
"value": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/my-resource-group/providers/microsoft.insights/datacollectionrules/my-dcr"
}
}
}
DCR アソシエーション - Arc 対応サーバー
次のサンプルでは、Azure Arc 対応サーバーとデータ収集ルールとの間に関連付けを作成します。
Bicep テンプレート ファイル
@description('The name of the virtual machine.')
param vmName string
@description('The name of the association.')
param associationName string
@description('The resource ID of the data collection rule.')
param dataCollectionRuleId string
resource vm 'Microsoft.HybridCompute/machines@2021-11-01' existing = {
name: vmName
}
resource association 'Microsoft.Insights/dataCollectionRuleAssociations@2021-09-01-preview' = {
name: associationName
scope: vm
properties: {
description: 'Association of data collection rule. Deleting this association will break the data collection for this Arc server.'
dataCollectionRuleId: dataCollectionRuleId
}
}
ARM テンプレート ファイル
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"vmName": {
"type": "string",
"metadata": {
"description": "The name of the virtual machine."
}
},
"associationName": {
"type": "string",
"metadata": {
"description": "The name of the association."
}
},
"dataCollectionRuleId": {
"type": "string",
"metadata": {
"description": "The resource ID of the data collection rule."
}
}
},
"resources": [
{
"type": "Microsoft.Insights/dataCollectionRuleAssociations",
"apiVersion": "2021-09-01-preview",
"scope": "[format('Microsoft.HybridCompute/machines/{0}', parameters('vmName'))]",
"name": "[parameters('associationName')]",
"properties": {
"description": "Association of data collection rule. Deleting this association will break the data collection for this Arc server.",
"dataCollectionRuleId": "[parameters('dataCollectionRuleId')]"
}
}
]
}
パラメーター ファイル
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"vmName": {
"value": "my-hybrid-vm"
},
"associationName": {
"value": "my-windows-vm-my-dcr"
},
"dataCollectionRuleId": {
"value": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/my-resource-group/providers/microsoft.insights/datacollectionrules/my-dcr"
}
}
}
メトリック エクスポート用のデータ収集ルールを作るには、Azure portal、Azure CLI、PowerShell、API、または ARM テンプレートを使います。
Azure portal の [監視] メニューで、[データ収集ルール] を選んでから [作成] を選びます。
プラットフォームのメトリック データを収集する DCR を作成するには、ページの上部にあるリンクを選びます。
[データ収集ルールの作成] ページで、ルール名を入力し、DCR の [サブスクリプション]、[リソース グループ]、[リージョン] を選びます。
メトリックをストレージ アカウントまたは Event Hubs に送信する場合は、[マネージド ID を有効にする] をオンにします。
[次へ] を選択します
[リソース] ページで、[リソースの追加] を選んでメトリックを収集するリソースを追加します。
[次へ] を選んで、[収集と配信] タブに移動します。
[新しいデータフローの追加] を選びます
前のステップで選んだリソースのリソースの種類が自動的に選択されます。 将来的に、このルールを使って複数のリソースの種類からメトリックを収集する場合は、リソースの種類をさらに追加します。
[次へ: 宛先] を選んで、[宛先] タブに移動します。
メトリックを Log Analytics ワークスペースに送信するには、[宛先の種類] ドロップダウンから [Azure Monitor ログ] を選びます。
- [サブスクリプション] と、メトリックを送信する Log Analytics ワークスペースを選びます。
メトリックを Event Hubs に送信するには、[宛先の種類] ドロップダウンから [イベント ハブ] を選びます。
- [サブスクリプション]、[イベント ハブの名前空間]、[イベント ハブのインスタンス名] を選びます。
メトリックをストレージ アカウントに送信するには、[宛先の種類] ドロップダウンから [ストレージ アカウント] を選びます。
- [サブスクリプション]、[ストレージ アカウント]、メトリックを格納する [BLOB コンテナー] を選びます。
Note
メトリックをストレージ アカウントまたは Event Hubs に送信するには、メトリックを生成するリソース、DCR、ストレージ アカウントまたはイベント ハブがすべて、同じリージョンに存在する必要があります。
メトリックを Log Analytics ワークスペースに送信するには、DCR が Log Analytics ワークスペースと同じリージョンに存在する必要があります。 メトリックを生成するリソースは、どのリージョンでもかまいません。
宛先としてストレージ アカウントまたは Event Hubs を選ぶには、[基本] タブで DCR に対してマネージド ID を有効にする必要があります。
[保存] を選んでから、[確認と作成] を選びます。
収集ルールの指定を含む JSON ファイルを作成します。 詳しくは、「DCR の指定」をご覧ください。 JSON ファイルのサンプルについては、「サンプルのメトリック エクスポート JSON オブジェクト」をご覧ください。
重要
ルール ファイルの形式は PowerShell や REST API に使われるものと同じですが、ファイルに identity
、location
、または kind
が含まれていてはなりません。 これらのパラメーターは、az monitor data-collection rule create
コマンドで指定します。
Azure CLI を使ってメトリック用のデータ収集ルールを作成するには、次のコマンドを使います。
az monitor data-collection rule create
--name
--resource-group
--location
--kind PlatformTelemetry
--rule-file
[--identity "{type:'SystemAssigned'}" ]
ストレージ アカウントと Event Hubs が宛先の場合は、--identity "{type:'SystemAssigned'}"
を使って DCR のマネージド ID を有効にする必要があります。 Log Analytics ワークスペースには ID は必要ありません。
たとえば、 にします。
az monitor data-collection rule create
--name cli-dcr-001
--resource-group rg-001
--location centralus
--kind PlatformTelemetry
--identity "{type:'SystemAssigned'}"
--rule-file cli-dcr.json
DCR とリソースの間の関連付けを作成するためのロールの割り当てで使うので、DCR の id
と principalId
をコピーしておきます。
"id": "/subscriptions/bbbb1b1b-cc2c-dd3d-ee4e-ffffff5f5f5f/resourceGroups/rg-001/providers/Microsoft.Insights/dataCollectionRules/cli-dcr-001",
"identity": {
"principalId": "eeeeeeee-ffff-aaaa-5555-666666666666",
"tenantId": "0000aaaa-11bb-cccc-dd22-eeeeee333333",
"type": "systemAssigned"
},
マネージド エンティティに書き込みアクセス許可を付与する
宛先がストレージ アカウントまたは Event Hubs である場合、DCR によって使われるマネージド ID には、宛先への書き込みアクセス許可が必要です。
ルールのマネージド エンティティにアクセス許可を付与するには、エンティティに適切なロールを割り当てます。
次の表に、各宛先の種類に必要なロールを示します。
送信先の種類 |
ロール |
Log Analytics ワークスペース |
は不要 |
Azure Storage アカウント |
Storage Blob Data Contributor |
Event Hubs |
Azure Event Hubs Data Sender |
ロールの割り当てについて詳しくは、「Azure ロールをマネージド ID に割り当てる」をご覧ください。
CLI を使ってマネージド ID にロールを割り当てるには、az role assignment create
を使います。 詳しくは、「ロールの割り当て - 作成」をご覧ください
DCR のマネージド ID に適切なロールを割り当てます。
az role assignment create --assignee <system assigned principal ID> \
--role <`Storage Blob Data Contributor` or `Azure Event Hubs Data Sender` \
--scope <storage account ID or eventhub ID>
次の例では、ストレージ アカウントの DCR のマネージド ID に Storage Blob Data Contributor
ロールを割り当てています。
az role assignment create --assignee eeeeeeee-ffff-aaaa-5555-666666666666 \
--role "Storage Blob Data Contributor" \
--scope /subscriptions/bbbb1b1b-cc2c-DD3D-ee4e-ffffff5f5f5f/resourceGroups/ed-rg-DCRTest/providers/Microsoft.Storage/storageAccounts/metricsexport001
データ収集ルールの関連付けを作成する
データ収集ルールを作成した後、データ収集ルールの関連付け (DCRA) を作成して、ルールと監視対象のリソースを関連付けます。 詳しくは、「データ収集ルールの関連付け - 作成」をご覧ください
データ収集ルールとリソースの間の関連付けを作成するには、az monitor data-collection rule association create
を使います。
az monitor data-collection rule association create --name
--rule-id
--resource
次の例では、データ収集ルールとキー コンテナーの間の関連付けを作成しています。
az monitor data-collection rule association create --name "keyValut-001" \
--rule-id "/subscriptions/bbbb1b1b-cc2c-DD3D-ee4e-ffffff5f5f5f/resourceGroups/rg-dcr/providers/Microsoft.Insights/dataCollectionRules/dcr-cli-001" \
--resource "/subscriptions/bbbb1b1b-cc2c-DD3D-ee4e-ffffff5f5f5f/resourceGroups/rg-dcr/providers/Microsoft.KeyVault/vaults/keyVault-001"
収集ルールの指定を含む JSON ファイルを作成します。 詳しくは、「DCR の指定」をご覧ください。 JSON ファイルのサンプルについては、「サンプルのメトリック エクスポート JSON オブジェクト」をご覧ください。
PowerShell を使ってメトリック用のデータ収集ルールを作成するには、New-AzDataCollectionRule
コマンドを使います。 詳しくは、「New-AzDataCollectionRule」をご覧ください。
New-AzDataCollectionRule -Name
-ResourceGroupName
-JsonFilePath
たとえば、 にします。
New-AzDataCollectionRule -Name dcr-powershell-hub -ResourceGroupName rg-001 -JsonFilePath dcr-storage-account.json
DCR とリソースの間の関連付けを作成するためのロールの割り当てで使うので、DCR の id
と IdentityPrincipalId
をコピーしておきます。
Id : /subscriptions/bbbb1b1b-cc2c-DD3D-ee4e-ffffff5f5f5f/resourceGroups/rg-001/providers/Microsoft.Insights/dataCollectionRules/dcr-powershell-hub
IdentityPrincipalId : eeeeeeee-ffff-aaaa-5555-666666666666
IdentityTenantId : 0000aaaa-11bb-cccc-dd22-eeeeee333333
IdentityType : systemAssigned
IdentityUserAssignedIdentity : {
}
マネージド エンティティに書き込みアクセス許可を付与する
宛先がストレージ アカウントまたは Event Hubs である場合、DCR によって使われるマネージド ID には、宛先への書き込みアクセス許可が必要です。
ルールのマネージド エンティティにアクセス許可を付与するには、エンティティに適切なロールを割り当てます。
次の表に、各宛先の種類に必要なロールを示します。
送信先の種類 |
ロール |
Log Analytics ワークスペース |
は不要 |
Azure Storage アカウント |
Storage Blob Data Contributor |
Event Hubs |
Azure Event Hubs Data Sender |
詳しくは、「Azure ロールをマネージド ID に割り当てる」をご覧ください。
PowerShell を使ったマネージド ID へのロールの割り当てについては、「New-AzRoleAssignment」をご覧ください
New-AzRoleAssignment
を使って、DCR のマネージド ID に適切なロールを割り当てます。
New-AzRoleAssignment -ObjectId <objectId> -RoleDefinitionName <roleName> -Scope /subscriptions/<subscriptionId>/resourcegroups/<resourceGroupName>/providers/<providerName>/<resourceType>/<resourceSubType>/<resourceName>
次の例では、サブスクリプション レベルで DCR のマネージド ID に Azure Event Hubs Data Sender
ロールを割り当てています。
New-AzRoleAssignment -ObjectId eeeeeeee-ffff-aaaa-5555-666666666666 -RoleDefinitionName "Azure Event Hubs Data Sender" -Scope /subscriptions/bbbb1b1b-cc2c-DD3D-ee4e-ffffff5f5f5f
データ収集ルールの関連付けを作成する
データ収集ルールを作成した後、データ収集ルールの関連付け (DCRA) を作成して、ルールと監視対象のリソースを関連付けます。 データ収集ルールとリソースの間の関連付けを作成するには、New-AzDataCollectionRuleAssociation
を使います。 詳しくは、「New-AzDataCollectionRuleAssociation」をご覧ください
New-AzDataCollectionRuleAssociation
-AssociationName <String>
-ResourceUri <String>
-DataCollectionRuleId <String>
次の例では、データ収集ルールとキー コンテナーの間の関連付けを作成しています。
New-AzDataCollectionRuleAssociation
-AssociationName keyVault-001-association
-ResourceUri /subscriptions/bbbb1b1b-cc2c-DD3D-ee4e-ffffff5f5f5f/resourceGroups/rg-dcr/providers/Microsoft.KeyVault/vaults/keyVault-001
-DataCollectionRuleId /subscriptions/bbbb1b1b-cc2c-DD3D-ee4e-ffffff5f5f5f/resourceGroups/rg-dcr/providers/Microsoft.Insights/dataCollectionRules/vaultsDCR001
REST API を使用してデータ収集ルールを作成する
メトリック用のデータ収集ルールを作成するには、次の手順が必要です。
- データ収集ルールを作成します。
- ルールのマネージド エンティティに、宛先に書き込むためのアクセス許可を付与します
- データ収集ルールの関連付けを作成します。
データ収集ルールを作成する
REST API を使って DCR を作成するには、ベアラー トークンを使って認証された要求を行う必要があります。 Azure Monitor での認証について詳しくは、「Azure Monitor の要求を認証する」をご覧ください。
REST API を使ってメトリック用のデータ収集ルールを作成するには、次のエンドポイントを使います。
詳しくは、「データ収集ルール - 作成」をご覧ください。
PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/dataCollectionRules/{dataCollectionRuleName}?api-version=2023-03-11
次に例を示します。
https://management.azure.com/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/rg-001/providers/Microsoft.Insights/dataCollectionRules/dcr-001?api-version=2023-03-11
ペイロードは、収集ルールを定義する JSON オブジェクトです。 ペイロードは要求の本文で送信されます。 JSON の構造について詳しくは、「DCR の指定」をご覧ください。 DCR JSON オブジェクトのサンプルについては、「サンプルのメトリック エクスポート JSON オブジェクト」をご覧ください
マネージド エンティティに書き込みアクセス許可を付与する
宛先がストレージ アカウントまたは Event Hubs である場合、DCR によって使われるマネージド ID には、宛先への書き込みアクセス許可が必要です。
ルールのマネージド エンティティにアクセス許可を付与するには、エンティティに適切なロールを割り当てます。
次の表に、各宛先の種類に必要なロールを示します。
送信先の種類 |
ロール |
Log Analytics ワークスペース |
は不要 |
Azure Storage アカウント |
Storage Blob Data Contributor |
Event Hubs |
Azure Event Hubs Data Sender |
詳しくは、「Azure ロールをマネージド ID に割り当てる」をご覧ください。
REST を使ったマネージド ID へのロールの割り当てについては、「ロールの割り当て - 作成」をご覧ください
データ収集ルールの関連付けを作成する
データ収集ルールを作成した後、データ収集ルールの関連付け (DCRA) を作成して、ルールと監視対象のリソースを関連付けます。 詳しくは、「データ収集ルールの関連付け - 作成」をご覧ください
REST API を使って DCRA を作成するには、次のエンドポイントとペイロードを使います。
PUT https://management.azure.com/{resourceUri}/providers/Microsoft.Insights/dataCollectionRuleAssociations/{associationName}?api-version=2022-06-0
本文は次のようになります。
{
"properties":
{
"description": "<DCRA description>",
"dataCollectionRuleId": "/subscriptions/{subscriptionId}/resourceGroups/{resource group name}/providers/Microsoft.Insights/dataCollectionRules/{DCR name}"
}
}
たとえば、 にします。
https://management.azure.com//subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourcegroups/rg-001/providers/Microsoft.Compute/virtualMachines/vm002/providers/Microsoft.Insights/dataCollectionRuleAssociations/dcr-la-ws-vm002?api-version=2023-03-11
{
"properties":
{
"description": "Association of platform telemetry DCR with VM vm002",
"dataCollectionRuleId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/rg-001/providers/Microsoft.Insights/dataCollectionRules/dcr-la-ws"
}
}
DCR を作成するには、次のテンプレートを使います。 詳しくは、「Microsoft.Insights dataCollectionRules」をご覧ください
テンプレート ファイル
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"dataCollectionRuleName": {
"type": "string",
"metadata": {
"description": "Specifies the name of the Data Collection Rule to create."
}
},
"location": {
"type": "string",
"metadata": {
"description": "Specifies the location in which to create the Data Collection Rule."
}
}
},
"resources": [
{
"type": "Microsoft.Insights/dataCollectionRules",
"name": "[parameters('dataCollectionRuleName')]",
"kind": "PlatformTelemetry",
"identity": {
"type": "userassigned" | "systemAssigned",
"userAssignedIdentities": {
"type": "string"
}
},
"location": "[parameters('location')]",
"apiVersion": "2023-03-11",
"properties": {
"dataSources": {
"platformTelemetry": [
{
"streams": [
"<resourcetype>:<metric name> | Metrics-Group-All"
],
"name": "myPlatformTelemetryDataSource"
}
]
},
"destinations": {
"logAnalytics": [
{
"workspaceResourceId": "[parameters('workspaceId')]",
"name": "myDestination"
}
]
},
"dataFlows": [
{
"streams": [
"<resourcetype>:<metric name> | Metrics-Group-All"
],
"destinations": [
"myDestination"
]
}
]
}
}
]
}
パラメーター ファイル
{
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"dataCollectionRuleName": {
"value": "metrics-dcr-001"
},
"workspaceId": {
"value": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/azuremonitorworkspaceinsights/providers/microsoft.operationalinsights/workspaces/amw-insight-ws"
},
"location": {
"value": "eastus"
}
}
}
DCR テンプレートのサンプル:
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [
{
"type": "Microsoft.Insights/dataCollectionRules",
"apiVersion": "2023-03-11",
"name": "[parameters('dataCollectionRuleName')]",
"location": "[parameters('location')]",
"kind": "PlatformTelemetry",
"identity": {
"type": "SystemAssigned"
},
"properties": {
"dataSources": {
"platformTelemetry": [
{
"streams": [
"Microsoft.Compute/virtualMachines:Metrics-Group-All",
"Microsoft.Compute/virtualMachineScaleSets:Metrics-Group-All",
"Microsoft.Cache/redis:Metrics-Group-All",
"Microsoft.keyvault/vaults:Metrics-Group-All"
],
"name": "myPlatformTelemetryDataSource"
}
]
},
"destinations": {
"logAnalytics": [
{
"workspaceResourceId": "[parameters('workspaceId')]",
"name": "myDestination"
}
]
},
"dataFlows": [
{
"streams": [
"Microsoft.Compute/virtualMachines:Metrics-Group-All",
"Microsoft.Compute/virtualMachineScaleSets:Metrics-Group-All",
"Microsoft.Cache/redis:Metrics-Group-All",
"Microsoft.keyvault/vaults:Metrics-Group-All"
],
"destinations": [
"myDestination"
]
}
]
}
}
]
}
DCR と DCRA を作成した後、最初のプラットフォーム メトリック データが Log Analytics ワークスペースに表示されるまで、最大 30 分かかります。 データのフローが始まると、Log Analytics ワークスペース、ストレージ アカウント、または Event Hubs に流れるプラットフォーム メトリックの時系列の待ち時間は、リソースの種類によりますが、約 3 分です。