Project Flash – Use o Azure Resource Graph para monitorar a disponibilidade da Máquina Virtual do Azure

O Azure Resource Graph é uma solução oferecida pelo Flash. Flash é o nome interno de um projeto dedicado à construção de um mecanismo robusto, confiável e rápido para os clientes monitorarem a integridade da máquina virtual (VM).

Este artigo aborda o uso do Azure Resource Graph para monitorar a disponibilidade da Máquina Virtual do Azure. Para obter uma visão geral das soluções Flash, veja o Visão geral do Flash.

Para documentação específica das demais soluções oferecidas pelo Flash, escolha um dos seguintes artigos:

Azure Resource Graph – HealthResources

No momento, esse recurso está disponível. É útil para conduzir investigações em larga escala. Ele oferece uma experiência altamente amigável para recuperação de informações com o uso de linguagem de consulta kusto (KQL). Ele também pode servir como um hub central para informações de recursos e permite a fácil recuperação de dados históricos.

Além de já fluir estados de disponibilidade de VM, publicamos as Anotações de disponibilidade da VM para Azure Resource Graph (ARG) para a atribuição de falha detalhada e análise de tempo de inatividade, juntamente com a habilitação de um mecanismo de controle de alterações de 14 dias para rastrear as alterações históricas na disponibilidade da VM para depuração rápida. Com essas novas adições, estamos entusiasmados em anunciar a disponibilidade geral das informações de disponibilidade da VM no conjunto de dados HealthResources no ARG! Com essa oferta, os usuários podem:

  • Consulte com eficiência o instantâneo mais recente da disponibilidade da VM em todas as assinaturas do Azure de uma só vez e com baixas latências para monitoramento periódico e de toda a frota.
  • Avalie com precisão o impacto nos SLAs comerciais de toda a frota e acione rapidamente ações decisivas de atenuação, em resposta às interrupções e ao tipo de assinatura de falha.
  • Configure painéis personalizados para supervisionar a integridade abrangente dos aplicativos ingressando nas informações de disponibilidade da VM com metadados de recursos presentes no ARG.
  • Acompanhe as alterações relevantes na disponibilidade da VM em uma janela sem interrupção de 14 dias usando o mecanismo de controle de alterações para conduzir investigações detalhadas.

Consultas de exemplo

Introdução

Os usuários podem consultar o ARG pelo PowerShell, API REST, CLI do Azure, ou até mesmo pelo portal do Azure. As etapas a seguir detalham como os dados podem ser acessados no portal do Azure.

  1. Uma vez no portal do Azure, navegue até o Gerenciador do Resource Graph.

    Captura de tela da página de destino do Azure Resource Graph Explorer no portal do Microsoft Azure.

  2. Selecione a guia Tabela e (único) clique na tabela HealthResources para recuperar o instantâneo mais recente das informações de disponibilidade da VM (anotações de estado de disponibilidade e integridade).

    Captura de tela de uma janela do Azure Resource Graph Explorer mostrando os estados mais recentes de disponibilidade da VM e as anotações de disponibilidade da VM na tabela Recursos de Integridade.

Há dois tipos de eventos preenchidos na tabela HealthResources:

Instantâneo do tipo de eventos na tabela Recursos de Integridade, conforme mostrado no Resource Graph Explorer no portal do Microsoft Azure.

  • resourcehealth/availabilitystatuses

Esse evento indica o status de disponibilidade mais recente de uma VM, com base nas verificações de integridade executadas pela plataforma subjacente do Azure. Os estados de disponibilidade que emitimos atualmente para as VMs são:

  • Disponível: a VM está em funcionamento conforme o esperado.
  • Indisponível: detectamos interrupções no funcionamento normal da VM e, portanto, os aplicativos não serão executados conforme o esperado.
  • Desconhecido: a plataforma não consegue detectar com precisão a integridade da VM. Geralmente, os usuários podem fazer check-back em alguns minutos para obter um estado atualizado.

Para sondar o estado de disponibilidade da VM mais recente, consulte o campo propriedades, que contém os seguintes detalhes:

Amostra

{
 "targetResourceType": "Microsoft.Compute/virtualMachines",
 "previousAvailabilityState": "Available",
 "targetResourceId": "/subscriptions//resourceGroups//providers/Microsoft.Compute/virtualMachines/",
 "occurredTime": "2022-10-11T11:13:59.9570000Z",
 "availabilityState": "Unavailable"
 }

Descrição de propriedade

Propriedade Descrição Categoria de integridade de recurso correspondente (RHC)
targetResourceType Tipo de recurso para o qual os dados de integridade estão fluindo resourceType
targetResourceId ID de Recurso resourceId
occurredTime Carimbo de data/hora quando a plataforma emite o estado de disponibilidade mais recente eventTimestamp
previousAvailabilityState Estado anterior de disponibilidade da VM previousHealthStatus
availabilityState Estado atual de disponibilidade da VM currentHealthStatus

Consulte a Seção HealthResources da documentação de consultas de exemplos para obter uma lista das consultas iniciais para explorar ainda mais esses dados.

  • resourcehealth/resourceannotations (RECÉM-ADICIONADO)

Esse evento contextualiza todas as alterações na disponibilidade da VM detalhando os atributos de falha necessários para ajudar os usuários a investigarem e atenuarem a interrupção conforme for necessário. Consulte a lista completa de anotações de disponibilidade da VM emitidas pela plataforma. Essas anotações podem ser amplamente classificadas em três buckets:

  • Anotações de tempo de inatividade: essas anotações são emitidas quando a plataforma detecta a transição de disponibilidade da VM para Indisponível. (Por exemplo, durante falhas inesperadas do host, operações de reparo de reinicialização).
  • Anotações informativas: essas anotações são emitidas durante as atividades do painel de controle sem impacto na disponibilidade da VM. (Como alocação da VM/Parar/Excluir/Iniciar). Normalmente, não são necessárias outras ações do cliente em resposta.
  • Anotações degradadas: essas anotações são emitidas quando a disponibilidade da VM é detectada como em risco. (Por exemplo, quando os modelos de previsão de falha preveem um componente de hardware degradado que pode fazer com que a VM seja reinicializada a qualquer momento). Pedimos fortemente que os usuários reimplantem pelo prazo especificado na mensagem de anotação, para evitar qualquer perda inesperada de dados ou tempo de inatividade. Você pode receber um alerta nos conjuntos de dimensionamento de máquinas virtuais do Azure Resource Health ou log de atividades em um dos seguintes cenários:

Para sondar as anotações de disponibilidade de VM associadas em um recurso, se houver, consulte o campo propriedades, que contém os seguintes detalhes:

Amostra

{
 "targetResourceType": "Microsoft.Compute/virtualMachines", "targetResourceId": "/subscriptions//resourceGroups//providers/Microsoft.Compute/virtualMachines/",
 "annotationName": "VirtualMachineHostRebootedForRepair",
 "occurredTime": "2022-09-25T20:21:37.5280000Z",
 "category": "Unplanned",
 "summary": "We're sorry, your virtual machine isn't available because an unexpected failure on the host server. Azure has begun the auto-recovery process and is currently rebooting the host server. No further action is required from you at this time. The virtual machine will be back online after the reboot completes.",
 "context": "Platform Initiated",
 "reason": "Unexpected host failure"
 }

Descrição de propriedade

Propriedade Descrição RHC correspondente
targetResourceType Tipo de recurso para o qual os dados de integridade estão fluindo resourceType
targetResourceId ID de Recurso resourceId
occurredTime Carimbo de data/hora quando o estado de disponibilidade mais recente é emitido pela plataforma eventTimestamp
annotationName Nome da anotação emitida eventName
reason Breve visão geral do impacto na disponibilidade observado pelo cliente title
category Indica se a atividade da plataforma que acionou a anotação foi uma manutenção planejada ou um reparo não planejado. Esse campo não é aplicável aos eventos iniciados pelo cliente/VM. Valores possíveis: Planejado, Não Planejado, Não Aplicável, Nulo category
contexto Indica se a atividade que disparou a anotação deveu-se a um usuário ou processo autorizado (iniciado pelo cliente), plataforma do Azure (iniciada pela plataforma) ou atividade no sistema operacional convidado que resultou no impacto na disponibilidade (iniciado pela VM). Valores possíveis: iniciado pela plataforma, iniciado pelo usuário, iniciado por VM, Não Aplicável, Nulo contexto
summary Instrução detalhando a causa da emissão de anotação, juntamente com as etapas de correção que os usuários podem executar summary

Consulte a Seção HealthResources da documentação de consultas de exemplos para obter uma lista das consultas iniciais para explorar ainda mais esses dados.

Temos vários aprimoramentos planejados para os metadados de anotação que são exibidos no conjunto de dados HealthResources. Esses enriquecimentos dão aos usuários acesso aos atributos de falha mais avançados para preparar decisivamente uma resposta a uma interrupção. Em paralelo, pretendemos estender a duração da pesquisa histórica para um mínimo de 30 dias para que os usuários possam acompanhar de forma abrangente as alterações passadas na disponibilidade da VM.

Próximas etapas

Para saber mais sobre as soluções oferecidas, consulte o artigo de solução correspondente:

Para obter uma visão geral de como monitorar Máquinas Virtuais do Azure, veja Monitorar máquinas virtuais do Azure e Referência de monitoramento de máquinas virtuais do Azure.