Cada instancia de máquina virtual (VM) o Bare Metal usa una política de mantenimiento del host para determinar el comportamiento de la instancia durante una operación de mantenimiento. Algunas instancias ofrecen la opción adicional de ver el programa de mantenimiento con anticipación.
En esta página, se explica cómo supervisar y planificar un evento de mantenimiento del host en las instancias de Compute Engine.
Antes de comenzar
-
Si aún no lo hiciste, configura la autenticación.
La autenticación es el proceso mediante el cual se verifica tu identidad para acceder a los servicios y las API de Google Cloud.
Para ejecutar código o muestras desde un entorno de desarrollo local, puedes autenticarte en Compute Engine seleccionando una de las siguientes opciones:
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
-
Administrador de instancias de Compute (v1) (
roles/compute.instanceAdmin.v1
) -
Para obtener acceso de solo lectura a los registros de auditoría de eventos del sistema, usa el Visualizador de registros (
roles/logging.viewer
). -
Para obtener información sobre una instancia, incluidos los metadatos, haz lo siguiente:
compute.instances.get
Familias de máquinas con optimización de acelerador:
Familias de máquinas de uso general:
Familias de máquinas con optimización de memoria:
Familias de máquinas optimizadas para el almacenamiento:
- Menos eventos de mantenimiento: En general, las instancias con intervalos de mantenimiento recurrentes deberían ver menos eventos de mantenimiento.
- Notificación de mantenimiento más largo: Recibe notificaciones de los eventos de mantenimiento con mucha anticipación para planificarlos.
- Supervisión y planificación: Usa Cloud Logging para realizar un seguimiento del programa de mantenimiento. Usa incidentes y alertas para mantenerte al tanto.
- Control de mantenimiento a pedido: Inicia el mantenimiento durante el período de notificación para actualizar las instancias cuando se ajusten a tu programa.
- canReschedule: Indica si el mantenimiento se puede iniciar de forma manual durante el período de notificación de esta instancia.
TRUE
: El mantenimiento activado por el cliente se puede realizar durante el período de notificación.FALSE
: No se puede realizar el mantenimiento activado por el cliente en esta instancia. Esto suele ocurrir durante el período en el que la instancia está en mantenimiento o si el tipo de instancia no admite el mantenimiento a pedido.
- latestWindowStartTime: Es la hora más reciente a la que se puede mover el período de mantenimiento.
- maintenanceStatus: Es el estado actual del evento de mantenimiento.
ONGOING
: La operación de mantenimiento está en curso.PENDING
: La operación de mantenimiento está programada, pero aún no se inició.
- type: Es el tipo de mantenimiento que se realizará.
NONE
: No hay mantenimiento programado para esta instancia.SCHEDULED
: En el caso de los mantenimientos disruptivos, Compute Engine proporciona un mínimo de 7 días de aviso para la mayoría de las instancias. Las instancias X4 reciben un aviso anticipado de aproximadamente 60 días.UNSCHEDULED
: Debido a que el mantenimiento representa actualizaciones críticas, Compute Engine intenta proporcionar el mayor aviso posible, pero suele ser mucho menor que el de los eventos de mantenimiento programados.
- windowEndTime: Es el final del período en el que se realiza el mantenimiento.
- windowStartTime: Es el inicio del período en el que se realiza el mantenimiento.
canReschedule=True
ymaintenanceStatus=Pending
: Puedes iniciar manualmente el evento de mantenimiento de la instancia antes de la hora de inicio programada.canReschedule=False
ymaintenanceStatus=Ongoing
: El mantenimiento está en curso y no se puede reprogramar.canReschedule=False
ymaintenanceStatus=Pending
: Tu instancia no admite eventos de mantenimiento activados de forma manual.INSTANCE_NAME
: Es el nombre de la instancia de procesamiento.ZONE_NAME
: Es la zona en la que reside la instancia.- El mantenimiento está programado para la fecha y hora que se muestran en
windowStartTime
. canReschedule
se establece enTrue
ymaintenanceStatus
se establece enPENDING
. Esta configuración indica que puedes iniciar manualmente el evento de mantenimiento programado antes de la fecha que se muestra enlatestWindowStartTime
.PROJECT_NAME
: Es el nombre del proyecto que contiene la instancia de procesamiento.ZONE
: La zona en la que se encuentra la instancia.INSTANCE_NAME
: El nombre de la instancia- El mantenimiento está programado para la fecha y hora que se muestran en
windowStartTime
. canReschedule
se establece enTrue
ymaintenanceStatus
se establece enPENDING
. Esta configuración indica que puedes iniciar manualmente el evento de mantenimiento programado antes de la fecha que se muestra enlatestWindowStartTime
.Ve a la página Instancias de VM.
Haz clic en el Nombre de la instancia para la que deseas ver las notificaciones de mantenimiento.
Se abre la página de detalles de la instancia.
En la sección Registros, haz clic en el vínculo etiquetado como Registro.
Se abrirá la página Editor de consultas del Explorador de registros. En el panel Query,
resource.type
y el ID de instancia ya se propagaron para tu instancia.En el panel Consulta, agrega la siguiente línea a la consulta:
operation.producer="compute.instances.upcomingMaintenance" OR "compute.instances.terminateOnHostMaintenance" OR "compute.instances.migrateOnHostMaintenance"
Haz clic en Ejecutar consulta. Los eventos de notificación de mantenimiento que coincidan aparecerán en el panel de resultados de la consulta.
En el panel de resultados de la búsqueda, puedes hacer clic en Editar hora para expandir el período de búsqueda o para limitar los resultados a fechas o horas específicas.
Haz clic en una entrada de registro para ver los detalles de la notificación de mantenimiento.
- Para ver las próximas notificaciones de mantenimiento, expande el encabezado
metadata
para ver información como el estado actual, el tipo y las horas de inicio y finalización del período de mantenimiento programado. - Expande el encabezado
status
para ver el mensaje descriptivo de la notificación.
- Para ver las próximas notificaciones de mantenimiento, expande el encabezado
methodName
:"compute.instances.upcomingMaintenance"
metadata
:maintenanceStatus
:"PENDING"
windowStartTime
:"2024-07-23T20:00:00Z"
methodName
:"compute.instances.upcomingMaintenance"
metadata
:maintenanceStatus
:"ONGOING"
windowStartTime
:"2024-07-23T20:00:00Z"
- En las instancias configuradas para usar la migración en vivo durante los eventos de mantenimiento, se genera un evento del sistema con
methodName: "compute.instances.migrateOnHostMaintenance"
. - Para las instancias configuradas para finalizar durante los eventos de mantenimiento, un evento del sistema con
methodName: "compute.instances.terminateOnHostMaintenance"
. methodName
:"compute.instances.upcomingMaintenance"
status: {
message: "Maintenance window has completed for this instance. All
maintenance notifications on the instance have been removed."
}
Ve a la página Instancias de VM.
Haz clic en el Nombre de la instancia para la que deseas crear una alerta de evento de mantenimiento.
Se abre la página de detalles de la instancia.
En la sección Registros, haz clic en el vínculo etiquetado como Registro.
Se abrirá la página Editor de consultas del Explorador de registros. En el panel Query,
resource.type
y el ID de instancia ya se propagaron para tu instancia.En el panel Consulta, agrega la siguiente línea a la consulta:
operation.producer="compute.instances.upcomingMaintenance"
Haz clic en Ejecutar consulta. Los eventos de notificación de mantenimiento que coincidan aparecerán en el panel de resultados de la consulta.
En el panel de resultados de la consulta, haz clic en Editar hora.
- En el lado izquierdo de la ventana de edición, en el campo Tiempo relativo, ingresa
1d
para ver las entradas de registro de la semana anterior. - Haz clic en Aplicar.
- En el lado izquierdo de la ventana de edición, en el campo Tiempo relativo, ingresa
En el encabezado del panel Resultados de la consulta, haz clic en add_alert Crear alerta. Si la ventana de visualización es estrecha, la opción Crear alerta podría aparecer en el menú Acciones.
En el panel Crear política de alertas basada en registros, en la sección Detalles de la alerta, haz lo siguiente:
- Ingresa un nombre para la política de alertas, por ejemplo,
Upcoming maintenance for my-c3d-vm@us-central1-b
. En el menú Nivel de gravedad de la política, selecciona Sin gravedad.
En el campo Documentación, puedes ingresar una descripción para tu política de alertas. También puedes incluir información que pueda ayudar al destinatario de una notificación a diagnosticar el problema. La siguiente cadena resume el motivo de la notificación:
Log-based alerting policy in project ${project} to monitor upcoming maintenance notifications. See also "Host maintenance alerts" and "onHostMaintenance actions" alerting policies.
Para obtener información sobre cómo puedes dar formato y adaptar el contenido de este campo, consulta Cómo usar Markdown y variables en plantillas de documentación.
Para avanzar al paso siguiente, haz clic en Siguiente.
- Ingresa un nombre para la política de alertas, por ejemplo,
En la sección Elige registros para incluir en la alerta, haz clic en Obtener vista previa de los registros para verificar la consulta y los resultados.
La consulta que creaste en el panel Consulta también se muestra en este panel. Recomendamos compilar la consulta en el panel Consulta del Explorador de registros.
Si es necesario, puedes editar la consulta en este panel. Si editas la consulta, haz clic en Obtener vista previa de los registros para verificar los resultados.
Haz clic en Siguiente.
En el panel Establece la frecuencia de notificación y la duración del cierre automático, haz lo siguiente:
Selecciona el tiempo mínimo entre notificaciones. Este valor te permite controlar la cantidad de notificaciones que recibes de la supervisión si se cumple esta condición varias veces. En este ejemplo, selecciona 1 día entre las opciones.
Para la Duración del cierre automático de incidentes, usa el valor máximo de 7 días.
Haz clic en Siguiente.
Si ya tienes configurado un canal de notificaciones por correo electrónico, puedes seleccionarlo de la lista. Si no es así, haz clic en Administrar canales de notificaciones y agrega un canal de correo electrónico. Para obtener información sobre cómo crear canales de notificaciones, consulta Cómo crear y administrar canales de notificaciones.
Haz clic en Guardar.
Tu política de alertas basada en registros ya está lista para probarse como se describe en Cómo probar la política de alertas basada en registros de ejemplo.
- Obtén más información para configurar una política de mantenimiento de host.
- Obtén información para obtener avisos de migración en vivo.
- Obtén información para activar un evento de mantenimiento del host de forma manual.
- Aprende a administrar políticas de alertas basadas en registros con la consola de Google Cloud para Monitoring o con la API de Monitoring.
REST
Para usar las muestras de la API de REST en esta página en un entorno de desarrollo local, debes usar las credenciales que proporcionas a la CLI de gcloud.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
Si deseas obtener más información, consulta Autentica para usar REST en la documentación de autenticación de Google Cloud.
Roles obligatorios
Para obtener los permisos que necesitas para crear instancias y administrar su mantenimiento, pídele a tu administrador que te otorgue los siguientes roles de IAM en el proyecto:
Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.
Estos roles predefinidos contienen los permisos necesarios para crear instancias y administrar su mantenimiento. Para ver los permisos exactos que son necesarios, expande la sección Permisos requeridos:
Permisos necesarios
Se requieren los siguientes permisos para crear instancias y administrar su mantenimiento:
También puedes obtener estos permisos con roles personalizados o con otros roles predefinidos.
Limitaciones
Puedes ver las notificaciones del próximo evento de mantenimiento de una instancia solo si esta usa un tipo de máquina de una de las siguientes familias de máquinas:
Descripción general de las notificaciones de mantenimiento
Google envía notificaciones sobre el próximo mantenimiento del host a través de varios métodos. Cuando se abre el período de mantenimiento, Google Cloud realiza el mantenimiento de tu instancia automáticamente. Si supervisas los próximos períodos de mantenimiento de tu instancia, puedes preparar de forma proactiva tus cargas de trabajo para que manejen el próximo mantenimiento con interrupciones mínimas.
Las instancias de procesamiento que admiten notificaciones de eventos de mantenimiento tienen las siguientes características:
La información sobre un próximo evento de notificación se presenta de una manera similar a la siguiente:
upcomingMaintenance:{ "canReschedule":True "latestWindowStartTime": "2024-12-01T19:00:01Z" "maintenanceStatus":"PENDING" "type":"SCHEDULED" "windowEndTime": "2024-12-01T22:00:00Z" "windowStartTime": "2024-12-01T19:00:00Z" }
Si no hay ningún evento de mantenimiento próximo, verás un mensaje similar al siguiente:
{ "error": "no notifications have been received yet, try again later" }
Definiciones del estado de mantenimiento
En las siguientes definiciones de estado, se explican las respuestas a las consultas sobre el mantenimiento del host de una instancia. Proporcionan información relacionada con el evento de mantenimiento. Google Cloud CLI, REST y el servidor de metadatos usan estas mismas respuestas:
Comportamientos del estado de mantenimiento
Cuando administres eventos de mantenimiento, verifica los valores de
canReschedule
ymaintenanceStatus
. Cuando se combinan, estos campos indican qué acciones puedes realizar y cuáles no con respecto a la reprogramación de un evento de mantenimiento:Cómo ver las notificaciones de mantenimiento
Puedes encontrar notificaciones de mantenimiento si consultas tus instancias de procesamiento, el servidor de metadatos o Cloud Logging.
Verifica las instancias para ver si hay una notificación de evento de mantenimiento
Usa Google Cloud CLI, REST o consulta el servidor de metadatos para ver si hay un próximo evento de mantenimiento del host para tu instancia.
gcloud
Para ver el próximo período de mantenimiento de una instancia, usa el comando
gcloud compute instances describe
.gcloud compute instances describe INSTANCE_NAME \ --zone=ZONE_NAME --format="yaml(upcomingMaintenance)"
Reemplaza lo siguiente:
Si hay un evento de mantenimiento próximo, la respuesta contiene una sección similar a la siguiente:
upcomingMaintenance:{ "canReschedule":True "latestWindowStartTime": "2024-12-01T19:00:01Z" "maintenanceStatus":"PENDING" "type":"SCHEDULED" "windowEndTime": "2024-12-01T22:00:00Z" "windowStartTime": "2024-12-01T19:00:00Z" }
En esta respuesta, se incluye lo siguiente:
REST
Para ver si hay un mantenimiento próximo para una instancia, crea una solicitud
GET
con el métodoinstances.get
:GET https://compute.googleapis.com/compute/v1/projects/PROJECT_NAME/zones/ZONE/instances/INSTANCE_NAME
Reemplaza lo siguiente:
Si hay un evento de mantenimiento próximo, la respuesta contiene una sección similar a la siguiente:
upcomingMaintenance:{ "canReschedule":True "latestWindowStartTime": "2023-12-01T19:00:01Z" "maintenanceStatus":"PENDING" "type":"SCHEDULED" "windowEndTime": "2023-12-01T22:00:00Z" "windowStartTime": "2023-12-01T19:00:00Z" }
En esta respuesta, se incluye lo siguiente:
Servidor de metadatos
Desde el SO invitado, consulta el servidor de metadatos para ver el próximo evento de mantenimiento.
$ curl http://metadata.google.internal/computeMetadata/v1/instance/upcoming-maintenance?alt=json -H "Metadata-Flavor: Google"
Revisa Cloud Logging para ver si hay una notificación de evento de mantenimiento
Compute Engine crea eventos del sistema en los registros de auditoría de Cloud para una instancia de eventos de mantenimiento. Puedes ver estos eventos antes, durante y después de un evento de mantenimiento con Cloud Logging y el Explorador de registros.
Console
Para consultar los registros de auditoría en busca de notificaciones de mantenimiento de una instancia, completa los siguientes pasos:
Ejemplos de notificaciones de mantenimiento
En el Explorador de registros, aparece una notificación de evento de mantenimiento para una instancia con valores similares a los siguientes:
Cuando comienza el evento de mantenimiento, aparece un nuevo evento informativo en los registros con valores similares a los siguientes:
Durante el evento de mantenimiento, según la configuración de la política de mantenimiento del host para la instancia, se registra uno de los siguientes eventos del sistema en los registros de auditoría:
Cuando finaliza el evento de mantenimiento, aparece un nuevo evento informativo en los registros de auditoría con valores similares a los siguientes:
Configura alertas para las notificaciones de mantenimiento del host
Puedes configurar una política de alertas basada en registros para buscar eventos de notificación de mantenimiento específicos y enviar alertas con un canal de notificación.
Console
Para crear una alerta para un evento de mantenimiento de tu instancia, completa los siguientes pasos:
Para obtener más información, lee Configura alertas basadas en registros y Crea y administra canales de notificaciones.
¿Qué sigue?
Salvo que se indique lo contrario, el contenido de esta página está sujeto a la licencia Atribución 4.0 de Creative Commons, y los ejemplos de código están sujetos a la licencia Apache 2.0. Para obtener más información, consulta las políticas del sitio de Google Developers. Java es una marca registrada de Oracle o sus afiliados.
Última actualización: 2024-12-22 (UTC)
-