En este documento se explica cómo configurar, personalizar y probar las alertas de eventos de estado de los servicios.
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 de nuevos incidentes.
- Cuando se actualizan las incidencias, por ejemplo, cuando el equipo de Asistencia envía un nuevo mensaje. Google Cloud
- Cuando se crean o actualizan incidencias de productos o ubicaciones específicos, como regiones. Google Cloud
- Cuando se actualizan detalles específicos de incidentes, como el estado y la relevancia.
Como estas notificaciones usan alertas de registro, cada una de ellas se asocia a un incidente de Monitoring. Cada notificación incluye enlaces a la página del incidente y un enlace directo al panel de control Estado del servicio. Consulta más información sobre cómo investigar incidentes.
Una vez que hayas configurado 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 monitorización. Por ejemplo, se pueden enviar 20 alertas por política al día y 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 habituales. Las alertas de registro se basan en canales de notificación, que admiten varias integraciones, como correo electrónico, SMS, Pub/Sub, webhooks, Slack y PagerDuty.
Para enrutar una alerta a un destino que no sea una de las opciones mencionadas anteriormente, puedes usar un webhook. Por ejemplo, puedes configurar un webhook en ServiceNow. Para obtener más información, consulta el artículo sobre cómo configurar un webhook en Google Cloud en la documentación de ServiceNow.
Formatos de las notificaciones de alerta
Los formatos de las notificaciones de alerta varían según el canal de notificaciones.
Correo electrónico
Si configuras la alerta para que envíe un correo, cuando se cumpla la condición de la alerta, se enviará un mensaje desde la dirección alerting-noreply@google.com a la dirección de correo que elijas.
Slack
Si configuras tu notificación personalizada para que se publique en Slack, aparecerá un mensaje de la aplicación Cloud Monitoring en el canal que hayas seleccionado cuando se produzca el evento.
Configurar una política de alertas
Una alerta usa una política de alertas, que describe las circunstancias en las que quieres recibir alertas y cómo quieres que se te notifique.
Puedes configurar políticas de alertas en el panel de control Service Health o con la CLI de Google Cloud.
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 ningún canal de notificaciones, puedes crear uno en la consolaGoogle Cloud o mediante la API Monitoring.
En el panel de control Service Health
Consulta la guía de inicio rápido.
Usar la CLI de gcloud
Para configurar una política de alertas con gcloud CLI, sigue estos pasos:
Obtén el ID de tu canal de notificaciones.
a. Lista los IDs de los canales de notificaciones.
gcloud config set project PROJECT_ID gcloud beta monitoring channels list
b. Busca las entradas con
projects/PROJECT_ID/notificationChannels/
. Estas entradas son los IDs de los canales de notificaciones.Crea un archivo
policy.json
con el siguiente contenido:ALERT_NAME aparece en la notificación. Ejemplo: "Google Cloud SQL incident"
ALERT_CONDITION define cuándo se debe enviar la alerta.
- Cuando defina las condiciones, utilice los valores que se encuentran en Google Cloud products y locations.
Ejemplos de condiciones de alerta:
Condición de alerta Valor de ALERT_CONDITION Recibir alertas de cualquier evento de Cloud SQL jsonPayload.impactedProductIds =~ \"hV87iK5DcEXKgWU2kDri\"
Recibir alertas de cualquier evento que se produzca 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 has obtenido con el comando list en el paso anterior. Ejemplo:
projects/PROJECT_ID/notificationChannels/885798905074
.
El siguiente fragmento 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"
Personalizar el contenido de la alerta
Puedes definir los campos de la notificación mediante los siguientes campos del archivo JSON:
labelExtractors
: las propiedades que se incluirán en el encabezado de la notificación. Para personalizar estas propiedades, consulta la guía LabelExtractors.content
: el formato de la notificación por correo. 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.
Probar la alerta
Para probar la alerta, usarás un registro de prueba de ejemplo con Cloud Logging. El registro de prueba muestra la lógica de alerta que has configurado anteriormente.
Usar la Google Cloud consola
Sigue estos pasos:
- 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 proyecto.
Cambia los campos
jsonPayload
del cuerpo de la solicitud en función de la condición de alerta que estés probando. También puedes consultar el esquema event_log.proto y modificar los valores del registro para probar escenarios específicos 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 la opción para ejecutar. Aparecerá una ventana en la que Explorador de APIs de Google solicitará acceso a tu cuenta.
Permitir el acceso a Explorador de APIs de Google. En la ventana con el cuerpo de la solicitud se muestra la siguiente captura de pantalla, que indica que se ha completado correctamente.
Espera unos minutos y, a continuación, comprueba que se ha activado la alerta.
En la Google Cloud consola, ve a la página Cloud Monitoring > Incidentes.
Comprueba si has recibido 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.
Usar gcloud
También puedes crear una entrada de registro de prueba llamando a la API Cloud Logging con el comando gcloud.
(Opcional) Comprueba tu proyecto actual.
gcloud config list
Configura el proyecto actual.
gcloud_name config set project PROJECT_ID
Escribe la entrada del registro de pruebas.
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, a continuación, comprueba que se ha activado la alerta.