Cómo crear y administrar alertas pospuestas

En este documento, se describe cómo crear y administrar tus alertas pospuestas. Si pospones la alerta, no se podrán crear incidentes y emitir notificaciones en Cloud Monitoring durante un período específico. Cada alerta pospuesta especifica los recursos a los que se aplica.

Para obtener una descripción general conceptual, consulta Cómo posponer notificaciones y alertas.

Para crear y administrar tus alertas pospuestas, usa la consola de Google Cloud o la API de Cloud Monitoring.

Antes de comenzar

  1. Asegúrate de contar con los permisos necesarios:

    • Si quieres obtener los permisos que necesitas para ver y editar las alertas pospuestas con la consola de Google Cloud, pídele a tu administrador que te otorgue el rol de IAM Editor de Monitoring (roles/monitoring.editor) en tu proyecto. Si quieres obtener más información para otorgar funciones, consulta Administra el acceso.

      Es posible que también puedas obtener los permisos necesarios a través de los roles personalizados o de otros roles predefinidos.

    • A fin de obtener los permisos que necesitas para ver y editar las alertas pospuestas mediante la API de Cloud Monitoring, pídele a tu administrador que te otorgue el rol de IAM Editor de alarma de Monitoring (roles/monitoring.snoozeEditor) en tu proyecto. Si quieres obtener más información para otorgar funciones, consulta Administra el acceso.

      Es posible que también puedas obtener los permisos necesarios a través de los roles personalizados o de otros roles predefinidos.

    Para obtener más información sobre las funciones de Cloud Monitoring, consulta Controla el acceso con Identity and Access Management.

  2. Si deseas usar los ejemplos de la API de Cloud Monitoring incluidos en este documento, haz lo siguiente:

    1. Crea una variable de entorno, PROJECT_ID, para conservar el ID de tu proyecto de Google Cloud:

      PROJECT_ID=PROJECT_ID
      
    2. Autentícate en Google Cloud CLI:

      gcloud auth login
      
    3. Configura el proyecto predeterminado de Google Cloud:

      gcloud config set project ${PROJECT_ID}
      
    4. Crea un token de autorización:

      ACCESS_TOKEN=`gcloud auth print-access-token`
      

      Deberás actualizar el token de acceso de forma periódica. Si los comandos que funcionaban de repente informan que no estás autenticado, vuelve a emitir este comando.

Cómo crear una alerta pospuesta

Para evitar que las políticas de alertas creen incidentes y envíen notificaciones, crea una alerta pospuesta.

Puedes crear una alerta pospuesta con la consola de Google Cloud, gcloud CLI o la API de Cloud Monitoring.

Console

  1. En el panel de navegación de la consola de Google Cloud, elige Monitoring y, luego,  Alertas:

    Ir a las Alertas

  2. Para crear una alerta pospuesta desde un incidente abierto, haz lo siguiente:
    1. En el panel Incidentes de la página Alertas, busca tu incidente y haz clic en Incident summary.
    2. En la página Detalles del incidente, haz clic en Posponer y, luego, selecciona la duración de la posposición. No puedes configurar ningún otro campo.
  3. De lo contrario, haz lo siguiente:

    1. En la página Alertas, haz clic en Crear alerta pospuesta.
    2. Ingresa un nombre descriptivo para la alerta pospuesta. Este nombre se muestra en la página Alertas.
    3. Selecciona una Hora de inicio. Puedes ingresar una hora específica o iniciar la función para posponer cuando se cree la función.
    4. Ingresa la Duración. El valor de este campo determina el tiempo que dura la alerta pospuesta.
    5. Completa la sección Criterios de posponer. Puedes usar el menú Políticas de alertas para seleccionar las políticas de alertas a las que se aplica la función de posponer.

      Puedes agregar hasta 16 políticas de alertas para posponer.

      Después de completar la sección Criterios de posponer, el panel Crear alerta pospuesta muestra los incidentes pasados que coinciden con los criterios.

    6. Haz clic en Crear.

API de Cloud Monitoring

Para crear una alerta pospuesta, invoca el método snoozes.create mediante el envío de una solicitud POST al extremo Snooze. Debes proporcionar un objeto snooze:

curl -d @my-snooze.json -H "Authorization: Bearer $ACCESS_TOKEN" \
-H 'Content-Type: application/json' \
-X POST https://monitoring.googleapis.com/v3/projects/${PROJECT_ID}/snoozes

El método devuelve un objeto snooze. El campo "name", que incluye el ID de posposición que genera Monitoring, es la única diferencia entre el objeto que se muestra y el contenido de my-snooze.json:

{
  "name": "projects/my-project/snoozes/2986666341878464512",
  "criteria": {
    "policies": [
      "projects/my-project/alertPolicies/787884840895011889"
    ]
  },
  "interval": {
    "startTime": "2022-11-12T19:00:20Z",
    "endTime": "2022-11-12T19:05:20Z"
  },
  "displayName": "Snooze2"
}

gcloud CLI

Para crear una alerta pospuesta, ejecuta el comando gcloud monitoring snoozes create:

gcloud monitoring snoozes create --criteria-policies=LIST_OF_POLICIES --display-name=DISPLAY_NAME --start-time=START_TIME --end-time=END_TIME

En el comando anterior, end-time debe estar al menos un minuto después que start-time. Debes seguir las reglas de formato ISO 8601. Sin embargo, puedes especificar horas absolutas o relativas. En el siguiente ejemplo, se especifican horas absolutas. Para comenzar a posponer 30 minutos desde la hora actual, usa --start-time="+PTM30M".

Si especificas varios proyectos, sepáralos con comas.

Por ejemplo, el siguiente comando crea una alerta pospuesta con el nombre visible de “Semana de mantenimiento”. La alerta pospuesta se aplica a dos políticas de alertas y abarca el intervalo de tiempo desde el primero de marzo hasta el 7 de marzo:

gcloud monitoring snoozes create --display-name="Maintenance Week" \
    --criteria-policies="projects/my-project/alertPolicies/12345,projects/my-project/alertPolicies/23451" \
    --start-time="2023-03-01T03:00:00.0-0500" \
    --end-time="2023-03-07T23:59:59.5-0500"

En el ejemplo anterior, se crea la siguiente alerta pospuesta en my-project:

{
 "name": "projects/my-project/snoozes/98765",
 "displayName": "Maintenance Week",
 "interval": {
   "startTime": "2023-03-01T08:00:00Z",
   "endTime": "2023-03-08T04:59:59Z"
 },
 "criteria": {
   "policies": [
     "projects/my-project/alertPolicies/12345",
     "projects/my-project/alertPolicies/23451",
   ]
 }
}

Si se ejecuta de forma correcta, la respuesta a este comando es similar a la siguiente:

Created snooze [projects/my-project/snoozes/98765]

El nombre de una política de alertas no se muestra en la consola de Google Cloud. Para determinar el nombre de una política de alertas, realiza una de las siguientes acciones:

  • Ejecuta el comando gcloud alpha monitoring policies list. Los datos de respuesta de este comando incluyen el nombre de tus políticas de alertas.
  • Visualiza la representación JSON de una política de alertas. Puedes descargar la representación JSON en tu sistema local a través de una opción en la página Detalles de la política.

Crea alertas pospuestas recurrentes

Para crear alertas pospuestas que se produzcan en intervalos recurrentes, puedes escribir una secuencia de comandos que cree una alerta pospuesta para una política de alertas. Luego, usa un programador de trabajos, como cron o Cloud Scheduler, para ejecutar la secuencia de comandos según el programa requerido.

Mostrar alertas pospuestas

Cuando creas una alerta pospuesta, esta se agrega al registro histórico de alertas pospuestas de tu proyecto. Este registro muestra las alertas pospuestas vencidas, activas y próximas. No puedes quitar entradas de este registro, es decir, no puedes borrar una alerta pospuesta. Sin embargo, desde esta vista puedes mostrar los detalles de una alerta pospuesta y realizar acciones como editarla o copiarla.

Console

Para ver una lista de alertas pospuestas, haz lo siguiente:

  1. En el panel de navegación de la consola de Google Cloud, elige Monitoring y, luego,  Alertas:

    Ir a las Alertas

  2. Haz clic en Ver todas las alertas pospuestas en el panel Posponer.

    En la página Posponer, se muestra una lista de alertas pospuestas y un cronograma que muestra gráficamente las alertas pospuestas pasadas, próximas y activas.

    • Para editar, copiar, cancelar o finalizar una alerta pospuesta, usa el menú Más opciones para la función de posponer. El estado de posposición determina qué opciones están disponibles.
    • Para mostrar una lista de todas las alertas pospuestas, habilita Mostrar alertas pospuestas anteriores. De forma predeterminada, solo se muestran las alertas pospuestas activas y próximas.
    • Para cambiar el período de visualización de la tabla Cronograma, usa el menú Intervalo de tiempo. Según la configuración predeterminada, en la tabla se muestran los datos de la próxima hora. Sin embargo, puedes modificar este campo para especificar intervalos de tiempo pasados o futuros. Las alertas pospuestas vencidas se conservan por 13 meses.
    • Para ver los detalles de una alerta pospuesta específica, haz clic en Ver detalles.
    • Para ver un resumen de las alertas pospuestas activas, coloca el puntero en el área sombreada de la fila Activa en la tabla Cronograma. En la información sobre la herramienta, se muestra la información de resumen.
    • Para ver una representación gráfica de las alertas pospuestas activas, expande la fila Activo de la tabla Cronograma.

API de Cloud Monitoring

Para enumerar todas las alertas pospuestas que pertenecen a un proyecto de Google Cloud, invoca el método snoozes.list:

curl -H "Authorization: Bearer $ACCESS_TOKEN" \
https://monitoring.googleapis.com/v3/projects/${PROJECT_ID}/snoozes

El método devuelve una lista de objetos snooze. Por ejemplo, cuando un proyecto tiene una alerta pospuesta, la respuesta al comando snoozes.list es similar a la siguiente:

{
  "snoozes": [
    {
      "name": "projects/my-project/snoozes/2986663705844383744",
      "criteria": {
        "policies": [
          "projects/my-project/alertPolicies/787884840895011889"
        ]
      },
      "interval": {
        "startTime": "2022-11-08T19:00:20Z",
        "endTime": "2022-11-08T19:05:20Z"
      },
      "displayName": "Snooze1"
    }
  ]
}

Para obtener información sobre una alerta pospuesta específica, invoca el método snoozes.get y especifica el ID del proyecto y el de la alerta pospuesta. En la respuesta anterior, el ID de la alerta pospuesta es 2986663705844383744:

curl -H "Authorization: Bearer $ACCESS_TOKEN" \
https://monitoring.googleapis.com/v3/projects/${PROJECT_ID}/snoozes/${SNOOZE_ID}

El método muestra un solo objeto snooze:

{
  "name": "projects/my-project/snoozes/2986663705844383744",
  "criteria": {
    "policies": [
      "projects/my-project/alertPolicies/787884840895011889"
    ]
  },
  "interval": {
    "startTime": "2022-11-08T19:00:20Z",
    "endTime": "2022-11-08T19:05:20Z"
  },
  "displayName": "Snooze1"
}

gcloud CLI

Para mostrar una lista de las alertas pospuestas en tu proyecto actual, ejecuta el comando gcloud monitoring snoozes list:

gcloud monitoring snoozes list OPTIONAL_FLAGS

Para obtener información sobre las marcas opcionales, consulta la página de referencia de gcloud monitoring snoozes list.

La respuesta a este comando es una lista de nombres de las alertas pospuestas del proyecto, con formato YAML. Por ejemplo, la respuesta a este comando para el proyecto de Google Cloud con el ID my-project es una sola entrada:

criteria:
  policies:
  - projects/my-project/alertPolicies/12345
  - projects/my-project/alertPolicies/23451
displayName: Maintenance Week
interval:
  endTime: '2023-03-08T04:59:59Z'
  startTime: '2023-03-01T08:00:00Z'
name: projects/my-project/snoozes/98765

Para enumerar los detalles sobre una función pospuesta específica, ejecuta el comando gcloud monitoring snoozes describe:

gcloud monitoring snoozes describe NAME

Por ejemplo, para mostrar los detalles sobre la alerta pospuesta con el nombre projects/my-project/snoozes/98765, ejecuta el siguiente comando:

gcloud monitoring snoozes describe projects/my-project/snoozes/98765

Si proporcionas un NAME no válido a un comando describe, la respuesta contendrá un código de error de 500 y el siguiente mensaje:

Internal error encountered. Please retry after a few seconds. If internal errors persist, contact support at https://cloud.google.com/support/docs.

Cómo editar una alerta pospuesta

Puedes editar el nombre y el período de una próxima alerta pospuesta, así como el nombre y la hora de finalización de una alerta pospuesta activa. Por ejemplo, cuando se reprograma un período de mantenimiento, es posible que debas editar una alerta pospuesta.

No puedes editar una alerta anterior ni los criterios de ninguna alerta pospuesta. Sin embargo, si deseas programar una alerta más reciente para un período futuro, cópiala y aplica cambios a la copia antes de seleccionar Crear.

Console

Para editar una opción para posponer, haz lo siguiente:

  1. En el panel de navegación de la consola de Google Cloud, elige Monitoring y, luego,  Alertas:

    Ir a las Alertas

  2. Haz clic en Ver todas las alertas pospuestas en el panel Posponer.
  3. En la lista de alertas pospuestas, busca la alerta que deseas editar y, luego, selecciona Editar alerta pospuesta en el menú Más opciones.
  4. Haz clic en Guardar después de completar los cambios.

API de Cloud Monitoring

Para modificar una alerta pospuesta existente, invoca el método snoozes.patch enviando una solicitud PATCH al extremo Snooze. Debes proporcionar el objeto snooze revisado e incluir parámetros de consulta que identifiquen qué campos se modifican. Cuando usas curl, los parámetros de consulta deben estar codificados en formato URL.

Para las próximas alertas pospuestas, puedes modificar el nombre y el punto. Para las alertas pospuestas activas, puedes modificar el nombre y la hora de finalización. No puedes modificar las alertas pospuestas anteriores.

Para actualizar el displayName de una alerta pospuesta, crea un archivo JSON, my-updated-snooze.json, que describa el objeto de posposición y actualice el nombre visible. Luego, ejecuta el comando siguiente:

curl -d @my-updated-snooze.json -H "Authorization: Bearer $ACCESS_TOKEN" \
-H 'Content-Type: application/json' \
-X PATCH https://monitoring.googleapis.com/v3/projects/${PROJECT_ID}/snoozes/${SNOOZE_ID}?updateMask=displayName

El método muestra un objeto snooze idéntico al contenido del archivo my-updated-snooze.json:

{
  "name": "projects/my-project/snoozes/2986665388391530496",
  "criteria": {
    "policies": [
      "projects/my-project/alertPolicies/7164333552684403347"
    ]
  },
  "interval": {
    "startTime": "2022-11-08T22:26:05Z",
    "endTime": "2022-11-08T22:31:05Z"
  },
  "displayName": "Updated snooze name"
}

gcloud CLI

Para editar una alerta pospuesta, ejecuta el comando gcloud monitoring snoozes update. Puedes actualizar el nombre visible, la hora de inicio y la hora de finalización:

gcloud monitoring snoozes update NAME OPTIONAL_FLAGS

Si deseas obtener una lista de opciones del comando update, consulta la página de referencia de gcloud monitoring snoozes update.

Por ejemplo, para cambiar el nombre visible de la alerta pospuesta con el nombre projects/my-project/snoozes/98765, ejecuta el siguiente comando:

gcloud monitoring snoozes update projects/my-project/snoozes/98765  --display-name="March Maintenance"

Cómo finalizar o cancelar una alerta pospuesta

Si deseas recibir notificaciones sobre los recursos que coincidan con los criterios especificados en una alerta activa pospuesta, termina la alerta. Por ejemplo, cuando el mantenimiento planificado se completa más rápido de lo esperado, es posible que desees finalizar una alerta pospuesta.

Si tienes una próxima alerta pospuesta que ya no quieres, cancélala. La operación de cancelación establece la duración en cero y hace que la posposición pase al estado Pasado.

Console

Para finalizar una alerta pospuesta activa o cancelar una próxima alerta pospuesta, haz lo siguiente:

  1. En el panel de navegación de la consola de Google Cloud, elige Monitoring y, luego,  Alertas:

    Ir a las Alertas

  2. Haz clic en Ver todas las alertas pospuestas en el panel Posponer.
  3. En la lista de alertas pospuestas, busca la función para posponer que deseas finalizar o cancelar y, luego, realiza una de las siguientes acciones:

    • Para finalizar una función para posponer activa, selecciona Finalizar ahora en el menú Más opciones.
    • Para cancelar una próxima alerta pospuesta, selecciona Cancelar posponer en el menú Más opciones.

API de Cloud Monitoring

Para finalizar una función pospuesta activa, edítala y establece la hora de finalización en la hora actual. Para obtener más información, consulta Cómo editar una función para posponer.

Para cancelar una próxima alerta pospuesta, edítala y establece la hora de finalización en la hora de inicio de la alerta pospuesta. La hora de inicio debe ser en el futuro. Para obtener más información, consulta Cómo editar una función para posponer.

gcloud CLI

Para finalizar una función pospuesta activa o cancelar una próxima alerta pospuesta, ejecuta el comando gcloud monitoring snoozes cancel:

gcloud monitoring snoozes cancel NAME

Por ejemplo, para cancelar la alerta pospuesta con el nombre projects/my-project/snoozes/98765, ejecuta el siguiente comando:

gcloud monitoring snoozes cancel projects/my-project/snoozes/98765

Copiar una alerta pospuesta

Cuando desees usar una alerta pospuesta existente como plantilla para otra alerta pospuesta, crea una copia. Cuando copias una alerta pospuesta, se abre el editor de alertas pospuestas con todos los campos, excepto la hora de inicio establecida en los valores de la función pospuesta original. Puedes modificar todos los campos antes de hacer clic en Crear.

Para copiar una alerta pospuesta con la consola, haz lo siguiente:

  1. En el panel de navegación de la consola de Google Cloud, elige Monitoring y, luego,  Alertas:

    Ir a las Alertas

  2. Haz clic en Ver todas las alertas pospuestas en el panel Posponer.
  3. En la lista de alertas pospuestas, busca la alerta pospuesta que deseas editar y, luego, selecciona Copiar posponer en el menú Más opciones.
  4. Aplique las modificaciones a la copia y, luego, haga clic en Crear.

¿Qué sigue?