Project Flash: uso de Azure Resource Graph para supervisar la disponibilidad de máquinas virtuales de Azure

Azure Resource Graph es una solución que ofrece Flash. Flash es el nombre interno de un proyecto dedicado a crear un mecanismo sólido, confiable y rápido para que los clientes supervisen el estado de las máquinas virtuales (VM).

En este artículo se describe el uso de Azure Resource Graph para supervisar la disponibilidad de máquinas virtuales de Azure. Para obtener información general sobre las soluciones Flash, consulte la Información general de Flash.

Para obtener documentación específica de las demás soluciones que ofrece Flash, elija entre los siguientes artículos:

Azure Resource Graph: HealthResources

Esta característica está disponible con carácter general. Resulta útil para realizar investigaciones a gran escala. Ofrece una experiencia muy fácil de usar para recuperación de información con su uso de lenguaje de consulta kusto (KQL). También puede servir como punto central para la información sobre recursos y permite recuperar fácilmente los datos históricos.

Además de los estados de disponibilidad de máquinas virtuales ya existentes, publicamos anotaciones de disponibilidad de máquinas virtuales en Azure Resource Graph (ARG) para la atribución detallada de fallos y el análisis del tiempo de inactividad, además de habilitar un mecanismo de seguimiento de cambios de 14 días para hacer un seguimiento de los cambios históricos en la disponibilidad de las máquinas virtuales para una depuración rápida. Con estas nuevas adiciones, nos complace anunciar la disponibilidad general de la información de disponibilidad de máquinas virtuales en el conjunto de datos de HealthResources en ARG. Con esta oferta, los usuarios pueden:

  • Consultar de forma eficiente la última instantánea de la disponibilidad de las máquinas virtuales en todas las suscripciones de Azure a la vez y con bajas latencias para la supervisión periódica y de toda la flota.
  • Evaluar con precisión el impacto en los SLA empresariales de toda la flota y desencadenar rápidamente acciones de mitigación decisivas, en respuesta a las interrupciones y al tipo de firma del fallo.
  • Establecer paneles personalizados para supervisar el mantenimiento integral de las aplicaciones mediante la unión de la información de disponibilidad de la máquina virtual con los metadatos de recursos presentes en ARG.
  • Realizar un seguimiento de los cambios pertinentes en la disponibilidad de las máquinas virtuales en un período móvil de 14 días mediante el mecanismo de seguimiento de cambios para realizar investigaciones detalladas.

Consultas de ejemplo

Introducción

Los usuarios pueden consultar ARG a través de PowerShell, API de REST, la CLI de Azure o incluso Azure Portal. En los pasos siguientes se detalla cómo se puede acceder a los datos desde Azure Portal.

  1. Una vez en Azure Portal, vaya al Explorador de Resource Graph.

    Screenshot of the Azure Resource Graph Explorer landing page on the Azure portal.

  2. Seleccione la pestaña Tabla y haga clic (único) en la tabla HealthResources para recuperar la instantánea más reciente de la información de disponibilidad de la máquina virtual (estado de disponibilidad y anotaciones de mantenimiento).

    Screenshot of an Azure Resource Graph Explorer Window depicting the latest VM availability states and VM availability annotations in the Health Resources table.

Hay dos tipos de eventos rellenados en la tabla HealthResources:

Snapshot of the type of events in the Health Resources table, as shown in Resource Graph Explorer on the Azure portal.

  • resourcehealth/availabilitystatuses

Este evento indica el estado de disponibilidad más reciente de una máquina virtual, en función de las comprobaciones de estado realizadas por la plataforma de Azure subyacente. Los estados de disponibilidad que se emiten actualmente para las máquinas virtuales son:

  • Disponible: la máquina virtual está en funcionamiento según lo previsto.
  • No disponible: hemos detectado interrupciones en el funcionamiento normal de la máquina virtual y, por lo tanto, las aplicaciones no se ejecutarán según lo previsto.
  • Desconocido: la plataforma no puede detectar con precisión el estado de la máquina virtual. Normalmente, los usuarios pueden volver a comprobar en unos minutos un estado actualizado.

Para consultar el último estado de disponibilidad de la máquina virtual, consulte el campo de propiedades, que contiene los siguientes detalles:

Ejemplo

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

Descripción de la propiedad

Propiedad Descripción Categoría de mantenimiento de los recursos correspondientes (RHC)
targetResourceType Tipo de recurso para el que fluyen los datos de estado resourceType
targetResourceId Id. de recurso resourceId
occurredTime Marca de tiempo en la que la plataforma emite el último estado de disponibilidad eventTimestamp
previousAvailabilityState Estado de disponibilidad anterior de la máquina virtual previousHealthStatus
availabilityState Estado de disponibilidad actual de la máquina virtual currentHealthStatus

Consulte la sección HealthResources de la documentación de las muestras de consultas para ver una lista de consultas de inicio para explorar más a fondo estos datos.

  • resourcehealth/resourceannotations (RECIÉN AGREGADO)

Este evento contextualiza los cambios en la disponibilidad de las máquinas virtuales, detallando los atributos de error necesarios para ayudar a los usuarios a investigar y mitigar la interrupción según sea necesario. Consulte la lista completa de anotaciones de disponibilidad de máquinas virtuales emitidas por la plataforma. Estas anotaciones se pueden clasificar ampliamente en tres cubos:

  • Anotaciones de tiempo de inactividad: estas anotaciones se emiten cuando la plataforma detecta la transición de disponibilidad de la máquina virtual a No disponible. (Por ejemplo, durante bloqueos inesperados del host, operaciones de reparación reiniciadas).
  • Anotaciones informativas: estas anotaciones se emiten durante las actividades del plano de control sin que ello afecte a la disponibilidad de la máquina virtual. (Como la asignación, parada, borrado o inicio de la máquina virtual). Normalmente, no se requiere ninguna acción adicional del cliente en respuesta.
  • Anotaciones degradadas: estas anotaciones se emiten cuando se detecta que la disponibilidad de la máquina virtual está en riesgo. (Por ejemplo, cuando los modelos de predicción de fallos predicen un componente de hardware degradado que puede hacer que la máquina virtual se reinicie en un momento dado). Instamos encarecidamente a los usuarios a que realicen la redistribución en el plazo especificado en el mensaje de anotación, para evitar cualquier pérdida imprevista de datos o tiempo de inactividad. Puede recibir una alerta en Resource Health o el registro de actividad de los conjuntos de escalado de máquinas virtuales de Azure en uno de los escenarios siguientes:

Para sondear las anotaciones de disponibilidad de la máquina virtual asociadas a un recurso, si las hay, consulte el campo de propiedades, que contiene los siguientes detalles:

Ejemplo

{
 "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"
 }

Descripción de la propiedad

Propiedad Descripción RHC correspondiente
targetResourceType Tipo de recurso para el que fluyen los datos de estado resourceType
targetResourceId Id. de recurso resourceId
occurredTime Marca de tiempo cuando la plataforma emite el estado de disponibilidad más reciente eventTimestamp
annotationName Nombre de la Anotación emitida eventName
reason Información general breve del impacto de disponibilidad observado por el cliente title
category Indica si la actividad de la plataforma que desencadenó la anotación era de mantenimiento planeado o reparación no planeada. Este campo no es aplicable a los eventos iniciados por el cliente o la máquina virtual. Valores posibles: Planeado, No planeado, No aplicable, Null category
context Indica si la actividad que desencadenó la anotación se debió a un usuario o proceso autorizado (iniciada por el cliente), a la plataforma Azure (iniciada por la plataforma) o a una actividad en el sistema operativo invitado que provocó un impacto en la disponibilidad (iniciada por la máquina virtual). Valores posibles: Iniciado por la plataforma, Iniciado por el usuario, Iniciado por la máquina virtual, No aplicable, Null context
summary Instrucción en la que se detalla la causa de la emisión de la anotación, junto con las medidas correctoras que pueden adoptar los usuarios summary

Consulte la sección HealthResources de la documentación de las muestras de consultas para ver una lista de consultas de inicio para explorar más a fondo estos datos.

Tenemos varias mejoras planeadas para los metadatos de anotación que se muestran en el conjunto de datos HealthResources. Estos enriquecimientos proporcionan a los usuarios acceso a atributos de error más enriquecidos para preparar decisivamente una respuesta a una interrupción. Paralelamente, pretendemos ampliar la duración de la retrospectiva histórica a un mínimo de 30 días para que los usuarios puedan realizar un seguimiento exhaustivo de los cambios pasados en la disponibilidad de las máquinas virtuales.

Pasos siguientes

Para más información sobre las soluciones ofrecidas, continúe con el artículo de solución correspondiente:

Para obtener información general sobre cómo supervisar Azure Virtual Machines, consulte Supervisión de máquinas virtuales de Azure y la Referencia de supervisión de máquinas virtuales de Azure.