Este documento explica como configurar, personalizar e testar alertas para eventos de estado de funcionamento do serviço.
O Personalized Service Health integra-se com os alertas de registo do Cloud Monitoring para que possa configurar e receber alertas. Pode criar notificações para as seguintes condições:
- Quando são comunicados novos incidentes.
- Quando os incidentes existentes são atualizados, por exemplo, quando o Google Cloud apoio técnico envia uma nova mensagem.
- Quando são criados ou atualizados incidentes para Google Cloud produtos ou localizações específicas, como regiões.
- Quando os detalhes específicos dos incidentes existentes são atualizados, como o estado e a relevância.
Uma vez que estas notificações usam alertas de registo, cada notificação está associada a um incidente de monitorização. Cada notificação inclui links para a página do incidente e um link direto para o painel de controlo do estado do serviço. Saiba mais sobre como investigar incidentes.
Depois de configurar um alerta, recebe uma notificação sempre que as condições da política de alertas forem cumpridas. Estas notificações estão sujeitas a limites de monitorização. Por exemplo, 20 alertas por política por dia por projeto.
As secções seguintes mostram como configurar uma política de alertas de registo e fornecem exemplos para cenários de alertas comuns. Os alertas de registo baseiam-se em canais de notificação, que suportam uma variedade de integrações, incluindo email, SMS, Pub/Sub, webhooks, Slack e PagerDuty.
Para encaminhar um alerta para um destino diferente das opções indicadas anteriormente, considere usar um webhook. Por exemplo, pode configurar um webhook para o ServiceNow. Para mais informações, consulte o artigo Configure o webhook em Google Cloud na documentação do ServiceNow.
Formatos de notificações de alertas
Os formatos de notificação de alertas variam consoante o canal de notificação.
Se configurar o alerta para enviar um email, quando a condição de alerta for cumprida, é enviada uma mensagem com o endereço alerting-noreply@google.com para o endereço de email da sua escolha.
Slack
Se configurar a sua notificação personalizada para publicação no Slack, é apresentada uma mensagem da aplicação Cloud Monitoring no canal que selecionou quando o evento ocorre.
Configure uma política de alertas
Um alerta usa uma política de alertas, que descreve as circunstâncias em que quer receber alertas e como quer receber notificações.
Pode configurar políticas de alerta no painel de controlo do estado do serviço ou através da CLI do Google Cloud.
As políticas de alerta requerem um canal de notificação do Cloud Monitoring, que define para onde um alerta é enviado. Se não tiver um canal de notificação, pode criar um na Google Cloud consola ou através da API Monitoring.
No painel de controlo do Service Health
Consulte o início rápido.
Usar a CLI gcloud
Para configurar uma política de alerta através da CLI gcloud:
Aceda ao ID do canal de notificação.
a. Indique os IDs dos canais de notificação.
gcloud config set project PROJECT_ID gcloud beta monitoring channels list
b. Procure entradas com
projects/PROJECT_ID/notificationChannels/
. Estas entradas são os IDs dos canais de notificação.Crie um ficheiro
policy.json
com o seguinte conteúdo:ALERT_NAME aparece na notificação. Exemplo: "Google Cloud SQL incident"
ALERT_CONDITION define quando enviar um alerta.
- Quando definir condições, use os valores encontrados em Google Cloud products e locations.
Exemplos de condições de alerta:
Condição de alerta Valor: ALERT_CONDITION Receba alertas para qualquer evento do Cloud SQL jsonPayload.impactedProductIds =~ \"hV87iK5DcEXKgWU2kDri\"
Receba alertas para qualquer evento que ocorra na zona us-central1-a
jsonPayload.impactedLocations =~ \"us-central1-a\"
Veja mais exemplos de condições de alerta.
NOTIFICATION_CHANNEL é o ID do canal de notificação, que obteve através do comando list no passo anterior. Exemplo:
projects/PROJECT_ID/notificationChannels/885798905074
.
O fragmento seguinte mostra um exemplo do ficheiro
policy.json
.{ "displayName": "ALERT_NAME", "combiner": "OR", "conditions": [ { "displayName": "Log match condition", "conditionMatchedLog": { "filter": "ALERT_CONDITION", } } ], "notificationChannels": [ "NOTIFICATION_CHANNEL" ], }
Crie a política do Cloud Monitoring.
gcloud config set project PROJECT_ID gcloud alpha monitoring policies create --policy-from-file="policy.json"
Personalize o conteúdo do alerta
Pode definir os campos na notificação através dos seguintes campos no ficheiro JSON:
labelExtractors
: as propriedades a incluir no cabeçalho da notificação. Para personalizar estas propriedades, consulte o guia LabelExtractors.content
: a formatação da notificação por email. Pode usar a substituição de variáveis de markdown, que lhe permite usarlabelExtractors
como variáveis. Para personalizar estas variáveis, consulte este guia.
Consulte exemplos de políticas e condições de alerta para saber como personalizar os seus alertas.
Teste o seu alerta
Para testar o alerta, vai usar um registo de teste de exemplo através do Cloud Logging. O registo de teste mostra a lógica de alerta que configurou anteriormente.
Usar a Google Cloud consola
Faça o seguinte:
- Aceda à página de referência do método entries:write, que lhe permite escrever entradas de registo no Cloud Logging. É apresentada uma janela que lhe permite experimentar o método.
- No corpo do pedido, altere PROJECT_ID para o seu próprio projeto.
Altere os campos
jsonPayload
no corpo do pedido, consoante a condição de alerta que está a testar. Também pode verificar o esquema event_log.proto e ajustar os valores no registo para testar cenários específicos nos quais tem interesse.{ "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" } } ] }
Clique em Executar. É apresentada uma janela onde o Explorador de APIs Google pede acesso à sua conta.
Permitir o acesso ao Explorador de APIs Google. A janela com o corpo do pedido mostra a seguinte captura de ecrã, que indica o êxito.
Aguarde alguns minutos e, em seguida, verifique se o alerta foi acionado.
Na Google Cloud consola, aceda à página Cloud Monitoring > Incidentes.
Verifique se recebeu um alerta no canal de notificação usado pela política de alertas.
Se precisar de testar novamente o alerta, aguarde, pelo menos, 5 minutos antes de o fazer.
Usar o gcloud
Também pode criar uma entrada de registo de teste chamando a API Cloud Logging através do comando gcloud.
(Opcional) Verifique o seu projeto atual.
gcloud config list
Defina o projeto atual.
gcloud_name config set project PROJECT_ID
Escreva a entrada do registo de teste.
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"}'
Aguarde alguns minutos e, em seguida, verifique se o alerta foi acionado.