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": "aaaabbbb-0000-cccc-1111-dddd2222eeee",
"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.
Depois de instalar a DCR, pode levar vários minutos para que as alterações entrem em vigor e os dados sejam coletados com a DCR atualizada. Se você não vir nenhum dado sendo coletado, pode ser difícil determinar a causa raiz do problema. Use os recursos de monitoramento de DCR, que incluem métricas e logs para ajudar a solucionar problemas.
Se você não vir dados sendo coletados, siga estas etapas básicas para solucionar o problema.