En este documento, se explica cómo configurar, personalizar y probar alertas para eventos de estado del servicio.
Personalized Service Health se integra en las alertas de registro de Cloud Monitoring para que puedas configurar y recibir alertas. Puedes crear notificaciones para las siguientes condiciones:
- Cuando se informan incidentes nuevos.
- Cuando se actualizan los incidentes existentes, por ejemplo, cuando el equipo de asistencia al cliente de Google Cloud envía un mensaje nuevo.
- Cuando se crean o actualizan incidentes para productos o ubicaciones específicas de Google Cloud , como las regiones.
- Cuando se actualizan detalles específicos de incidentes existentes, como el estado y la relevancia.
Dado que estas notificaciones usan alertas de registro, cada una se asocia con un incidente de Monitoring. Cada notificación incluye vínculos a la página del incidente y un vínculo directo al panel de Service Health. Obtén más información para investigar incidentes.
Una vez que configures una alerta, recibirás una notificación cada vez que se cumplan las condiciones de tu política de alertas. Estas notificaciones están sujetas a los límites de supervisión, por ejemplo, 20 alertas por política por día por proyecto.
En las siguientes secciones, se muestra cómo configurar una política de alertas de registro y se proporcionan ejemplos de situaciones de alerta comunes. Las alertas de registro dependen de los canales de notificación, que admiten una variedad de integraciones, como correo electrónico, SMS, Pub/Sub, webhooks, Slack y PagerDuty.
Para enrutar una alerta a un destino distinto de las opciones que se enumeraron antes, considera usar un webhook. Por ejemplo, puedes configurar un webhook en ServiceNow. Para obtener más información, consulta Cómo configurar unwebhook en Google Cloud en la documentación de ServiceNow.
Formatos de notificaciones de alerta
Los formatos de las notificaciones de alerta varían según el canal de notificación.
Correo electrónico
Si configuras la alerta para que envíe un correo electrónico, cuando se cumpla la condición de alerta, se enviará un mensaje con la dirección alerting-noreply@google.com a la dirección de correo electrónico que elijas.
Slack
Si configuras tu notificación personalizada para que se publique en Slack, aparecerá un mensaje de la aplicación de Cloud Monitoring en el canal que seleccionaste cuando se produzca el evento.
Configura una política de alertas
Una alerta usa una política de alertas, que describe las circunstancias en las que deseas recibir la alerta y cómo quieres ser notificado.
Puedes configurar políticas de alertas en el panel de Service Health o con Google Cloud CLI.
Las políticas de alertas requieren un canal de notificaciones de Cloud Monitoring, que define a dónde se envía una alerta. Si no tienes un canal de notificaciones, puedes crear uno en la consola de Google Cloud o con la API de Monitoring.
En el panel de Service Health
Consulta la guía de inicio rápido.
Usa la CLI de gcloud
Para configurar una política de alertas con gcloud CLI, haz lo siguiente:
Obtén el ID de tu canal de notificaciones.
a. Enumera los IDs de los canales de notificaciones.
gcloud config set project PROJECT_ID gcloud beta monitoring channels list
b. Busca entradas con
projects/PROJECT_ID/notificationChannels/
. Estas entradas son los IDs de los canales de notificación.Crea un archivo
policy.json
con el siguiente contenido:Aparecerá ALERT_NAME en la notificación. Ejemplo: “incidente de Google Cloud SQL”
ALERT_CONDITION define cuándo enviar una alerta.
- Cuando definas las condiciones, usa los valores que se encuentran en los productos deGoogle Cloud y las ubicaciones.
Ejemplos de condiciones de alerta:
Condición de alerta Valor ALERT_CONDITION Cómo recibir alertas sobre cualquier evento de Cloud SQL jsonPayload.impactedProductIds =~ \"hV87iK5DcEXKgWU2kDri\"
Recibir alertas sobre cualquier evento que ocurra en la zona us-central1-a
jsonPayload.impactedLocations =~ \"us-central1-a\"
Consulta más ejemplos de condiciones de alerta.
NOTIFICATION_CHANNEL es el ID del canal de notificaciones, que recuperaste con el comando de lista en el paso anterior. Ejemplo:
projects/PROJECT_ID/notificationChannels/885798905074
.
En el siguiente fragmento, se muestra un ejemplo del archivo
policy.json
.{ "displayName": "ALERT_NAME", "combiner": "OR", "conditions": [ { "displayName": "Log match condition", "conditionMatchedLog": { "filter": "ALERT_CONDITION", } } ], "notificationChannels": [ "NOTIFICATION_CHANNEL" ], }
Crea la política de Cloud Monitoring.
gcloud config set project PROJECT_ID gcloud alpha monitoring policies create --policy-from-file="policy.json"
Cómo personalizar el contenido de la alerta
Puedes configurar los campos dentro de la notificación a través de los siguientes campos en el archivo JSON:
labelExtractors
: Son las propiedades que se incluirán en el encabezado de la notificación. Para personalizar estas propiedades, consulta la guía de LabelExtractors.content
: Es el formato de la notificación por correo electrónico. Puedes usar la sustitución de variables de Markdown, que te permite usarlabelExtractors
como variables. Para personalizar estas variables, consulta esta guía.
Consulta ejemplos de políticas y condiciones de alertas para ver cómo personalizar tus alertas.
Prueba tu alerta
Para probar la alerta, usarás un registro de prueba de muestra con Cloud Logging. El registro de prueba muestra la lógica de alerta que configuraste anteriormente.
Usa la consola de Google Cloud
Puedes hacer lo siguiente:
- Ve a la página de referencia del método entries:write, que te permite escribir entradas de registro en Cloud Logging. Aparecerá una ventana que te permitirá probar el método.
- En el cuerpo de la solicitud, cambia PROJECT_ID a tu propio proyecto.
Cambia los campos
jsonPayload
en el cuerpo de la solicitud, según la condición de alerta que estés probando. También puedes verificar el esquema event_log.proto y ajustar los valores del registro para probar situaciones específicas que te interesen.{ "entries": [ { "logName": "projects/PROJECT_ID/logs/servicehealth.googleapis.com%2Factivity", "resource": { "type": "servicehealth.googleapis.com/Event", "labels": { "resource_container": "PROJECT_ID", "location": "global", "event_id": "U4AqrjwFQYi5fFBmyAX-Gg" } }, "labels": { "servicehealth.googleapis.com/new_event": "true", "servicehealth.googleapis.com/updated_fields": "[]" }, "jsonPayload": { "@type": "type.googleapis.com/google.cloud.servicehealth.logging.v1.EventLog", "category": "INCIDENT", "title": "EXAMPLE... NOT REAL INCIDENT", "description": "EXAMPLE FOR TESTING, NOT REAL INCIDENT. We are experiencing an issue with Google Cloud infrastructure components at us-east1, australia-southeast2. Our engineering team continues to investigate the issue. We apologize to all who are affected by the disruption.", "updateTime": "2022-07-15T22:26:40Z", "endTime": "2022-07-16T22:13:20Z", "impactedLocations": "['us-east1', 'australia-southeast2']", "impactedProducts": "['CloudSQL']", "impactedProductIds": "['hV87iK5DcEXKgWU2kDri']", "startTime": "2022-07-13T12:26:40Z", "nextUpdateTime": "2022-07-13T16:26:40Z", "state": "ACTIVE", "detailedState": "CONFIRMED", "relevance": "RELATED" } } ] }
Haz clic en Ejecutar. Aparecerá una ventana en la que el Explorador de APIs de Google solicitará acceso a tu cuenta.
Permite el acceso del Explorador de APIs de Google. La ventana con el cuerpo de la solicitud muestra la siguiente captura de pantalla, que indica que se realizó correctamente.
Espera unos minutos y, luego, verifica que se haya activado la alerta.
- En la consola de Google Cloud, ve a Cloud Monitoring > Incidentes y busca la alerta.
- Verifica si recibiste una alerta en el canal de notificaciones que usa la política de alertas.
Si necesitas volver a probar la alerta, espera al menos 5 minutos antes de hacerlo.
Usa gcloud
También puedes crear una entrada de registro de prueba llamando a la API de Cloud Logging con el comando gcloud.
(Opcional) Verifica tu proyecto actual.
gcloud config list
Configura tu proyecto actual.
gcloud_name config set project PROJECT_ID
Escribe la entrada de registro de prueba.
gcloud logging write --payload-type=json LOG_NAME '{ "category": "INCIDENT", "relevance": "IMPACTED", "@type": "type.googleapis.com/google.cloud.servicehealth.logging.v1.EventLog", "description": "This is a test log entry"}'
Espera unos minutos y, luego, verifica que se haya activado la alerta.