A tabela a seguir lista métodos para criar cenários de coleta de dados usando o portal do Azure em que a DCR é criada para você. Nesses casos, não é necessário interagir diretamente com o próprio DCR.
Para criar uma regra de coleta de dados usando a CLI do Azure, o PowerShell, a API ou os modelos do ARM, crie um arquivo JSON, começando com um dos exemplos de DCRs. Use as 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 precisará entender a estrutura de um DCR, a menos que deseje implementar um recurso avançado, como uma transformação. O processo para criar este DCR com várias fontes de dados é descrito em Coletar dados com o Agente do Azure Monitor.
Importante
Crie sua regra de coleta de dados na mesma região que o Workspace do Log Analytics de destino ou o Workspace do Azure Monitor. Você pode associar a regra de coleta de dados a computadores ou contêineres de qualquer assinatura ou grupo de recursos no locatário. Para enviar dados entre locatários, primeiro você deve habilitar o Azure Lighthouse.
No menu Monitorar no portal do Azure, selecione Regras de Coleta de Dados>Criar para abrir a página de criação do DCR.
A página Básico inclui informações básicas sobre o DCR.
Configuração |
Descrição |
Nome da regra |
Nome do DCR. O nome deve ser algo descritivo que ajude você a identificar a regra. |
Assinatura |
Assinatura para armazenar o DCR. A assinatura não precisa ser a mesma assinatura 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 das máquinas virtuais. |
Region |
Região para armazenar o DCR. A região deve ser a mesma região de qualquer espaço de trabalho do Log Analytics ou do Azure Monitor usado em um destino do DCR. Se você tiver workspaces em regiões diferentes, crie vários DCRs associados ao mesmo conjunto de computadores. |
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 de extremidade da coleta 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 Links Privados do Azure Monitor. Esse 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 na sua implantação. |
1 Essa opção define o atributo kind
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 que você adicione recursos para 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 têm.
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 os aplicativos existentes, a menos que você especifique a identidade atribuída pelo usuário na solicitação, o computador assumirá como padrão o uso da identidade atribuída pelo sistema.
Se a máquina que você está monitorando não estiver na mesma região que seu espaço de trabalho de destino do Log Analytics 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 o computador monitorado estiver na mesma região que o workspace 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 fontes 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 |
Descrição |
Fonte de dados |
Selecione um Tipo de fonte de dados e defina os campos relacionados com base no tipo de fonte de dados selecionado. Veja 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 workspaces do Log Analytics, que também são conhecidos como multihoming. Consulte os detalhes de cada tipo de dados para os diferentes destinos aos quais eles dão suporte. |
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.
Observação
Quando você cria uma regra de coleta de dados usando o assistente de regra de coleta de dados, pode levar até 5 minutos para que os dados sejam enviados aos destinos.
Criar com a CLI
Use o comando az monitor data-collection rule create para criar um DCR do 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 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 o 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 a API
Use a API Criar DCR para criar a DCR a partir do 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
Criação com um modelo ARM
Consulte as referências a seguir para definir DCRs e associações em um modelo.
DCR
Use o modelo a seguir para criar uma DCR usando informações da Estrutura de uma regra de coleta de dados no Azure Monitor e DCRs (regras de coleta de dados de exemplo) 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 -VM do Azure
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 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
}
}
Arquivo de modelo do 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"
}
}
}
Associação DCR - Servidor habilitado par Arc
O exemplo a seguir cria uma associação entre um servidor habilitado para o Azure Arc e uma regra de coleta de dados.
Arquivo de modelo 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
}
}
Arquivo de modelo do 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 uma DCR, você usar qualquer um dos métodos descritos na seção anterior para criar uma 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 coleta 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, Grupo de recursos e Região para o DCR.
Selecione Habilitar identidade gerenciada se quiser enviar métricas para uma conta de armazenamento ou Hubs de Eventos.
Selecione Avançar
Na página Recursos, selecione Adicionar recursos para adicionar os recursos dos quais você deseja coletar métricas.
Selecione Avançarpara ir para a aba 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 aba Destinos.
Para enviar métricas para um espaço de trabalho do Log Analytics, selecione Logs do Azure Monitor no menu suspenso Tipo de destino.
- Selecione a Assinatura e o espaço de trabalho do Log Analytics para o qual deseja enviar as métricas.
Para enviar métricas para os Hubs de Eventos, selecione Hub de eventos no menu suspenso Tipo de destino.
- Selecione a Assinatura, o namespace do Event Hub e o nome da instância do Event Hub*.
Para enviar métricas para uma conta de armazenamento, selecione Conta de armazenamento no menu suspenso Tipo de destino.
- Selecione a Assinatura, a Conta de armazenamento e o Contêiner de blobs onde deseja armazenar as métricas.
Observação
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, você deve habilitar a identidade gerenciada para o DCR na guia Básico.
Selecione Salvar e, em seguida, selecione Revisar + criar.
Crie um arquivo JSON contendo a especificação da regra de coleta. Para mais informações, veja Especificações DCR. Para arquivos JSON de exemplo, veja Exemplos de métricas para exportar objetos JSON.
Importante
O arquivo de regras 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 comando az monitor data-collection rule create
.
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'}"
. 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 no 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 |
Função |
Espaço 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, veja Atribuir funções do Azure a uma identidade gerenciada.
Para atribuir uma função a uma identidade gerenciada usando CLI, use az role assignment create
. Para obter mais informações, veja 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 função Storage Blob Data Contributor
à identidade gerenciada do DCR para 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
Crie 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, veja 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 Key Vault.
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 mais informações, veja Especificações DCR. Para arquivos JSON de exemplo, veja Exemplos de métricas para exportar objetos JSON.
Use o comando New-AzDataCollectionRule
para criar uma regra de coleta de dados para métricas usando o PowerShell. Para mais informações, veja 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 recurso.recurso.
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 no 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 |
Função |
Espaço 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, veja Atribuir funções do Azure a uma identidade gerenciada.
Para atribuir uma função a uma identidade gerenciada usando o PowerShell, veja New-AzRoleAssignment
Atribua a função apropriada à identidade gerenciada do DCR usando New-AzRoleAssignment
.
New-AzRoleAssignment -ObjectId <objectId> -RoleDefinitionName <roleName> -Scope /subscriptions/<subscriptionId>/resourcegroups/<resourceGroupName>/providers/<providerName>/<resourceType>/<resourceSubType>/<resourceName>
O exemplo a seguir atribui a função Azure Event Hubs Data Sender
à identidade gerenciada do DCR no nível da assinatura.
New-AzRoleAssignment -ObjectId eeeeeeee-ffff-aaaa-5555-666666666666 -RoleDefinitionName "Azure Event Hubs Data Sender" -Scope /subscriptions/bbbb1b1b-cc2c-DD3D-ee4e-ffffff5f5f5f
Crie 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 mais informações, veja 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 Key Vault.
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
Crie 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.
- Conceda 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 portador. Para obter mais informações sobre autenticação com o Azure Monitor, veja Autenticar solicitações do Azure Monitor.
Use o seguinte ponto de extremidade para criar uma regra de coleta de dados para métricas usando a API REST.
Para obter mais informações, veja 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, veja as especificações DCR. Para obter exemplos de objetos JSON DCR, veja Métricas de exemplo Exportar objetos JSON
Conceder permissões de gravação à entidade gerenciada
A identidade gerenciada usada pelo DCR deve ter permissões de gravação no 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 |
Função |
Espaço 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, veja Atribuir funções do Azure a uma identidade gerenciada.
Para atribuir uma função a uma identidade gerenciada usando REST, veja Atribuições de função - Criar
Crie 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, veja Associações de regras de coleta de dados - Criar
Para criar um DCRA usando a API REST, use o seguinte ponto de extremidade e payload:
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, veja 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"
}
}
}
Exemplo de modelo 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"
]
}
]
}
}
]
}
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 Log Analytics Workspace. Depois que os dados começam a fluir, a latência para uma série temporal de métricas de plataforma fluindo para um espaço de trabalho do Log Analytics, uma 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 todas as DCRs e você pode analisá-las, usando o gerenciador de métricas, como métricas de plataforma para outros recursos do Azure. Para obter mais informações, veja Monitorar e solucionar problemas de coleta de dados DCR no Azure Monitor
As métricas enviadas para um espaço de trabalho do Log Analytics são armazenadas na tabela AzureMetricsV2
. Use o explorador do Log Analytics para visualizar a tabela e confirmar se os dados estão sendo ingeridos.
Para saber mais, consulte Visão geral do Log Analytics no Azure Monitor.