A tabela a seguir lista métodos para criar cenários de coleta de dados usando o portal do Azure onde o DCR é criado para você. Nesses casos, você não precisa interagir diretamente com o DCR em si.
Para criar uma regra de coleta de dados usando os modelos CLI, PowerShell, API ou ARM do Azure, crie um arquivo JSON, começando com um dos DCRs de exemplo. Use informações em Estrutura de uma regra de coleta de dados no Azure Monitor para modificar o arquivo JSON para seu ambiente e requisitos específicos.
Criar com o portal do Azure
O portal do Azure fornece uma experiência simplificada para criar um DCR para máquinas virtuais e conjuntos de dimensionamento de máquinas virtuais. Usando esse método, você não precisa entender a estrutura de um DCR, a menos que queira implementar um recurso avançado, como uma transformação. O processo para criar esse DCR com várias fontes de dados é descrito em Coletar dados com o Azure Monitor Agent.
Importante
Crie sua regra de coleta de dados na mesma região do espaço de trabalho de destino do Log Analytics ou do Azure Monitor. Você pode associar a regra de coleta de dados a máquinas ou contêineres de qualquer assinatura ou grupo de recursos no locatário. Para enviar dados entre locatários, você deve primeiro habilitar o Azure Lighthouse.
No menu Monitor no portal do Azure, selecione Criar Regras>de Coleta de Dados para abrir a página de criação de DCR.
A página Básico inclui informações básicas sobre o DCR.
Definição |
Descrição |
Nome da Regra |
Nome do DCR. O nome deve ser algo descritivo que ajude a identificar a regra. |
Subscrição |
Assinatura para armazenar o DCR. A assinatura não precisa ser a mesma das máquinas virtuais. |
Grupo de recursos |
Grupo de recursos para armazenar o DCR. O grupo de recursos não precisa ser o mesmo grupo de recursos que as máquinas virtuais. |
País/Região |
Região para armazenar o DCR. A região deve ser a mesma região que qualquer espaço de trabalho do Log Analytics ou do Azure Monitor usado em um destino do DCR. Se você tiver espaços de trabalho em regiões diferentes, crie vários DCRs associados ao mesmo conjunto de máquinas. |
Tipo de plataforma |
Especifica o tipo de fontes de dados que estarão disponíveis para o DCR, Windows ou Linux. Nenhum permite ambos. 1 |
Ponto Final de Recolha de Dados |
Especifica o ponto de extremidade de coleta de dados (DCE) usado para coletar dados. O DCE só é necessário se você estiver usando os Links Privados do Azure Monitor. Este DCE deve estar na mesma região que o DCR. Para obter mais informações, consulte Como configurar pontos de extremidade de coleta de dados com base em sua implantação. |
1 Esta opção define o kind
atributo no DCR. Há outros valores que podem ser definidos para esse atributo, mas eles não estão disponíveis no portal.
Adicionar recursos
A página Recursos permite adicionar recursos a serem associados ao DCR. Selecione + Adicionar recursos para selecionar recursos. O agente do Azure Monitor será instalado automaticamente em todos os recursos que ainda não o tenham.
Importante
O portal permite a identidade gerenciada atribuída pelo sistema nos recursos de destino, juntamente com as identidades atribuídas pelo usuário existentes, se houver. Para aplicativos existentes, a menos que você especifique a identidade atribuída pelo usuário na solicitação, a máquina assume como padrão usar a identidade atribuída pelo sistema.
Se a máquina que você está monitorando não estiver na mesma região do espaço de trabalho do Log Analytics de destino e você estiver coletando tipos de dados que exigem um DCE, selecione Habilitar pontos de extremidade de coleta de dados e selecione um ponto de extremidade na região de cada máquina monitorada. Se a máquina monitorada estiver na mesma região do espaço de trabalho do Log Analytics de destino ou se você não precisar de um DCE, não selecione um ponto de extremidade de coleta de dados na guia Recursos .
Adicionar origens de dados
A página Coletar e entregar permite adicionar e configurar fontes de dados para o DCR e um destino para cada um.
Elemento de tela |
Description |
Origem de dados |
Selecione um tipo de fonte de dados e defina campos relacionados com base no tipo de fonte de dados selecionado. Consulte os artigos em Fontes de dados para obter detalhes sobre como configurar cada tipo de fonte de dados. |
Destino |
Adicione um ou mais destinos para cada fonte de dados. Você pode selecionar vários destinos do mesmo tipo ou de tipos diferentes. Por exemplo, você pode selecionar vários espaços de trabalho do Log Analytics, o que também é conhecido como multihoming. Veja os detalhes de cada tipo de dados para os diferentes destinos suportados. |
Um DCR pode conter várias fontes de dados diferentes até um limite de 10 fontes de dados em um único DCR. Você pode combinar diferentes fontes de dados no mesmo DCR, mas normalmente desejará criar DCRs diferentes para diferentes cenários de coleta de dados. Consulte Práticas recomendadas para criação e gerenciamento de regras de coleta de dados no Azure Monitor para obter recomendações sobre como organizar seus DCRs.
Nota
Pode levar até 5 minutos para que os dados sejam enviados para os destinos quando você cria uma regra de coleta de dados usando o assistente de regra de coleta de dados.
Criar com CLI
Use o comando az monitor data-collection rule create para criar um DCR a partir do seu arquivo JSON.
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'
Use o comando az monitor data-collection rule association create para criar uma associação entre o DCR e o recurso.
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"
Criar com o PowerShell
Use o cmdlet New-AzDataCollectionRule para criar um DCR a partir do arquivo JSON.
New-AzDataCollectionRule -Name 'my-dcr' -ResourceGroupName 'my-resource-group' -JsonFilePath 'C:\MyNewDCR.json'
Use o comando New-AzDataCollectionRuleAssociation para criar uma associação entre seu DCR e o recurso.
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'
Criar com API
Use a API de criação de DCR para criar o DCR a partir do seu arquivo JSON. Você pode usar qualquer método para chamar uma API REST, conforme mostrado nos exemplos a seguir.
$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
Criar com o modelo do ARM
Consulte as referências a seguir para definir DCRs e associações em um modelo.
DCR
Use o modelo a seguir para criar um DCR usando informações de Estrutura de uma regra de coleta de dados no Monitor do Azure e Regras de coleta de dados de exemplo (DCRs) no Azure Monitor para definir o 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>"
}
}
]
}
Associação DCR -Azure VM
O exemplo a seguir cria uma associação entre uma máquina virtual do Azure e uma regra de coleta de dados.
Arquivo de modelo do bíceps
@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
}
}
Arquivo de modelo 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')]"
}
}
]
}
Arquivo de parâmetros
{
"$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 Association - Servidor habilitado para Arc
O exemplo a seguir cria uma associação entre um servidor habilitado para Azure Arc e uma regra de coleta de dados.
Arquivo de modelo do bíceps
@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
}
}
Arquivo de modelo 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')]"
}
}
]
}
Arquivo de parâmetros
{
"$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"
}
}
}
Para editar um DCR, você pode usar qualquer um dos métodos descritos na seção anterior para criar um DCR usando uma versão modificada do JSON.
Para criar uma regra de coleta de dados para exportação de métricas, use o portal do Azure, a CLI do Azure, o PowerShell, a API ou os modelos ARM.
No menu Monitor no portal do Azure, selecione Regras de Recolha de Dados e, em seguida, selecione Criar.
Para criar um DCR para coletar dados de métricas da plataforma, selecione o link na parte superior da página.
Na página Criar Regra de Coleta de Dados, insira um nome de regra, selecione uma Assinatura, um grupo de recursos e uma Região para o DCR.
Selecione Ativar Identidade Gerenciada se quiser enviar métricas para uma Conta de Armazenamento ou Hubs de Eventos .
Selecione Seguinte
Na página Recursos, selecione Adicionar recursos para adicionar os recursos dos quais você deseja coletar métricas.
Selecione Avançar para ir para a guia Coletar e entregar .
Selecione Adicionar novo fluxo de dados
O tipo de recurso escolhido na etapa anterior é selecionado automaticamente. Adicione mais tipos de recursos se quiser usar essa regra para coletar métricas de vários tipos de recursos no futuro.
Selecione Próximos Destinos para ir para a guia Destinos .
Para enviar métricas para um espaço de trabalho do Log Analytics, selecione Azure Monitor Logs na lista suspensa Tipo de destino .
- Selecione o espaço de trabalho Assinatura e o Log Analytics para o qual você deseja enviar as métricas.
Para enviar métricas para Hubs de Eventos, selecione Hub de Eventos na lista suspensa Tipo de destino .
- Selecione a Assinatura, o namespace do Hub de Eventos e o nome da instância do Hub de Eventos.
Para enviar métricas para uma Conta de Armazenamento, selecione Conta de Armazenamento na lista suspensa Tipo de destino .
- Selecione a Assinatura, a Conta de Armazenamento e o contêiner de Blob onde deseja armazenar as métricas.
Nota
Para enviar métricas para uma Conta de Armazenamento ou Hubs de Eventos, o recurso que gera as métricas, o DCR e a Conta de Armazenamento ou Hub de Eventos, devem estar todos na mesma região.
Para enviar métricas para um espaço de trabalho do Log Analytics, o DCR deve estar na mesma região que o espaço de trabalho do Log Analytics. O recurso que gera as métricas pode estar em qualquer região.
Para selecionar Conta de Armazenamento ou Hubs de Eventos como destino, habilite a identidade gerenciada para o DCR na guia Noções básicas.
Selecione Guardar e, em seguida, selecione Rever + criar.
Crie um arquivo JSON contendo a especificação da regra de coleta. Para obter mais informações, consulte Especificações DCR. Para arquivos JSON de exemplo, consulte Exemplos de métricas Exportar objetos JSON.
Importante
O arquivo de regra tem o mesmo formato usado para o PowerShell e a API REST, no entanto, o arquivo não deve conter identity
, o location
, ou kind
. Esses parâmetros são especificados no az monitor data-collection rule create
comando.
Use o comando a seguir para criar uma regra de coleta de dados para métricas usando a CLI do Azure.
az monitor data-collection rule create
--name
--resource-group
--location
--kind PlatformTelemetry
--rule-file
[--identity "{type:'SystemAssigned'}" ]
Para destinos de conta de armazenamento e Hubs de Eventos, você deve habilitar a identidade gerenciada para o DCR usando --identity "{type:'SystemAssigned'}"
o . A identidade não é necessária para espaços de trabalho do Log Analytics.
Por exemplo,
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
Copie o id
e o principalId
do DCR para usar na atribuição da função para criar uma associação entre o DCR e um recurso.
"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"
},
Conceder permissões de gravação à entidade gerenciada
A identidade gerenciada usada pelo DCR deve ter permissões de gravação para o destino quando o destino for uma Conta de Armazenamento ou Hubs de Eventos.
Para conceder permissões para a entidade gerenciada da regra, atribua a função apropriada à entidade.
A tabela a seguir mostra as funções necessárias para cada tipo de destino:
Tipo de destino |
Role |
Área de trabalho do Log Analytics |
não obrigatório |
Conta de armazenamento do Azure |
Storage Blob Data Contributor |
Hubs de Eventos |
Azure Event Hubs Data Sender |
Para obter mais informações sobre como atribuir funções, consulte Atribuir funções do Azure a uma identidade gerenciada.
Para atribuir uma função a uma identidade gerenciada usando a CLI, use az role assignment create
. Para obter mais informações, consulte Atribuições de função - Criar
Atribua a função apropriada à identidade gerenciada do DCR.
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>
O exemplo a seguir atribui a Storage Blob Data Contributor
função à identidade gerenciada do DCR de uma conta de armazenamento.
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
Criar uma associação de regra de coleta de dados
Depois de criar a regra de coleta de dados, crie uma associação de regra de coleta de dados (DCRA) para associar a regra ao recurso a ser monitorado. Para obter mais informações, consulte Associações de regras de coleta de dados - Criar
Use az monitor data-collection rule association create
para criar uma associação entre uma regra de coleta de dados e um recurso.
az monitor data-collection rule association create --name
--rule-id
--resource
O exemplo a seguir cria uma associação entre uma regra de coleta de dados e um Cofre de Chaves.
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"
Crie um arquivo JSON contendo a especificação da regra de coleta. Para obter mais informações, consulte Especificações DCR. Para arquivos JSON de exemplo, consulte Exemplos de métricas Exportar objetos JSON.
Use o comando para criar uma regra de coleta de dados para métricas usando o New-AzDataCollectionRule
PowerShell. Para obter mais informações, consulte New-AzDataCollectionRule.
New-AzDataCollectionRule -Name
-ResourceGroupName
-JsonFilePath
Por exemplo,
New-AzDataCollectionRule -Name dcr-powershell-hub -ResourceGroupName rg-001 -JsonFilePath dcr-storage-account.json
Copie o id
e o IdentityPrincipalId
do DCR para usar na atribuição da função para criar uma associação entre o DCR e um resource.resource.
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 : {
}
Conceder permissões de gravação à entidade gerenciada
A identidade gerenciada usada pelo DCR deve ter permissões de gravação para o destino quando o destino for uma Conta de Armazenamento ou Hubs de Eventos.
Para conceder permissões para a entidade gerenciada da regra, atribua a função apropriada à entidade.
A tabela a seguir mostra as funções necessárias para cada tipo de destino:
Tipo de destino |
Role |
Área de trabalho do Log Analytics |
não obrigatório |
Conta de armazenamento do Azure |
Storage Blob Data Contributor |
Hubs de Eventos |
Azure Event Hubs Data Sender |
Para obter mais informações, consulte Atribuir funções do Azure a uma identidade gerenciada.
Para atribuir uma função a uma identidade gerenciada usando o PowerShell, consulte New-AzRoleAssignment
Atribua a função apropriada à identidade gerenciada do DCR usando New-AzRoleAssignment
o .
New-AzRoleAssignment -ObjectId <objectId> -RoleDefinitionName <roleName> -Scope /subscriptions/<subscriptionId>/resourcegroups/<resourceGroupName>/providers/<providerName>/<resourceType>/<resourceSubType>/<resourceName>
O exemplo a seguir atribui a Azure Event Hubs Data Sender
função à identidade gerenciada do DCR no nível de assinatura.
New-AzRoleAssignment -ObjectId eeeeeeee-ffff-aaaa-5555-666666666666 -RoleDefinitionName "Azure Event Hubs Data Sender" -Scope /subscriptions/bbbb1b1b-cc2c-DD3D-ee4e-ffffff5f5f5f
Criar uma associação de regra de coleta de dados
Depois de criar a regra de coleta de dados, crie uma associação de regra de coleta de dados (DCRA) para associar a regra ao recurso a ser monitorado. Use New-AzDataCollectionRuleAssociation
para criar uma associação entre uma regra de coleta de dados e um recurso. Para obter mais informações, consulte New-AzDataCollectionRuleAssociation
New-AzDataCollectionRuleAssociation
-AssociationName <String>
-ResourceUri <String>
-DataCollectionRuleId <String>
O exemplo a seguir cria uma associação entre uma regra de coleta de dados e um Cofre de Chaves.
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
Criar uma regra de coleta de dados usando a API REST
A criação de uma regra de coleta de dados para métricas requer as seguintes etapas:
- Crie a regra de coleta de dados.
- Conceder permissões para a entidade gerenciada da regra gravar no destino
- Crie uma associação de regra de coleta de dados.
Criar a regra de coleta de dados
Para criar um DCR usando a API REST, você deve fazer uma solicitação autenticada usando um token de portador. Para obter mais informações sobre a autenticação com o Azure Monitor, consulte Autenticar solicitações do Azure Monitor.
Use o ponto de extremidade a seguir para criar uma regra de coleta de dados para métricas usando a API REST.
Para obter mais informações, consulte Regras de coleta de dados - Criar.
PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/dataCollectionRules/{dataCollectionRuleName}?api-version=2023-03-11
Por exemplo
https://management.azure.com/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/rg-001/providers/Microsoft.Insights/dataCollectionRules/dcr-001?api-version=2023-03-11
A carga útil é um objeto JSON que define uma regra de coleta. A carga útil é enviada no corpo da solicitação. Para obter mais informações sobre a estrutura JSON, consulte Especificações DCR. Para objetos JSON DCR de exemplo, consulte Exemplos de métricas exportando objetos JSON
Conceder permissões de gravação à entidade gerenciada
A identidade gerenciada usada pelo DCR deve ter permissões de gravação para o destino quando o destino for uma Conta de Armazenamento ou Hubs de Eventos.
Para conceder permissões para a entidade gerenciada da regra, atribua a função apropriada à entidade.
A tabela a seguir mostra as funções necessárias para cada tipo de destino:
Tipo de destino |
Role |
Área de trabalho do Log Analytics |
não obrigatório |
Conta de armazenamento do Azure |
Storage Blob Data Contributor |
Hubs de Eventos |
Azure Event Hubs Data Sender |
Para obter mais informações, consulte Atribuir funções do Azure a uma identidade gerenciada.
Para atribuir uma função a uma identidade gerenciada usando REST, consulte Atribuições de função - Criar
Criar uma associação de regra de coleta de dados
Depois de criar a regra de coleta de dados, crie uma associação de regra de coleta de dados (DCRA) para associar a regra ao recurso a ser monitorado. Para obter mais informações, consulte Associações de regras de coleta de dados - Criar
Para criar um DCRA usando a API REST, use o seguinte ponto de extremidade e carga útil:
PUT https://management.azure.com/{resourceUri}/providers/Microsoft.Insights/dataCollectionRuleAssociations/{associationName}?api-version=2022-06-0
Corpo:
{
"properties":
{
"description": "<DCRA description>",
"dataCollectionRuleId": "/subscriptions/{subscriptionId}/resourceGroups/{resource group name}/providers/Microsoft.Insights/dataCollectionRules/{DCR name}"
}
}
Por exemplo,
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"
}
}
Use o modelo a seguir para criar um DCR. Para obter mais informações, consulte Microsoft.Insights dataCollectionRules
Arquivo de modelo
{
"$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"
]
}
]
}
}
]
}
Arquivo de parâmetros
{
"$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"
}
}
}
Modelo DCR de exemplo:
{
"$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"
]
}
]
}
}
]
}
Depois de criar o DCR e o DCRA, aguarde até 30 minutos para que os primeiros dados de métricas da plataforma apareçam no espaço de trabalho do Log Analytics. Quando os dados começam a fluir, a latência de uma série temporal métrica de plataforma fluindo para um espaço de trabalho do Log Analytics, Conta de Armazenamento ou Hubs de Eventos é de aproximadamente 3 minutos, dependendo do tipo de recurso.
As métricas de DCR são coletadas automaticamente para todos os DCRs, e você pode analisá-las usando o explorador de métricas, como as métricas de plataforma para outros recursos do Azure. Para obter mais informações, consulte Monitorar e solucionar problemas de coleta de dados DCR no Azure Monitor