En este documento, se explica cómo configurar, personalizar y probar las alertas sobre eventos de estado del servicio.
Personalized Service Health se integra con 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 Google Cloud productos o ubicaciones específicos, como 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 está asociada a 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 límites de supervisión. Por ejemplo, se pueden enviar 20 alertas por política, por día y por proyecto.
En las siguientes secciones, se muestra cómo configurar una política de alertas de registros y se proporcionan ejemplos para situaciones de alertas comunes. Las alertas basadas en registros dependen de los canales de notificación, que admiten una variedad de integraciones, como correos electrónicos, SMS, Pub/Sub, webhooks, Slack y PagerDuty.
Para enrutar una alerta a un destino que no sea una de las opciones mencionadas anteriormente, considera usar un webhook. Por ejemplo, puedes configurar un webhook para ServiceNow. Para obtener más información, consulta Configura un webhook 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 a la dirección de correo electrónico que elijas con la dirección alerting-noreply@google.com.
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 ocurra 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 dónde se envía una alerta. Si no tienes un canal de notificaciones, puedes crear uno en la consola deGoogle 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 notificación.
a. Enumera los IDs de los canales de notificación.
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 se debe generar la alerta.
- Cuando definas condiciones, usa los valores que se encuentran en Google Cloud products y locations.
Ejemplos de condiciones de alerta:
Condición de alerta Valor ALERT_CONDITION Recibe alertas sobre cualquier evento de Cloud SQL jsonPayload.impactedProductIds =~ \"hV87iK5DcEXKgWU2kDri\"
Recibe alertas sobre cualquier evento que ocurra en la zona us-central1-a
jsonPayload.impactedLocations =~ \"us-central1-a\"
Consulta más ejemplos de condiciones de alertas.
NOTIFICATION_CHANNEL es el ID del canal de notificación que recuperaste con el comando list 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"
Personaliza 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 conocer formas de 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
Haz 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 por 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 consultar el esquema event_log.proto y ajustar los valores en el 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 al Explorador de APIs de Google. En la ventana con el cuerpo de la solicitud, se muestra la siguiente captura de pantalla, que indica que la operación se realizó correctamente.
Espera unos minutos y, luego, verifica que se haya activado la alerta.
En la consola de Google Cloud , ve a la página Cloud Monitoring > Incidentes.
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 del 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.