Integrar a Configuração do Estado de Automação do Azure com os Logs do Azure Monitor

Nota

A Configuração do Estado de Automação do Azure será desativada em 30 de setembro de 2027, faça a transição para a Configuração de Máquina do Azure até essa data. Para obter mais informações, consulte o anúncio da postagem no blog. O serviço de Configuração de Máquina do Azure combina recursos de Extensão DSC, Configuração de Estado de Automação do Azure e os recursos mais comumente solicitados dos comentários dos clientes. A Configuração de Máquina do Azure também inclui suporte a máquinas híbridas por meio de servidores habilitados para Arc.

Atenção

O Azure Automation DSC para Linux foi desativado em 30 de setembro de 2023. Para mais informações, consulte o anúncio.

A Configuração do Estado de Automação do Azure retém os dados de status do nó por 30 dias. Você pode enviar dados de status do nó para os Logs do Azure Monitor se preferir reter esses dados por um período mais longo. O status de conformidade é visível no portal do Azure ou com o PowerShell, para nós e para recursos DSC individuais em configurações de nós.

Os Logs do Azure Monitor fornecem maior visibilidade operacional aos seus dados de Configuração do Estado de Automação e podem ajudar a resolver incidentes mais rapidamente. Com os Logs do Azure Monitor, você pode:

  • Obtenha informações de conformidade para nós gerenciados e recursos individuais.
  • Acione um e-mail ou alerta com base no status de conformidade.
  • Escreva consultas avançadas em seus nós gerenciados.
  • Correlacione o status de conformidade entre as contas de automação.
  • Use exibições personalizadas e consultas de pesquisa para visualizar os resultados do runbook, o status do trabalho do runbook e outros indicadores-chave ou métricas relacionados.

Nota

Este artigo foi atualizado recentemente para usar o termo logs do Azure Monitor em vez de Log Analytics. Os dados de log ainda são armazenados em um espaço de trabalho do Log Analytics e ainda são coletados e analisados pelo mesmo serviço do Log Analytics. Estamos atualizando a terminologia para refletir melhor a função dos logs no Azure Monitor. Consulte Alterações de terminologia do Azure Monitor para obter detalhes.

Pré-requisitos

Para começar a enviar seus relatórios de Configuração de Estado de Automação para os Logs do Azure Monitor, você precisa:

Configurar a integração com os Logs do Azure Monitor

Para começar a importar dados da Configuração do Estado de Automação do Azure para os Logs do Azure Monitor, conclua as etapas a seguir. Para conhecer as etapas que usam o Portal, consulte Encaminhar dados de trabalho da Automação do Azure para os Logs do Azure Monitor.

  1. No seu computador, entre na sua assinatura do Azure com o cmdlet PowerShell Connect-AzAccount e siga as instruções na tela.

    # Sign in to your Azure subscription
    $sub = Get-AzSubscription -ErrorAction SilentlyContinue
    if (-not($sub)) {
        Connect-AzAccount
    }
    # If you have multiple subscriptions, set the one to use
    # Select-AzSubscription -SubscriptionId "<SUBSCRIPTIONID>"
    
  2. Forneça um valor apropriado para as variáveis automationAccount com o nome real da sua conta de automação e workspaceName com o nome real do seu espaço de trabalho do Log Analytics. Em seguida, execute o script.

    $automationAccount = "automationAccount"
    $law = "workspaceName"
    
  3. Obtenha a ID do recurso da sua conta de automação executando os seguintes comandos do PowerShell.

    # Find the ResourceId for the Automation account
    $AutomationResourceId = (Get-AzResource -ResourceType 'Microsoft.Automation/automationAccounts' |
       Where-Object {$_.Name -eq $automationAccount}).ResourceId
    
  4. Obtenha a ID do recurso do seu espaço de trabalho do Log Analytics executando os seguintes comandos do PowerShell.

     # Find the ResourceId for the Log Analytics workspace
     $WorkspaceResourceId = (Get-AzResource `
         -ResourceType 'Microsoft.OperationalInsights/workspaces' |
         WHERE {$_.Name -eq $law}).ResourceId
    
  5. Para definir as configurações de diagnóstico na conta de Automação para encaminhar dados de log de status do nó DSC para os Logs do Azure Monitor, o cmdlet do PowerShell a seguir cria uma configuração de diagnóstico usando esse destino.

    $setAzDiagnosticSettingSplat = @{
        ResourceId = $AutomationResourceId
        WorkspaceId = $WorkspaceResourceId
        Enabled = $true
        Category = 'DscNodeStatus'
    }
    Set-AzDiagnosticSetting @setAzDiagnosticSettingSplat
    

    Quando quiser parar de encaminhar dados de log da Configuração do Estado de Automação para os Logs do Azure Monitor, execute o seguinte cmdlet do PowerShell.

    $setAzDiagnosticSettingSplat = @{
        ResourceId = $AutomationResourceId
        WorkspaceId = $WorkspaceResourceId
        Enabled = $false
        Category = 'DscNodeStatus'
    }
    Set-AzDiagnosticSetting @setAzDiagnosticSettingSplat
    

Exibir os logs de configuração de estado

Você pode pesquisar os logs de Configuração de Estado para operações DSC pesquisando em Logs do Azure Monitor. Depois de configurar a integração com os Logs do Azure Monitor para seus dados de Configuração do Estado de Automação, navegue até sua conta de Automação no portal do Azure. Em seguida, em Monitoramento, selecione Logs.

Registos

Feche a caixa de diálogo Consultas . O painel Pesquisa de Log é aberto com uma região de consulta com escopo para o recurso da conta de Automação. Os registros para operações DSC são armazenados na AzureDiagnostics tabela. Para localizar nós que não são compatíveis, digite a seguinte consulta.

AzureDiagnostics
| where Category == "DscNodeStatus"
| where OperationName contains "DSCNodeStatusData"
| where ResultType != "Compliant"

Detalhes de filtragem:

  • Filtre para DscNodeStatusData retornar operações para cada nó de Configuração de Estado.
  • Filtre DscResourceStatusData para retornar operações para cada recurso DSC chamado na configuração do nó aplicada a esse recurso.
  • Filtre DscResourceStatusData para retornar informações de erro para quaisquer recursos DSC que falharem.

Para saber mais sobre como criar consultas de log para localizar dados, consulte Visão geral de consultas de log no Azure Monitor.

Enviar um e-mail quando uma verificação de conformidade da Configuração de Estado falhar

  1. Retorne à consulta criada anteriormente.

  2. Clique no botão + Nova Regra de Alerta para iniciar o fluxo de criação de alertas.

  3. Na consulta a seguir, substitua NODENAME pelo nome real do nó gerenciado e cole a consulta revisada na caixa de texto Consulta de pesquisa:

    AzureDiagnostics
    | where Category == "DscNodeStatus"
    | where NodeName_s == "NODENAME"
    | where OperationName == "DscNodeStatusData"
    | where ResultType == "Failed"
    

    Se você configurar logs para mais de uma conta ou assinatura de automação, poderá agrupar seus alertas por assinatura e conta de automação. Derive o nome da conta de automação da Resource propriedade nos resultados de pesquisa de log do DscNodeStatusData.

  4. Consulte Criar, exibir e gerenciar alertas de métricas usando o Azure Monitor para concluir as etapas restantes.

Localizar recursos DSC com falha em todos os nós

Uma vantagem de usar os Logs do Azure Monitor é que você pode pesquisar verificações com falha entre nós. Para localizar todas as instâncias de falhas, use a seguinte consulta:

AzureDiagnostics
| where Category == "DscNodeStatus"
| where OperationName == "DscResourceStatusData"
| where ResultType == "Failed"

Exibir status histórico do nó DSC

Para visualizar o histórico de status do nó DSC ao longo do tempo, você pode usar esta consulta:

AzureDiagnostics
| where ResourceProvider == "MICROSOFT.AUTOMATION"
| where Category == "DscNodeStatus"
| where ResultType != "started"
| summarize count() by ResultType

Esta consulta exibe um gráfico do status do nó ao longo do tempo.

Registos de Registos de Registos do Azure Monitor

Os diagnósticos da Automação do Azure criam duas categorias de registros nos Logs do Azure Monitor:

  • Dados de status do nó (DscNodeStatusData)
  • Dados de status do recurso (DscResourceStatusData)

DscNodeStatusData

Property Description
TimeGenerated Data e hora em que a verificação de conformidade foi executada.
OperationName DscNodeStatusData.
ResultType Valor que indica se o nó é compatível.
NodeName_s O nome do nó gerenciado.
NodeComplianceStatus_s Valor de status que especifica se o nó é compatível.
DscReportStatus Valor de status que indica se a verificação de conformidade foi executada com êxito.
Modo de configuração O modo usado para aplicar a configuração ao nó. Os valores possíveis são:
  • ApplyOnly: DSC aplica a configuração e não faz mais nada. Após a aplicação inicial de uma nova configuração, o DSC não verifica se há desvio de um estado configurado anteriormente. O DSC tenta aplicar a configuração até que ela seja bem-sucedida antes que o ApplyOnly valor entre em vigor.
  • ApplyAndMonitor: Este é o valor padrão. O LCM aplica quaisquer novas configurações. Após a aplicação inicial de uma nova configuração, se o nó de destino se desviar do estado desejado, o DSC relatará a discrepância nos logs. O DSC tenta aplicar a configuração até que ela seja bem-sucedida antes que o ApplyAndMonitor valor entre em vigor.
  • ApplyAndAutoCorrect: DSC aplica quaisquer novas configurações. Após a aplicação inicial de uma nova configuração, se o nó de destino se desviar do estado desejado, o DSC relatará a discrepância nos logs e, em seguida, reaplicará a configuração atual.
HostName_s O nome do nó gerenciado.
IPAddress O endereço IPv4 do nó gerenciado.
Categoria DscNodeStatus.
Recurso O nome da conta de Automação do Azure.
Tenant_g GUID que identifica o locatário do chamador.
NodeId_g GUID que identifica o nó gerenciado.
DscReportId_g GUID que identifica o relatório.
LastSeenTime_t Data e hora em que o relatório foi visualizado pela última vez.
ReportStartTime_t Data e hora em que o relatório foi iniciado.
ReportEndTime_t Data e hora em que o relatório foi concluído.
NumberOfResources_d O número de recursos DSC chamados na configuração aplicada ao nó.
SourceSystem O sistema de origem que identifica como os Logs do Azure Monitor foram coletados os dados. Sempre Azure para diagnósticos do Azure.
ResourceId O identificador de recurso da conta de Automação do Azure.
ResultDescription A descrição do recurso para esta operação.
SubscriptionId A ID de assinatura do Azure (GUID) para a conta de automação.
ResourceGroup O nome do grupo de recursos para a conta de automação.
ResourceProvider MICROSOFT. AUTOMAÇÃO.
ResourceType AUTOMAÇÃOCONTAS.
CorrelationId Um identificador de correlação do relatório de conformidade.

DscResourceStatusData

Property Description
TimeGenerated Data e hora em que a verificação de conformidade foi executada.
OperationName DscResourceStatusData.
ResultType Se o recurso está em conformidade.
NodeName_s O nome do nó gerenciado.
Categoria DscNodeStatus.
Recurso O nome da conta de Automação do Azure.
Tenant_g GUID que identifica o locatário do chamador.
NodeId_g GUID que identifica o nó gerenciado.
DscReportId_g GUID que identifica o relatório.
DscResourceId_s O nome da instância de recurso DSC.
DscResourceName_s O nome do recurso DSC.
DscResourceStatus_s Se o recurso DSC está em conformidade.
DscModuleName_s O nome do módulo do PowerShell que contém o recurso DSC.
DscModuleVersion_s A versão do módulo PowerShell que contém o recurso DSC.
DscConfigurationName_s O nome da configuração aplicada ao nó.
ErrorCode_s O código de erro se o recurso falhou.
ErrorMessage_s A mensagem de erro se o recurso falhou.
DscResourceDuration_d O tempo, em segundos, que o recurso DSC correu.
SourceSystem Como os Logs do Azure Monitor coletaram os dados. Sempre Azure para diagnósticos do Azure.
ResourceId O identificador da conta de Automação do Azure.
ResultDescription A descrição desta operação.
SubscriptionId A ID de assinatura do Azure (GUID) para a conta de automação.
ResourceGroup O nome do grupo de recursos para a conta de automação.
ResourceProvider MICROSOFT. AUTOMAÇÃO.
ResourceType AUTOMAÇÃOCONTAS.
CorrelationId Um ID de correlação do relatório de conformidade.

Próximos passos

  • Para obter uma visão geral, consulte Visão geral da Configuração do Estado de Automação do Azure.
  • Para começar, consulte Introdução à Configuração de Estado de Automação do Azure.
  • Para saber mais sobre como compilar configurações de DSC para que você possa atribuí-las a nós de destino, consulte Compilar configurações de DSC na Configuração de Estado de Automação do Azure.
  • Para obter uma referência de cmdlet do PowerShell, consulte Az.Automation.
  • Para obter informações sobre preços, consulte Preços da Configuração do Estado de Automação do Azure.
  • Para ver um exemplo de como usar a Configuração do Estado de Automação do Azure em um pipeline de implantação contínua, consulte Configurar a implantação contínua com o Chocolatey.
  • Para saber mais sobre como construir diferentes consultas de pesquisa e revisar os logs de Configuração do Estado de Automação com os Logs do Azure Monitor, consulte Pesquisas de log nos Logs do Azure Monitor.
  • Para saber mais sobre os Logs do Azure Monitor e as fontes de coleta de dados, consulte Visão geral de Coletando dados de armazenamento do Azure em Logs do Azure Monitor.