Integrar o State Configuration da Automação do Azure aos logs do Azure Monitor
Observação
O State Configuration da Automação do Azure será desativado em 30 de setembro de 2027, faça a transição para a Configuração de Máquina do Azure até essa data. Para saber mais, confira a postagem no blog sobre o anúncio. O serviço de Configuração de Máquina do Azure combina recursos da Extensão DSC, da Configuração de Estado da Automação do Azure e dos recursos mais solicitados por meio de comentários dos clientes. A Configuração de Máquinas do Azure também inclui suporte a máquina híbrida por meio servidores habilitados para Arc.
Cuidado
O DSC de Automação do Azure para Linux foi desativado em 30 de setembro de 2023. Para obter mais informações, confira o comunicado.
A State Configuration de Automação do Azure retém os dados de status do nó por 30 dias. Você poderá enviar dados de status do nó para Logs do Azure Monitor se preferir reter esses dados por um período mais longo. O status de conformidade é visível no portal do Microsoft Azure, ou com o PowerShell, para nós e recursos individuais de DSC em configurações de nó.
Os logs do Azure Monitor oferecem maior visibilidade operacional para os dados do State Configuration da Automação e podem ajudar a tratar incidentes mais rapidamente. Com os logs do Azure Monitor, você pode:
- Obter informações de conformidade para nós gerenciados e recursos individuais.
- Disparar um email ou alerta com base no status de conformidade.
- Escrever consultas avançadas em seus nós gerenciados.
- Correlacionar o status de conformidade em contas de Automação.
- Usar exibições personalizadas e consultas de pesquisa para visualizar os resultados do runbook, o status do trabalho de runbook e outros indicadores ou métricas principais relacionados.
Observação
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. Confira as alterações de terminologia do Azure Monitor para obter detalhes.
Pré-requisitos
Para começar a enviar seus relatórios de State Configuration da Automação para logs do Azure Monitor, você precisará do seguinte:
- O Módulo do Az PowerShell. Verifique se você tem a versão mais recente. Se for necessário, execute
Update-Module -Name Az
. - Uma conta de Automação do Azure. Confira mais informações em Uma introdução à Automação do Azure.
- Um espaço de trabalho do Log Analytics. Para obter mais informações, confira Visão geral dos logs do Azure Monitor.
- No mínimo, um nó de Configuração do Estado de Automação do Azure. Para saber mais, veja Máquinas de integração para o gerenciamento pela State Configuration de Automação do Azure.
- O módulo xDscDiagnostics, versão 2.7.0.0 ou superior. Para obter as etapas de instalação, consulte Solucionar problemas com a Desired State Configuration da Automação do Azure.
Configurar a integração com os logs do Azure Monitor
Para começar a importar dados do State Configuration da Automação do Azure para logs do Azure Monitor, conclua as etapas a seguir. Para saber quais são as etapas para usar o Portal, confira Encaminhar dados de trabalho da Automação do Azure para os logs do Azure Monitor.
Em sua máquina, entre em sua assinatura do Azure com o cmdlet Connect-AzAccount do PowerShell 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>"
Forneça um valor apropriado para as variáveis
automationAccount
com o nome real de sua conta de Automação eworkspaceName
com o nome real de seu workspace do Log Analytics. Em seguida, execute o script.$automationAccount = "automationAccount" $law = "workspaceName"
Obtenha a ID do recurso de sua conta de Automação executando os comandos do PowerShell a seguir.
# Find the ResourceId for the Automation account $AutomationResourceId = (Get-AzResource -ResourceType 'Microsoft.Automation/automationAccounts' | Where-Object {$_.Name -eq $automationAccount}).ResourceId
Obtenha a ID do recurso do workspace do Log Analytics usando o comando do PowerShell a seguir.
# Find the ResourceId for the Log Analytics workspace $WorkspaceResourceId = (Get-AzResource ` -ResourceType 'Microsoft.OperationalInsights/workspaces' | WHERE {$_.Name -eq $law}).ResourceId
Para definir as configurações de diagnóstico na conta de Automação para encaminhar os dados do 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 você quiser parar de encaminhar dados de log do State Configuration da Automação para os logs do Azure Monitor, execute o cmdlet do PowerShell a seguir.
$setAzDiagnosticSettingSplat = @{ ResourceId = $AutomationResourceId WorkspaceId = $WorkspaceResourceId Enabled = $false Category = 'DscNodeStatus' } Set-AzDiagnosticSetting @setAzDiagnosticSettingSplat
Exibir os logs de configuração de estado
Você pode procurar operações de DSC nos logs do State Configuration. Para isso, pesquise por logs do Azure Monitor. Depois de configurar a integração com os logs do Azure Monitor para seus dados do State Configuration da Automação, navegue até sua conta de Automação no portal do Azure. Em Monitoramento, selecione Logs.
Feche a caixa de diálogo de Consultas. O painel Pesquisa de Logs é aberto com uma região de consulta com o escopo definido para o recurso de conta da Automação do Azure. Os registros de operações de DSC são armazenados na tabela AzureDiagnostics
. Para encontrar nós que não são compatíveis, digite a consulta a seguir.
AzureDiagnostics
| where Category == "DscNodeStatus"
| where OperationName contains "DSCNodeStatusData"
| where ResultType != "Compliant"
Detalhes da filtragem:
- Filtre
DscNodeStatusData
para retornar operações para cada nó de State Configuration. - Filtre
DscResourceStatusData
para retornar as operações de cada recurso de DSC chamado na configuração de nó aplicada a esse recurso. - Filtre
DscResourceStatusData
para retornar informações de erro para todos os recursos de DSC que falharem.
Para saber mais sobre como construir consultas de log para localizar dados, consulte Visão geral das consultas de log no Azure Monitor.
Enviar um email quando uma verificação de conformidade da Configuração do Estado falhar
Retorne à consulta criada anteriormente.
Selecione + Nova Regra de Alerta para iniciar o fluxo de criação do alerta.
Na consulta a seguir, substitua
NODENAME
pelo nome real do nó gerenciado e cole a consulta revisada na caixa de texto de Consulta de pesquisa:AzureDiagnostics | where Category == "DscNodeStatus" | where NodeName_s == "NODENAME" | where OperationName == "DscNodeStatusData" | where ResultType == "Failed"
Se você configurou logs para mais de uma Conta de automação ou assinatura, também poderá agrupar os alertas por assinatura e por Conta de automação. Derive o nome da conta de Automação da propriedade
Resource
nos resultados da pesquisa de logs doDscNodeStatusData
.Examine Criar, exibir e gerenciar alertas de métrica usando o Azure Monitor para concluir as etapas restantes.
Encontrar recursos DSC com falha em todos os nós
Uma vantagem de usar os logs do Azure Monitor é que você pode procurar falhas de verificações em 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 do nó DSC histórico
Para visualizar o histórico de status do nó DSC ao longo do tempo, use esta consulta:
AzureDiagnostics
| where ResourceProvider == "MICROSOFT.AUTOMATION"
| where Category == "DscNodeStatus"
| where ResultType != "started"
| summarize count() by ResultType
Essa consulta exibe um gráfico do status do nó ao longo do tempo.
Registros de logs do Azure Monitor
O diagnóstico da Automação do Azure cria duas categorias de registros nos logs do Azure Monitor:
- Dados do status do nó (
DscNodeStatusData
) - Dados do status do recurso (
DscResourceStatusData
)
DscNodeStatusData
Propriedade | Descrição |
---|---|
TimeGenerated | Data e hora quando a verificação de conformidade foi executada. |
OperationName | DscNodeStatusData . |
ResultType | Valor que indica se o nó está em conformidade. |
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. |
ConfigurationMode | O modo usado para aplicar a configuração ao nó. Os valores possíveis são os seguintes:
|
HostName_s | O nome do nó gerenciado. |
EndereçoIP | 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 para o chamador. |
NodeId_g | A GUID que identifica o nó gerenciado. |
DscReportId_g | A GUID que identifica o relatório. |
LastSeenTime_t | Data e hora em que o relatório foi exibido 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 de DSC chamado na configuração aplicada ao nó. |
SourceSystem | O sistema de origem que identifica como os logs do Azure Monitor coletaram os dados. Sempre Azure para o diagnóstico do Azure. |
ResourceId | O identificador de recurso da conta de Automação do Azure. |
ResultDescription | A descrição de recurso para esta operação. |
SubscriptionId | A ID da 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.AUTOMATION. |
ResourceType | AUTOMATIONACCOUNTS. |
CorrelationId | Um identificador de correlação do relatório de conformidade. |
DscResourceStatusData
Propriedade | Descrição |
---|---|
TimeGenerated | Data e hora quando 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 para o chamador. |
NodeId_g | A GUID que identifica o nó gerenciado. |
DscReportId_g | A GUID que identifica o relatório. |
DscResourceId_s | O nome da instância do recurso de DSC. |
DscResourceName_s | O nome do recurso de DSC. |
DscResourceStatus_s | Se o recurso de DSC está em conformidade. |
DscModuleName_s | O nome do módulo do PowerShell que contém o recurso de DSC. |
DscModuleVersion_s | A versão do módulo do PowerShell que contém o recurso de DSC. |
DscConfigurationName_s | O nome da configuração aplicada ao nó. |
ErrorCode_s | O código de erro se o recurso tiver falhado. |
ErrorMessage_s | A mensagem de erro se o recurso tiver falhado. |
DscResourceDuration_d | O tempo, em segundos, em que o recurso de DSC foi executado. |
SourceSystem | Como os logs do Azure Monitor coletaram os dados. Sempre Azure para o diagnóstico do Azure. |
ResourceId | O identificador da conta de Automação do Azure. |
ResultDescription | A descrição para esta operação. |
SubscriptionId | A ID da 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.AUTOMATION. |
ResourceType | AUTOMATIONACCOUNTS. |
CorrelationId | Uma ID de correlação do relatório de conformidade. |
Próximas etapas
- Para obter uma visão geral, consulte Visão geral da State Configuration da Automação do Azure.
- Para começar, veja Introdução ao serviço State Configuration da Automação do Azure.
- Para saber como compilar configurações DSC para que possam ser atribuídas a nós de destino, confira Compilar configurações DSC no State Configuration da Automação do Azure.
- Para obter uma referência de cmdlet do PowerShell, confira Az.Automation.
- Para obter informações sobre preços, veja Preços do serviço State Configuration da Automação do Azure.
- Para ver um exemplo de uso do State Configuration da Automação do Azure em um pipeline de implantação contínua, confira Configurar implantação contínua com Chocolatey.
- Para saber mais sobre como construir consultas de pesquisa diferentes e examinar os logs de State Configuration da Automação do Azure com os logs do Azure Monitor, confira Pesquisas de logs em logs do Azure Monitor.
- Para saber mais sobre os logs do Azure Monitor e as fontes de coleta de dados, confira a Visão geral sobre a coleta de dados do armazenamento do Azure nos logs do Azure Monitor.