Este documento descreve como usar a consola Google Cloud para criar uma política de alerta que envia notificações quando uma série cronológica monitorizada não tem dados durante um período específico.
As condições de ausência de métricas requerem, pelo menos, uma medição bem-sucedida, ou seja, uma que obtenha dados, no período máximo após a instalação ou a modificação da política. Este período denomina-se tempo de ausência do acionador. O tempo máximo de ausência de acionador configurável é de 23,5 horas.
Por exemplo, suponhamos que define o tempo de ausência do acionador numa política de ausência de métricas para 30 minutos. A condição não é cumprida quando o subsistema que escreve dados de métricas nunca escreveu um ponto de dados. O subsistema tem de gerar, pelo menos, um ponto de dados e, em seguida, não gerar pontos de dados adicionais durante 30 minutos.
Este conteúdo não se aplica a políticas de alerta baseadas em registos. Para obter informações sobre as políticas de alerta baseadas em registos, que lhe enviam uma notificação quando uma mensagem específica aparece nos seus registos, consulte o artigo Monitorizar os seus registos.
Este documento não descreve o seguinte:
- Como receber uma notificação quando os valores de uma métrica forem superiores ou inferiores a um limite. Para mais informações, consulte o artigo Crie políticas de alertas de limite métrico.
- Como receber notificações com base no valor previsto de uma métrica. Para mais informações, consulte Crie políticas de alertas de valores de métricas previstas.
Como criar uma política de alerta através da API Cloud Monitoring. Para mais informações, consulte o artigo Crie políticas de alerta através da API.
Como criar uma política de alerta cuja condição inclua uma consulta da linguagem de consultas de monitorização (MQL). Estas políticas podem usar um limite estático ou dinâmico. Para mais informações, consulte os seguintes documentos:
Esta funcionalidade só é suportada para projetos do Google Cloud . Para configurações do App Hub, selecione o projeto anfitrião do App Hub ou o projeto de gestão da pasta com apps ativadas.
Antes de começar
-
Para receber as autorizações de que precisa para criar e modificar políticas de alerta através da Google Cloud consola, peça ao seu administrador para lhe conceder a função IAM de Editor do Monitoring (
roles/monitoring.editor
) no seu projeto. Para mais informações sobre a atribuição de funções, consulte o artigo Faça a gestão do acesso a projetos, pastas e organizações.Também pode conseguir as autorizações necessárias através de funções personalizadas ou outras funções predefinidas.
Para mais informações sobre as funções do Cloud Monitoring, consulte o artigo Controle o acesso com a gestão de identidade e acesso.
Certifique-se de que conhece os conceitos gerais das políticas de alerta. Para obter informações acerca destes tópicos, consulte o artigo Vista geral dos alertas.
Configure os canais de notificação que quer usar para receber notificações. Para fins de redundância, recomendamos que crie vários tipos de canais de notificação. Para mais informações, consulte o artigo Crie e faça a gestão de canais de notificação.
Crie uma política de alerta
Para criar uma política de alertas que envia notificações quando uma série cronológica monitorizada não tem dados durante um tempo de ausência de acionador específico, faça o seguinte:
-
Na Google Cloud consola, aceda à página notifications Alertas:
Se usar a barra de pesquisa para encontrar esta página, selecione o resultado cujo subtítulo é Monitorização.
- Na barra de ferramentas da Google Cloud consola, selecione o seu Google Cloud projeto. Para configurações do App Hub, selecione o projeto anfitrião do App Hub ou o projeto de gestão da pasta com apps ativadas.
- Selecione Criar política.
Selecione os intervalos temporais a monitorizar:
Clique em Selecionar uma métrica, navegue pelos menus para selecionar um tipo de recurso e um tipo de métrica e, de seguida, clique em Aplicar.
O menu Selecionar uma métrica contém funcionalidades que ajudam a encontrar os tipos de métricas disponíveis:
- Para encontrar um tipo de métrica específico, use a
filter_list barra de filtros.
Por exemplo, se introduzir
util
, restringe o menu para mostrar entradas que incluamutil
. As entradas são apresentadas quando passam num teste "contém" que não distingue maiúsculas de minúsculas.
Pode monitorizar qualquer métrica integrada ou qualquer métrica definida pelo utilizador.
- Para encontrar um tipo de métrica específico, use a
filter_list barra de filtros.
Por exemplo, se introduzir
Opcional: para monitorizar um subconjunto das séries cronológicas que correspondem aos tipos de recursos e métricas que selecionou no passo anterior, clique em Adicionar filtro. Na caixa de diálogo do filtro, selecione a etiqueta pela qual filtrar, um comparador e, em seguida, o valor do filtro. Por exemplo, o filtro
zone =~ ^us.*.a$
usa uma expressão regular para corresponder a todos os dados de séries cronológicas cujo nome da zona começa comus
e termina coma
. Para mais informações, consulte o artigo Filtre a série cronológica selecionada.Opcional: para alterar o alinhamento dos pontos numa série cronológica, na secção Transformar dados, defina os campos Janela móvel e Função de janela móvel.
Se estiver a monitorizar uma métrica baseada em registos, recomendamos que o menu Janela contínua esteja definido para, pelo menos, 10 minutos.
Estes campos especificam como os pontos registados numa janela são combinados. Por exemplo, suponha que o período é de 15 minutos e a função de período é
max
. O ponto alinhado é o valor máximo de todos os pontos nos 15 minutos mais recentes. Para mais informações, consulte o artigo Alinhamento: regularização dentro da série.Opcional: combine séries cronológicas quando quiser reduzir o número de séries cronológicas monitorizadas por uma política ou quando quiser monitorizar apenas uma coleção de séries cronológicas. Por exemplo, em vez de monitorizar a utilização da CPU de cada instância de VM, pode querer calcular a média da utilização da CPU para todas as VMs numa zona e, em seguida, monitorizar essa média. Por predefinição, as séries cronológicas não são combinadas. Para informações gerais, consulte o artigo Redução: combinar séries cronológicas.
Para combinar todas as séries cronológicas, faça o seguinte:
- Na secção Em várias séries cronológicas, clique em expand_more Expandir.
- Defina o campo Agregação de séries cronológicas para um valor diferente de
none
. Por exemplo, para apresentar o valor médio da série cronológica, selecionemean
. - Certifique-se de que o campo Agrupar por série cronológica está vazio.
Para combinar ou agrupar séries cronológicas por valores de etiquetas, faça o seguinte:
- Na secção Em várias séries cronológicas, clique em expand_more Expandir.
- Defina o campo Agregação de séries cronológicas para um valor diferente de
none
. - No campo Agrupar séries cronológicas por, selecione as etiquetas pelas quais agrupar.
Por exemplo, se agrupar pela etiqueta
zone
e, em seguida, definir o campo de agregação para um valor demean
, o gráfico apresenta uma série cronológica para cada zona para a qual existem dados. O intervalo temporal apresentado para uma zona específica é a média de todos os intervalos temporais com essa zona.Clicar em Seguinte.
Configure o acionador de condição:
Selecione Ausência de métricas para o tipo de condição.
Opcional: atualize o menu Acionador do alerta, que tem os seguintes valores:
Qualquer série cronológica viola: predefinição. Qualquer série cronológica com dados ausentes durante todo o tempo de ausência do acionador faz com que a condição seja cumprida.
Percentagem de violações de séries cronológicas: uma percentagem de séries cronológicas tem de ter dados em falta durante todo o tempo de ausência do acionador antes de a condição ser cumprida. Por exemplo, pode receber uma notificação quando 50% das séries cronológicas monitorizadas não tiverem dados durante todo o tempo de ausência do acionador.
Número de violações de intervalos temporais: um número específico de intervalos temporais tem de ter dados ausentes durante todo o tempo de ausência do acionador antes de a condição ser cumprida. Por exemplo, pode receber uma notificação quando 32 das séries cronológicas monitorizadas não tiverem dados durante todo o tempo de ausência do acionador.
Todas as séries cronológicas violam: todas as séries cronológicas têm de ter dados ausentes durante todo o tempo de ausência do acionador antes de a condição ser cumprida.
Para obter informações sobre os intervalos que a monitorização usa para alinhar e medir dados de séries cronológicas, consulte Períodos de alinhamento e janelas de novo teste.
Especifique durante quanto tempo os dados das métricas têm de estar ausentes antes de o Monitoring enviar uma notificação através do campo Tempo de ausência do acionador.
Clicar em Seguinte.
Opcional: crie uma política de alertas com várias condições.
A maioria das políticas monitoriza um único tipo de métrica. Por exemplo, uma política pode monitorizar o número de bytes escritos numa instância de VM. Quando quiser monitorizar vários tipos de métricas, crie uma política com várias condições. Cada condição monitoriza um tipo de métrica. Depois de criar as condições, especifica como as condições são combinadas. Para mais informações, consulte o artigo Políticas com várias condições.
Para criar uma política de alerta com várias condições, faça o seguinte:
- Para cada condição adicional, clique em Adicionar condição de alerta e, de seguida, configure essa condição.
- Clique em Seguinte e configure a forma como as condições são combinadas.
- Clique em Seguinte para avançar para a configuração das notificações e da documentação.
Configure a notificação e adicione etiquetas de utilizador:
Expanda o menu Notificações e nome e selecione os seus canais de notificação. Para fins de redundância, recomendamos que adicione vários tipos de canais de notificação a uma política de alertas. Para mais informações, consulte o artigo Faça a gestão dos canais de notificação.
Opcional: para usar uma linha do assunto personalizada na sua notificação em vez da predefinição, atualize o campo Linha do assunto da notificação.
Opcional: para receber uma notificação quando um incidente for encerrado, selecione Notificar no encerramento do incidente. Por predefinição, quando cria uma política de alertas com a consola Google Cloud , é enviada uma notificação apenas quando é criado um incidente.
Opcional: para alterar o tempo que a monitorização espera antes de fechar um incidente após a interrupção da receção de dados, selecione uma opção no menu Duração do fecho automático de incidentes. Por predefinição, quando os dados deixam de chegar, a monitorização aguarda sete dias antes de fechar um incidente aberto.
Opcional: para associar a sua política de alertas a uma aplicação do App Hub, na secção Etiquetas de aplicações, selecione uma aplicação e um serviço ou uma carga de trabalho. Os incidentes e as notificações apresentam estas etiquetas.
Opcional: selecione uma opção no menu Nível de gravidade da política. Os incidentes e as notificações apresentam o nível de gravidade.
Opcional: para adicionar etiquetas personalizadas à política de alertas, na secção Etiquetas de utilizador da política, faça o seguinte:
- Clique em Adicionar etiqueta e, no campo Chave, introduza um nome para a etiqueta. Os nomes das etiquetas têm de começar por uma letra minúscula e podem
conter letras minúsculas, números, sublinhados e travessões.
Por exemplo, introduza
severity
. - Clique em Valor e introduza um valor para a etiqueta. Os valores das etiquetas podem conter letras minúsculas, números, sublinhados e travessões.
Por exemplo, introduza
critical
.
Para ver informações sobre como pode usar etiquetas de políticas para ajudar a gerir as suas notificações, consulte o artigo Anote incidentes com etiquetas.
- Clique em Adicionar etiqueta e, no campo Chave, introduza um nome para a etiqueta. Os nomes das etiquetas têm de começar por uma letra minúscula e podem
conter letras minúsculas, números, sublinhados e travessões.
Por exemplo, introduza
Opcional: na secção Documentação, introduza qualquer conteúdo que queira incluir na notificação.
Para formatar a documentação, pode usar texto simples, Markdown e variáveis. Também pode incluir links para ajudar os utilizadores a depurar o incidente, como links para manuais de procedimentos internos, Google Cloud painéis de controlo e páginas externas. Por exemplo, o seguinte modelo de documentação descreve um incidente de utilização da CPU para um recurso
gce_instance
e inclui várias variáveis para fazer referência aos recursos REST da política de alertas e da condição. O modelo de documentação direciona, em seguida, os leitores para páginas externas para ajudar na depuração.Quando são criadas notificações, o Monitoring substitui as variáveis de documentação pelos respetivos valores. Os valores substituem as variáveis apenas nas notificações. O painel de pré-visualização e outros locais na Google Cloud consola mostram apenas a formatação Markdown.
Pré-visualização
## CPU utilization exceeded ### Summary The ${metric.display_name} of the ${resource.type} ${resource.label.instance_id} in the project ${resource.project} has exceeded 90% for over 15 minutes. ### Additional resource information Condition resource name: ${condition.name} Alerting policy resource name: ${policy.name} ### Troubleshooting and Debug References Repository with debug scripts: example.com Internal troubleshooting guide: example.com ${resource.type} dashboard: example.com
Formato na notificação
Para mais informações, consulte os artigos Anotar notificações com documentação definida pelo utilizador e Usar controlos de canais.
Clique em Nome do alerta e introduza um nome para a política de alertas.
Clique em Criar política.
Filtrar os intervalos temporais selecionados
Os filtros garantem que apenas as séries cronológicas que cumprem um determinado conjunto de critérios são monitorizadas. Quando aplica filtros, pode reduzir o número de linhas no gráfico, o que pode melhorar o desempenho do gráfico. Também pode reduzir a quantidade de dados monitorizados aplicando a agregação. Os filtros garantem que apenas são usadas séries cronológicas que cumprem um determinado conjunto de critérios. Quando aplica filtros, existem menos séries cronológicas para avaliar, o que pode melhorar o desempenho do alerta.
Um filtro é composto por uma etiqueta, um comparador e um valor. Por exemplo, para fazer corresponder todos os intervalos temporais cuja etiqueta zone
comece por "us-central1"
, pode usar o filtro zone=~"us-central1.*"
, que usa uma expressão regular para fazer a comparação.
Quando filtra pelo ID do projeto ou pelo contentor de recursos,
tem de usar o operador igual a, (=)
. Quando filtra por outras etiquetas, pode usar qualquer comparador suportado.
Normalmente, pode filtrar métricas e etiquetas de recursos, bem como por grupo de recursos.
Quando fornece vários critérios de filtragem, apenas as séries cronológicas que cumprem todos os critérios são monitorizadas.
Para adicionar um filtro, clique em Adicionar filtro, conclua a caixa de diálogo e, de seguida, clique em Concluído. Na caixa de diálogo, use o campo Filtro para selecionar o critério pelo qual filtrar, selecione o operador de comparação e, em seguida, selecione ou introduza o valor. O menu pendente apenas apresenta valores que aparecem na última semana, mas pode introduzir qualquer valor. Cada linha na tabela seguinte apresenta um operador de comparação, o respetivo significado e um exemplo:
Operador | Significado | Exemplo |
---|---|---|
= |
Igualdade | resource.labels.zone = "us-central1-a" |
!= |
Desigualdade | resource.labels.zone != "us-central1-a" |
=~ |
Igualdade de expressão regular2 | monitoring.regex.full_match("^us.*") |
!=~ |
Desigualdade expressão regular2 | monitoring.regex.full_match("^us.*") |
starts_with |
O valor começa com | resource.labels.zone = starts_with("us") |
ends_with |
O valor termina com | resource.labels.zone = ends_with("b") |
has_substring |
O valor contém | resource.labels.zone = has_substring("east") |
one_of |
Uma de | resource.labels.zone = one_of("asia-east1-b", "europe-north1-a") |
!starts_with |
O valor não começa com | resource.labels.zone != starts_with("us") |
!ends_with |
O valor não termina com | resource.labels.zone != ends_with("b") |
!has_substring |
O valor não contém | resource.labels.zone != has_substring("east") |
!one_of |
O valor não é um dos seguintes | resource.labels.zone != one_of("asia-east1-b", "europe-north1-a") |