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 à criaçã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, consulte a visão geral do Flash.

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

Azure Resource Graph - HealthResources

Este recurso está atualmente disponível para o público em geral. É ú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 da linguagem de consulta kusto (KQL). Ele também pode servir como um centro central para informações de recursos e permite a fácil recuperação de dados históricos.

Além dos estados de disponibilidade de VM já fluídos, publicamos anotações de disponibilidade de VM no Azure Resource Graph (ARG) para atribuição detalhada de falhas e análise de tempo de inatividade, além de habilitar um mecanismo de controle de alterações de 14 dias para rastrear alterações históricas na disponibilidade de VM para depuração rápida. Com essas novas adições, temos o prazer de anunciar a disponibilidade geral das informações de disponibilidade de VM no conjunto de dados HealthResources no ARG! Com esta oferta, os utilizadores 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 em toda a frota.
  • Avalie com precisão o impacto nos SLAs de negócios de toda a frota e acione rapidamente ações decisivas de mitigação, em resposta a interrupções e tipo de assinatura de falha.
  • Configure painéis personalizados para supervisionar a integridade abrangente dos aplicativos unindo informações de disponibilidade de VM com metadados de recursos presentes no ARG.
  • Rastreie alterações relevantes na disponibilidade da VM em uma janela contínua de 14 dias, usando o mecanismo de controle de alterações para conduzir investigações detalhadas.

Consultas de amostra

Começar agora

Os usuários podem consultar o ARG por meio do PowerShell, da API REST, da CLI do Azure ou até mesmo do 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 de Gráficos de Recursos.

    Captura de ecrã da página inicial do Azure Resource Graph Explorer no portal do Azure.

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

    Captura de ecrã de uma janela do Azure Resource Graph Explorer que descreve os estados de disponibilidade e as anotações de disponibilidade de VM mais recentes 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 Gerenciador de Gráficos de Recursos no portal do Azure.

  • ResourceHealth/AvailabilityStatus

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 VMs são:

  • Disponível: A VM está ativada e funcionando conforme o esperado.
  • Indisponível: detetamos 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 detetar com precisão a integridade da VM. Os usuários geralmente podem verificar novamente em alguns minutos para um estado atualizado.

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

Exemplo

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

Descrição do imóvel

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

Consulte a seção HealthResources da documentação de consultas de exemplo para obter uma lista de consultas iniciais para explorar melhor esses dados.

  • resourcehealth/resourceannotations (RECÉM-ADICIONADO)

Esse evento contextualiza quaisquer alterações na disponibilidade da VM, detalhando os atributos de falha necessários para ajudar os usuários a investigar e mitigar a interrupção, conforme necessário. Veja a lista completa de anotações de disponibilidade de VM emitidas pela plataforma. Essas anotações podem ser amplamente classificadas em três grupos:

  • Anotações de tempo de inatividade: essas anotações são emitidas quando a plataforma deteta a disponibilidade da VM em transição 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 plano de controle sem impacto na disponibilidade da VM. (Como alocação de VM/Parar/Excluir/Iniciar). Normalmente, nenhuma ação adicional do cliente é necessária em resposta.
  • Anotações degradadas: essas anotações são emitidas quando a disponibilidade da VM é detetada como estando em risco. (Por exemplo, quando os modelos de previsão de falhas preveem um componente de hardware degradado que pode fazer com que a VM seja reinicializada a qualquer momento). Recomendamos vivamente aos utilizadores que reimplantem dentro do prazo especificado na mensagem de anotação, para evitar qualquer perda imprevista de dados ou tempo de inatividade. Você pode receber um alerta nos conjuntos de escala de máquina virtual do Azure Integridade do recurso ou log de atividades em um dos seguintes cenários:
    • As VMs nos conjuntos de escala de máquina virtual do Azure estão em processo de parada, deslocalizada, excluída ou iniciada.
    • Você executou operações de dimensionamento para dentro ou para fora nos conjuntos de dimensionamento da máquina virtual.
    • O alerta indica que a integridade da plataforma agregada dos conjuntos de escala de máquina virtual está em um estado transitório de "Degradado".

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

Exemplo

{
 "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 do imóvel

Propriedade Descrição RHC correspondente
targetResourceType Tipo de recurso para o qual os dados de integridade estão fluindo resourceType
targetResourceId ID do Recurso resourceId
OcorreuTime 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 manutenção planejada ou reparo não planejado. Este campo não é aplicável a eventos iniciados por 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 se deveu a um usuário ou processo autorizado (iniciado pelo cliente), à plataforma do Azure (iniciada pela plataforma) ou à atividade no SO convidado que resultou em impacto na disponibilidade (VM iniciada). Valores possíveis: Iniciado pela plataforma, Iniciado pelo usuário, Iniciado pela VM, Não aplicável, Nulo Contexto
Resumo Declaração detalhando a causa da emissão de anotações, juntamente com as etapas de correção que os usuários podem tomar Resumo

Consulte a seção HealthResources da documentação de consultas de exemplo para obter uma lista de consultas iniciais para explorar melhor esses dados.

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

Próximos passos

Para saber mais sobre as soluções oferecidas, prossiga para o artigo da solução correspondente:

Para obter uma visão geral de como monitorar máquinas virtuais do Azure, consulte Monitorar máquinas virtuais do Azure e a referência Monitorando máquinas virtuais do Azure.