Compartilhar via


Crie configurações de diagnóstico em escala usando Políticas e Iniciativas do Azure

Para monitorar os recursos do Azure, é necessário criar configurações de diagnóstico para cada recurso. Esse processo pode ser difícil de gerenciar quando você tem muitos recursos. Para simplificar o processo de criação e aplicação de configurações de diagnóstico em escala, use o Azure Policy para gerar automaticamente configurações de diagnóstico para recursos novos e existentes.

Cada tipo de recurso do Azure tem um conjunto exclusivo de categorias listadas nas configurações de diagnóstico. Cada tipo de recurso, portanto, requer uma definição de política separada. Alguns tipos de recursos têm definições de política integrada que podem ser atribuídas sem modificação. Para outros tipos de recursos, crie uma definição personalizada.

Grupos de categorias de log

Os grupos de categoria de log agrupam tipos semelhantes de logs. Os grupos de categorias facilitam a referência a vários logs em um único comando. Existe um grupo de categorias allLogs que contém todos os logs. Há também um grupo de categorias de auditoria que inclui todos os logs de auditoria. Ao usar um grupo de categoria, você pode definir uma política que é atualizada dinamicamente conforme novas categorias de log são adicionadas ao grupo.

Definições de política internas para o Azure Monitor

Geralmente, há três definições de política internas para cada tipo de recurso, correspondentes aos três destinos para os quais o diagnóstico será enviado:

  • Workspaces do Log Analytics
  • Contas de armazenamento do Azure
  • Hubs de Eventos

Atribua as políticas para o tipo de recurso de acordo com os destinos necessários.

Existe um conjunto de políticas internas de políticas e iniciativas com base nos grupos de categorias de log de auditoria para ajudá-lo a aplicar as configurações de diagnóstico com apenas algumas etapas. Para obter mais informações, confira Habilitar configurações de diagnóstico por grupo de categoria usando políticas internas.

Para obter uma lista completa de políticas internas do Azure Monitor, confira definições internas de Azure Policy para Azure Monitor

Definições de políticas personalizadas

Para tipos de recursos que não têm uma política integrada, crie uma definição de política personalizada. É possível criar uma nova política manualmente no portal do Azure copiando uma política interna existente e modificando-a para seu tipo de recurso. Como alternativa, crie a política programaticamente usando um script na Galeria do PowerShell.

O script Create-AzDiagPolicy cria arquivos de política para um tipo de recurso específico que pode ser instalado usando o PowerShell ou a CLI do Azure. Use o procedimento a seguir para criar uma definição de política personalizada para configurações de diagnóstico:

  1. Verifique se o Azure PowerShell está instalado.

  2. Instale o script usando o comando a seguir:

    Install-Script -Name Create-AzDiagPolicy
    
  3. Execute o script usando os parâmetros para especificar para onde enviar os logs. Especifique uma assinatura e um tipo de recurso no prompt.

    Por exemplo, para criar uma definição de política que envia logs para um espaço de trabalho do Log Analytics e um hub de eventos, use o comando a seguir:

    Create-AzDiagPolicy.ps1 -ExportLA -ExportEH -ExportDir ".\PolicyFiles"  
    

    Como alternativa, especifique uma assinatura e um tipo de recurso no comando. Por exemplo, para criar uma definição de política que envia logs para um espaço de trabalho do Log Analytics e um hub de eventos para bancos de dados SQL Server, use o comando a seguir:

    Create-AzDiagPolicy.ps1 -SubscriptionID <subscription id> -ResourceType Microsoft.Sql/servers/databases  -ExportLA -ExportEH -ExportDir ".\PolicyFiles"  
    
  4. O script cria pastas separadas para cada definição de política. Cada pasta contém três arquivos denominados azurepolicy.json, azurepolicy.rules.json e aazurepolicy.parameters.json. Para criar a política manualmente no portal do Azure, copie e cole o conteúdo de azurepolicy.json, porque ele inclui toda a definição de política. Use os outros dois arquivos com o PowerShell ou a CLI do Azure para criar a definição de política em uma linha de comando.

    Os exemplos a seguir mostram como instalar a definição de política pelo PowerShell e pela CLI do Azure. Cada exemplo inclui metadados para especificar uma categoria de Monitoramento para agrupar a nova definição de política com as definições de política integradas.

    New-AzPolicyDefinition -name "Deploy Diagnostic Settings for SQL Server database to Log Analytics workspace" -policy .\Apply-Diag-Settings-LA-Microsoft.Sql-servers-databases\azurepolicy.rules.json -parameter .\Apply-Diag-Settings-LA-Microsoft.Sql-servers-databases\azurepolicy.parameters.json -mode All -Metadata '{"category":"Monitoring"}'
    
    az policy definition create --name 'deploy-diag-setting-sql-database--workspace' --display-name 'Deploy Diagnostic Settings for SQL Server database to Log Analytics workspace'  --rules 'Apply-Diag-Settings-LA-Microsoft.Sql-servers-databases\azurepolicy.rules.json' --params 'Apply-Diag-Settings-LA-Microsoft.Sql-servers-databases\azurepolicy.parameters.json' --subscription 'AzureMonitor_Docs' --mode All
    

Iniciativa

Em vez de criar uma atribuição para cada definição de política, uma estratégia comum é criar uma iniciativa que inclua as definições de política a fim de gerar configurações de diagnóstico para cada serviço do Azure. Crie uma atribuição entre a iniciativa e um grupo de gerenciamento, uma assinatura ou um grupo de recursos, dependendo de como seu ambiente é gerenciado. Essa estratégia oferece os seguintes benefícios:

  • Crie uma única atribuição para a iniciativa em vez de diversas atribuições para cada tipo de recurso. Use a mesma iniciativa para diversos grupos de monitoramento, assinaturas ou grupos de recursos.
  • Modifique a iniciativa quando precisar incluir um novo tipo de recurso ou destino. Por exemplo, os requisitos iniciais podem consistir no envio de dados somente para um espaço de trabalho do Log Analytics. No entanto, é possível que você queira incluir o hub de eventos posteriormente. Modifique a iniciativa em vez de criar novas atribuições.

Para obter detalhes sobre como criar uma iniciativa, consulte Criar e atribuir uma definição de iniciativa. Considere as seguintes recomendações:

  • Defina Categoria como Monitoramento para agrupá-la com as definições de política personalizadas e integradas relacionadas.
  • Em vez de especificar os detalhes para o espaço de trabalho do Log Analytics e o hub de eventos com relação às definições de política incluídas na iniciativa, use um parâmetro de iniciativa comum. Isso parâmetro permite especificar facilmente um valor comum para todas as definições de política e alterar esse valor, se necessário.

Captura de tela que mostra as configurações da definição de iniciativa.

Atribuição

Atribua a iniciativa a um grupo de gerenciamento, uma assinatura ou um grupo de recursos do Azure, dependendo do escopo dos recursos que serão monitorados. Um grupo de gerenciamento é útil para a política de escopo, especialmente quando sua organização tem várias assinaturas.

Captura de tela das configurações da guia Básico na seção Atribuir iniciativa das Configurações de diagnóstico para o espaço de trabalho do Log Analytics no portal do Azure.

Usando os parâmetros de iniciativa, especifique o espaço de trabalho ou qualquer outro detalhe uma vez para todas as definições de política na iniciativa.

Captura de tela que mostra os parâmetros da iniciativa na guia parâmetros.

Remediação

A iniciativa será aplicada a cada máquina virtual à medida que for sendo criada. Uma tarefa de correção implanta as definições de política na iniciativa para os recursos existentes, para que você possa criar configurações de diagnóstico para quaisquer recursos que já foram criados.

Ao criar a atribuição usando o portal do Azure, você tem a opção de criar uma tarefa de correção ao mesmo tempo. Consulte Correção dos recursos fora de conformidade com o Azure Policy para obter detalhes sobre a correção.

Captura de tela que mostra a correção da iniciativa para um espaço de trabalho Log Analytics.

Solução de problemas

Categoria de métrica não suportada

Ao implantar uma configuração de diagnóstico, você recebe uma mensagem de erro, semelhante à categoria de métrica ' xxxx ' não tem suporte. Você pode receber esse erro mesmo que sua implantação anterior tenha sido bem-sucedida.

O problema ocorre ao usar um modelo do Resource Manager, a API REST, a CLI do Azure ou o Azure PowerShell. As configurações de diagnóstico criadas por meio do portal do Azure não são afetadas, pois apenas os nomes de categoria com suporte são apresentados.

Não há suporte para as categorias de métrica diferentes de AllMetrics, exceto por um número limitado de serviços do Azure. Anteriormente, outros nomes de categoria eram ignorados ao implantarem uma configuração de diagnóstico, redirecionando-os para AllMetrics. A partir de fevereiro de 2021, a categoria de métrica fornecida passou a ser validada. Essa alteração causou a falha de algumas implantações.

Para corrigir esse problema, atualize suas implantações para remover nomes de categoria de métrica que não sejam AllMetrics. Se a implantação adicionar várias categorias, use apenas uma categoria AllMetrics. Caso continue tendo esse problema, entre em contato com o Suporte do Azure pelo portal do Azure.

A configuração desapareceu devido a caracteres não ASCII no resourceID

As configurações de diagnóstico não dão suporte ao resourceIDs com caracteres não ASCII (por exemplo, Preproduccón). Como não é possível renomear os recursos no Azure, você deve criar um novo recurso sem os caracteres não ASCII. Se os caracteres estiverem em um grupo de recursos, você poderá mover os recursos para um novo grupo.

Próximas etapas