Implantar o Azure Monitor em escala usando o Azure Policy

Embora alguns recursos do Azure Monitor sejam configurados uma vez ou um número limitado de vezes, outros devem ser configurados sempre que você quiser monitorá-los. Este artigo descreve métodos para usar o Azure Policy na implantação do Azure Monitor em escala a fim de garantir que o monitoramento seja configurado de forma consistente e precisa para todos os seus recursos do Azure.

Por exemplo, crie uma configuração de diagnóstico para todos os recursos existentes do Azure e para cada novo recurso criado. Também é necessário instalar e configurar um agente sempre que uma máquina virtual é criada. Use métodos como o PowerShell ou a CLI para executar essas ações, pois eles estão disponíveis para todos os recursos do Azure Monitor. Com o Azure Policy, é possível aplicar uma lógica que executará automaticamente a configuração apropriada sempre que um recurso for criado ou modificado.

Azure Policy

Esta seção fornece uma breve introdução ao Azure Policy para avaliar e aplicar padrões organizacionais em toda a assinatura ou o grupo de gerenciamento do Azure facilmente. Consulte a documentação do Azure Policy para obter mais detalhes.

Com o Azure Policy, é possível especificar requisitos de configuração para todos os recursos criados e identificar aqueles que estão fora de conformidade, além de impedir a criação de recursos ou adicionar a configuração necessária. Ele intercepta chamadas para criar um novo recurso ou modificar um existente. Ele pode responder negando a solicitação se ela não corresponder às propriedades esperadas em uma definição de política, sinalizando a falta de conformidade ou implantando um recurso relacionado. Corrija os recursos existentes com uma definição de política deployIfNotExists ou modify.

O Azure Policy consiste nos objetos da tabela a seguir. Consulte Objetos do Azure Policy para obter uma explicação mais detalhada de cada um deles.

Item Descrição
Definição de política Descreve as condições de conformidade de recursos e o efeito quando uma condição é atendida. Isso pode ser relacionado tanto a todos os recursos de um tipo específico quanto somente a recursos que correspondem a determinadas propriedades. O efeito pode ser simplesmente sinalizar o recurso devido à conformidade ou implantar um recurso relacionado. As definições de política são escritas usando JSON, conforme descrito na Estrutura de definição do Azure Policy. Os efeitos são descritos em Entender os efeitos do Azure Policy.
Iniciativa de política Um grupo de definições de política que devem ser aplicadas em conjunto. Por exemplo, você pode ter uma definição de política para enviar logs de recursos a um espaço de trabalho do Log Analytics e outra para enviar logs de recursos para hubs de eventos. Crie uma iniciativa que inclua as duas definições de política e aplique a iniciativa aos recursos em vez de aplicar as definições de política individuais. As iniciativas são escritas usando JSON, conforme descrito na Estrutura de iniciativa do Azure Policy.
Atribuição Uma iniciativa ou definição de política não tem efeito até ser atribuída a um escopo. Por exemplo, atribua uma política a um grupo de recursos para aplicá-la a todos os recursos criados nele ou a uma assinatura para aplicá-la a todos os recursos dela. Para obter mais detalhes, consulte Estrutura de atribuição do Azure Policy.

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

O Azure Policy inclui diversas definições predefinidas relacionadas ao Azure Monitor. É possível atribuir essas definições de política à assinatura existente ou usá-las como base para criar suas próprias definições personalizadas. Para ver uma lista completa das políticas integradas na categoria Monitoramento, consulte Definições de política integrada do Azure Policy para o Azure Monitor.

Para exibir as definições de política integrada relacionadas ao monitoramento, siga as seguintes etapas:

  1. Acesse Azure Policy no portal do Azure.
  2. Selecione Definições.
  3. Para Tipo, selecione Integrado e para Categoria, selecione Monitoramento.

Captura de tela da página de definições do Azure Policy no portal do Azure mostrando uma lista de definições de política para a categoria Monitoramento e o Tipo Integrado.

Agente do Azure Monitor

O Agente do Azure Monitor coleta dados de monitoramento do sistema operacional convidado de máquinas virtuais do Azure e os entrega ao Azure Monitor. Ele usa as Regras de coleta de dados para configurar os dados coletados de cada agente, o que oferece a capacidade de gerenciamento das configurações de coleta em escala e ainda habilita configurações exclusivas com escopo definido para subconjuntos de máquinas.
Use as políticas e as iniciativas de política abaixo para instalar o agente automaticamente e associá-lo a uma regra de coleta de dados sempre que uma máquina virtual for criada.

Iniciativas de políticas integradas

Veja os pré-requisitos para a instalação do agente aqui.

Há iniciativas de política para máquinas virtuais Windows e Linux, compostas por políticas individuais para:

  • Instalar a extensão do agente do Azure Monitor na máquina virtual

  • Criar e implantar a associação para vincular a máquina virtual a uma regra de coleta de dados

    Captura de tela parcial da página de definições do Azure Policy mostrando duas iniciativas de políticas integradas para configurar o agente do Azure Monitor.

Política integrada

É possível usar as políticas individuais da respectiva iniciativa política de acordo com suas necessidades. Por exemplo, para instalar automaticamente apenas o agente, basta usar a primeira política da iniciativa, conforme mostrado abaixo:

Captura de tela parcial da página de definições do Azure Policy mostrando as políticas contidas na iniciativa para configurar o agente do Azure Monitor.

Remediação

As iniciativas ou políticas serão aplicadas a cada criação de máquina virtual. Uma tarefa de correção implanta as definições de política da iniciativa em recursos existentes, o que permite configurar o agente do Azure Monitor para qualquer recurso que já tenha sido criado. 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 de recursos fora de conformidade com o Azure Policy para obter detalhes sobre a correção.

Correção de iniciativa para o AMA

Configurações de Diagnóstico

As configurações de diagnóstico coletam logs de recursos e métricas de recursos do Azure para diversos locais, normalmente em um espaço de trabalho do Log Analytics que permite analisar os dados com consultas de log e alertas de log. Use o Policy para criar automaticamente uma configuração de diagnóstico a cada criação de recurso.

Cada tipo de recurso do Azure tem um conjunto exclusivo de categorias que precisam ser listadas na configuração de diagnóstico. Por isso, cada tipo de recurso 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, é preciso criar uma definição personalizada.

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

Há duas definições de política integrada para cada tipo de recurso, uma para o envio ao espaço de trabalho do Log Analytics e outra para o envio ao Hub de Eventos. Se somente um local for necessário, atribua essa política para o tipo de recurso. Para os dois locais forem necessários, atribua as duas definições de política para o recurso.

Por exemplo, a imagem a seguir mostra as definições de política de configuração de diagnóstico integradas para o Data Lake Analytics.

Captura de tela parcial da página de definições do Azure Policy mostrando duas definições de política de configuração de diagnóstico integradas para o Data Lake Analytics.

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. Faça isso manualmente no portal do Azure, copiando uma política integrada existente e modificando-a para o seu tipo de recurso. No entanto, é mais eficiente criar 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. 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 com o seguinte comando:

    Install-Script -Name Create-AzDiagPolicy
    
  3. Execute o script usando os parâmetros para especificar para onde enviar os logs. Será necessário especificar uma assinatura e um tipo de recurso. Por exemplo, para criar uma definição de política que faz o envio para o espaço de trabalho do Log Analytics e para o Hub de Eventos, use o comando a seguir.

    Create-AzDiagPolicy.ps1 -ExportLA -ExportEH -ExportDir ".\PolicyFiles"  
    
  4. Como alternativa, especifique uma assinatura e um tipo de recurso no comando. Por exemplo, para criar uma definição de política que faz o envio para o espaço de trabalho do Log Analytics e para o Hub de Eventos com relação a bancos de dados SQL Server do Azure, use o comando a seguir.

    Create-AzDiagPolicy.ps1 -SubscriptionID xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx -ResourceType Microsoft.Sql/servers/databases  -ExportLA -ExportEH -ExportDir ".\PolicyFiles"  
    
  5. O script cria pastas separadas para cada definição de política, cada uma contendo três arquivos chamados azurepolicy.json, azurepolicy.rules.json e azurepolicy.parameters.json. Para criar a política manualmente no portal do Azure, copie e cole o conteúdo de azurepolicy.json, pois ele inclui toda a definição de política. Use os outros dois arquivos com o PowerShell ou a CLI 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. Cada um 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.

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

  • Defina a 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 à definição de política incluída na iniciativa, use um parâmetro de iniciativa comum. Isso permite especificar facilmente um valor comum para todas as definições de política e alterar esse valor, se necessário.

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 é particularmente ú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.

Parâmetros de iniciativa

Remediação

A iniciativa será aplicada a cada criação de máquina virtual. Uma tarefa de correção implanta as definições de política na iniciativa para os recursos existentes, permitindo que você crie 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 de recursos fora de conformidade com o Azure Policy para obter detalhes sobre a correção.

Correção de iniciativa

Insights de VM

A Insights da VM é a principal ferramenta no Azure Monitor para monitorar máquinas virtuais. A habilitação de Insights da VM instala os agentes do Log Analytics e de dependência. Em vez de executar essas tarefas manualmente, use o Azure Policy para garantir que cada máquina virtual seja configurada durante a criação.

Observação

A Insights da VM inclui um recurso chamado Cobertura de política de insights de VM, que permite descobrir e corrigir VMs fora de conformidade em seu ambiente. Use esse recurso em vez de trabalhar diretamente com o Azure Policy para VMs do Azure e máquinas virtuais híbridas conectadas ao Azure Arc. Para conjuntos de dimensionamento de máquinas virtuais do Azure, crie a atribuição usando o Azure Policy.

A Insights da VM inclui as seguintes iniciativas integradas que instalam os dois agentes para habilitar o monitoramento completo.

Nome Descrição
Habilitar insights da VM Instala os agentes do Log Analytics e de dependência em VMs do Azure e VMs híbridas conectadas ao Azure Arc.
Habilitar o Azure Monitor em conjuntos de dimensionamento de máquinas virtuais Instala o agente de Log Analytics e o agente de dependência no conjunto de dimensionamento de máquinas virtuais do Azure.

Máquinas virtuais

Em vez de criar atribuições para essas iniciativas usando a interface do Azure Policy, a Insights da VM inclui um recurso que permite inspecionar o número de máquinas virtuais em cada escopo para determinar se a iniciativa foi aplicada. Em seguida, configure o espaço de trabalho e crie as atribuições necessárias usando essa interface.

Para obter detalhes sobre esse processo, consulte Habilitar Insights de VM usando o Azure Policy.

Política de insights de VM

conjuntos de escala de máquina virtual

Se você usar o Azure Policy para habilitar o monitoramento de conjuntos de dimensionamento de máquinas virtuais, atribua a iniciativa Habilitar o Azure Monitor para conjuntos de dimensionamento de máquinas virtuais 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 é particularmente útil para a política de escopo, especialmente quando sua organização tem várias assinaturas.

Captura de tela da página Atribuir iniciativa no portal do Azure. A definição de iniciativa está configurada para habilitar o Azure Monitor para conjuntos de dimensionamento de máquinas virtuais.

Selecione o espaço de trabalho para o qual os dados serão enviados. Esse espaço de trabalho deve ter a solução Insights da VM instalada, conforme descrito em Configurar o espaço de trabalho do Log Analytics para Insights da VM.

Selecione o workspace

Crie uma tarefa de correção se você tiver um conjunto de dimensionamento de máquinas virtuais existente que precise ser atribuído a essa política.

Tarefa de correção

Agente do Log Analytics

Pode haver cenários em que seja necessário instalar o agente do Log Analytics e não o agente de dependência. Não há nenhuma iniciativa integrada apenas para o agente, mas é possível criar suas próprias com base nas definições de política integradas que são fornecidas pelos insights da VM.

Observação

Não há nenhum motivo para implantar o agente de dependência sozinho, pois ele requer que o agente de Log Analytics forneça seus dados ao Azure Monitor.

Nome Descrição
Auditar a implantação do agente do Log Analytics – Imagem de VM (SO) não listada Relatará as VMs como fora de conformidade se a imagem de VM (SO) não estiver definida na lista e o agente não estiver instalado.
Implantar o agente do Log Analytics para VMs do Linux Implante o agente do Log Analytics para VMs do Linux se a imagem de VM (SO) estiver definida na lista e o agente não estiver instalado.
Implantar o agente do Log Analytics para VMs do Windows Implante o agente do Log Analytics para VMs do Windows se a imagem de VM (SO) estiver definida na lista e o agente não estiver instalado.
[Pré-visualização]: o agente do Log Analytics deve ser instalado nos computadores Linux do Azure Arc Relatará máquinas híbridas do Azure Arc como fora de conformidade para VMs Linux se a imagem de VM (SO) estiver definida na lista e o agente não estiver instalado.
[Pré-visualização]: o agente do Log Analytics deve ser instalado nos computadores Windows do Azure Arc Relatará máquinas híbridas do Azure Arc como fora de conformidade para VMs do Windows se a imagem de VM (SO) estiver definida na lista e o agente não estiver instalado.
[Pré-visualização]: implantar o agente do Log Analytics em computadores Linux do Azure Arc Implante o agente do Log Analytics para computadores híbridos Linux do Azure Arc se a imagem de VM (SO) estiver definida na lista e o agente não estiver instalado.
[Pré-visualização]: implantar o agente do Log Analytics em computadores Windows do Azure Arc Implante o agente do Log Analytics para computadores híbridos Windows do Azure Arc se a imagem de VM (SO) estiver definida na lista e o agente não estiver instalado.
Auditar a implantação do agente de dependência em conjuntos de dimensionamento de máquinas virtuais – Imagem de VM (SO) não listada Relatará o conjunto de dimensionamento de máquinas virtuais como fora de conformidade se a imagem de VM (SO) não estiver definida na lista e o agente não estiver instalado.
Auditar a implantação do agente do Log Analytics em conjuntos de dimensionamento de máquinas virtuais – Imagem de VM (SO) não listada Relatará o conjunto de dimensionamento de máquinas virtuais como fora de conformidade se a imagem de VM (SO) não estiver definida na lista e o agente não estiver instalado.
Implantar o agente do Log Analytics em conjuntos de dimensionamento de máquinas virtuais do Linux Implante o agente do Log Analytics em conjuntos de dimensionamento de máquinas virtuais do Linux se a imagem de VM (SO) estiver definida na lista e o agente não estiver instalado.
Implantar o agente do Log Analytics em conjuntos de dimensionamento de máquinas virtuais do Windows Implante o agente do Log Analytics em conjuntos de dimensionamento de máquinas virtuais do Windows se a imagem de VM (SO) estiver definida na lista e o agente não estiver instalado.

Próximas etapas