Neste documento, descrevemos como usar o console do Google Cloud para criar uma política de alertas que envia notificações quando uma série temporal monitorada não tem dados para uma janela de duração específica.
As condições de ausência de métrica exigem pelo menos uma medição bem-sucedida, uma que recupere dados, dentro da janela de duração máxima após a instalação ou modificação da política. A janela de duração máxima configurável é de 24 horas se você usar o console do Google Cloud e de 24,5 horas se você usar a API Cloud Monitoring.
Por exemplo, vamos supor que você defina a janela de duração em uma política de ausência de métrica como 30 minutos. A condição não pode ser atendida quando o subsistema que grava dados de métricas nunca gravou um ponto de dados. O subsistema precisa produzir pelo menos um ponto de dados e, em seguida, deixar de produzir pontos de dados adicionais por 30 minutos.
Este conteúdo não se aplica a políticas de alertas baseadas em registros. Para informações sobre políticas de alertas com base em registros, que informam quando uma mensagem específica aparece nos registros, consulte Como monitorar os registros.
Este documento não descreve o seguinte:
- Como receber notificações quando os valores de uma métrica forem maiores ou menores que um limite. Para mais informações, consulte Criar políticas de alertas de limite de métrica.
- Como receber notificações com base no valor previsto de uma métrica. Para mais informações, consulte Criar políticas de alertas previstos com valor de métricas.
Como criar uma política de alertas usando a API Cloud Monitoring. Para mais informações, consulte Criar políticas de alertas usando a API.
Como criar uma política de alertas com uma condição que inclui uma consulta da linguagem de consulta do Monitoring (MQL, na sigla em inglês). Essas políticas podem usar um limite estático ou dinâmico. Para mais informações, consulte estes documentos:
Antes de começar
-
Se quiser ter as permissões necessárias para criar e modificar políticas de alertas usando o console do Google Cloud, peça ao administrador para conceder a você o papel de Editor do Monitoring (
roles/monitoring.editor
) do IAM no projeto. Para mais informações sobre como conceder papéis, consulte Gerenciar acesso.Também é possível conseguir as permissões necessárias por meio de papéis personalizados ou de outros papéis predefinidos.
Para mais informações sobre os papéis do Cloud Monitoring, consulte Controlar o acesso com o Identity and Access Management.
Conheça os conceitos gerais de políticas de alertas. Para informações sobre esses tópicos, consulte Visão geral de alertas.
Configure os canais de notificação que você quer usar para receber alertas. Para fins de redundância, recomendamos que você crie vários tipos de canais de notificação. Para saber mais, consulte Criar e gerenciar canais de notificação.
Criar política de alertas
Para criar uma política de alertas que envie notificações quando uma série temporal monitorada não tiver dados em um período específico, faça o seguinte:
-
No painel de navegação do console do Google Cloud, selecione Monitoramento e notifications Alertas:
- Selecione Criar política.
Selecione a série temporal que será monitorada:
Clique em Selecionar uma métrica, navegue pelos menus para selecionar um tipo de recurso e de métrica e clique em Aplicar.
O menu Selecionar uma métrica contém recursos que ajudam você a encontrar os tipos de métricas disponíveis:
- Para encontrar um tipo de métrica específico, use a barra de filtros filter_list.
Por exemplo, se você inserir
util
, o menu será restrito para mostrar entradas que incluemutil
. As entradas são mostradas quando passam em um teste "contains" que não diferencia maiúsculas de minúsculas.
É possível monitorar qualquer métrica integrada ou qualquer métrica definida pelo usuário.
- Para encontrar um tipo de métrica específico, use a barra de filtros filter_list.
Por exemplo, se você inserir
Opcional: para monitorar um subconjunto da série temporal que corresponde aos tipos de métrica e recurso selecionados na etapa anterior, clique em Adicionar filtro. Na caixa de diálogo de filtro, selecione o rótulo, um comparador e o valor do filtro. Por exemplo, o filtro
zone =~ ^us.*.a$
usa uma expressão regular para corresponder a todos os dados de série temporal com nome de zona que começa comus
e termina coma
. Para mais informações, consulte Filtrar a série temporal selecionada.Opcional: para alterar como os pontos em uma série temporal são alinhados, na seção Transformar dados, defina os campos Janela contínua e Função da janela contínua.
Esses campos especificam como os pontos registrados em uma janela são combinados. Por exemplo, suponha que a janela tenha 15 minutos e que a função de janela seja
max
. O ponto alinhado é o valor máximo de todos os pontos nos últimos 15 minutos. Para mais informações, consulte Alinhamento: regularização dentro da série.Opcional: combine série temporal quando você quiser reduzir o número de série temporal monitoradas por uma política ou monitorar apenas um conjunto de série temporal. Por exemplo, em vez de monitorar a utilização da CPU de cada instância de VM, convém calcular a média de utilização da CPU para todas as VMs em uma zona e, em seguida, monitorar essa média. Por padrão, assérie temporals não são combinadas. Para informações gerais, consulte Redução: combinação de séries temporais.
Para combinar todas série temporal, faça o seguinte:
- Na seção Em série temporal, clique em expand_more Expandir.
- Defina o campo Agregação da série temporal como um valor diferente de
none
. Por exemplo, para exibir o valor médio da série temporal, selecionemean
. - O campo Agrupar por série temporal precisa estar vazio.
Para combinar ou agrupar série temporal por valores de rótulo, faça o seguinte:
- Na seção Em série temporal, clique em expand_more Expandir.
- Defina o campo Agregação da série temporal como um valor diferente de
none
. - No campo Série temporal agrupar por, selecione os rótulos para agrupar.
Por exemplo, se você agrupar pelo rótulo
zone
e definir o campo de agregação como um valor demean
, o gráfico exibirá uma série temporal para cada zona onde houver dados. A série temporal mostrada para uma zona específica é a média de todas as séries temporais com essa zona.Clique em Próxima.
Configure o acionador de condição:
- Selecione Ausência de métrica para o tipo de condição.
- Selecione um valor para o menu Acionador de alerta. Esse menu permite especificar o subconjunto de série temporal que não pode ter dados antes que a condição seja atendida.
- Especifique por quanto tempo os dados de métricas precisam estar ausentes para que o alerta envie uma notificação usando o campo Horário de ausência do acionador.
- Clique em Próxima.
Opcional: crie uma política de alertas com várias condições.
A maioria das políticas monitora um único tipo de métrica. Por exemplo, uma política pode monitorar o número de bytes gravados em uma instância de VM. Quando você quiser monitorar vários tipos de métricas, crie uma política com várias condições. Cada condição monitora um tipo de métrica. Depois de criar as condições, especifique como elas serão combinadas. Para mais informações, consulte Políticas com várias condições.
Para criar uma política de alertas com várias condições, faça o seguinte:
- Para cada outra condição, clique em Adicionar condição de alerta e configure-a.
- Clique em Próxima e configure como as condições são combinadas.
- Clique em Avançar para avançar para a configuração de notificações e documentação.
Configure as notificações:
Expanda o menu Notifications and name e selecione seus canais de notificação. Para fins de redundância, recomendamos que você adicione vários tipos de canais de notificação a uma política de alertas. Para saber mais, consulte Gerenciar canais de notificação.
Opcional: para receber uma notificação quando um incidente for fechado, selecione Notificar sobre interdição de incidentes. Por padrão, quando você cria uma política de alertas com o console do Google Cloud, uma notificação é enviada apenas quando um incidente é criado.
Opcional: para alterar o tempo que o Monitoring espera antes de fechar um incidente após a chegada dos dados, selecione uma opção no menu Duração do fechamento automático de incidentes. Por padrão, quando os dados param de chegar, o Monitoring aguarda sete dias antes de fechar um incidente aberto.
Selecione uma opção no menu Nível de gravidade da política. Incidentes e notificações mostram o nível de gravidade.
Opcional: para adicionar rótulos personalizados à política de alertas, na seção Rótulos do usuário da política, faça o seguinte:
- Clique em Adicionar rótulo e, no campo Chave, insira um nome para o rótulo. Os nomes de rótulos precisam começar com uma letra minúscula e podem conter letras minúsculas, numerais, sublinhados e traços.
Por exemplo, insira
severity
. - Clique em Valor e insira um valor para o rótulo. Os valores de rótulo podem conter letras minúsculas, numerais, sublinhados e traços.
Por exemplo, insira
critical
.
Para informações sobre como usar rótulos de política para ajudar a gerenciar alertas, consulte Anotar alertas com rótulos.
- Clique em Adicionar rótulo e, no campo Chave, insira um nome para o rótulo. Os nomes de rótulos precisam começar com uma letra minúscula e podem conter letras minúsculas, numerais, sublinhados e traços.
Por exemplo, insira
Opcional: na seção Documentação, insira o conteúdo que você quer incluir na notificação.
Para formatar sua documentação, use texto simples, Markdown e variáveis. Também é possível incluir links para ajudar os usuários a depurar o incidente, como links para manuais internos, painéis do Google Cloud e páginas externas. Por exemplo, o modelo de documentação a seguir 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 de condição e política de alertas. O modelo de documentação direciona os leitores para páginas externas para ajudar na depuração.Quando as notificações são criadas, o Monitoring substitui as variáveis da documentação pelos valores delas. Os valores substituem as variáveis somente nas notificações. O painel de visualização e outros locais no console do Google Cloud mostram apenas a formatação Markdown.
Visualizar
## 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
Formatar na notificação
Para mais informações, consulte Anotar alertas com documentação definida pelo usuário e Como usar controles de canal.
Clique em Nome e digite um nome para a política de alertas.
Clique em Criar política.
Filtrar a série temporal selecionada
Os filtros garantem que apenas série temporal que atendam a algum conjunto de critérios sejam monitoradas. Ao aplicar filtros, você reduz o número de linhas no gráfico, melhorando o desempenho dele. Também é possível reduzir a quantidade de dados monitorados aplicando a agregação. Os filtros garantem que somente séries temporais que atendam a algum conjunto de critérios sejam usadas. Quando você aplica filtros, há menos série temporal para avaliar, o que pode melhorar o desempenho do alerta.
Um filtro é composto por um rótulo, um comparador e um valor. Por exemplo, para corresponder a todas as série temporal em que o rótulo zone
começa com "us-central1"
, é possível usar o filtro zone=~"us-central1.*"
, que usa uma expressão regular para realizar a comparação.
Ao filtrar pelo ID do projeto ou pelo contêiner do recurso, é necessário usar o operador de igualdade (=)
. Ao filtrar por outros rótulos, você pode usar qualquer comparador compatível.
Normalmente, você pode filtrar rótulos de métricas e recursos e por grupo de recursos.
Quando você fornece vários critérios de filtragem, somente as série temporal que atendem a todos os critérios são monitoradas.
Para adicionar um filtro, clique em Adicionar filtro, preencha a caixa de diálogo e 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 o valor. Cada linha na tabela a seguir lista um operador de comparação, o significado dele 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 de 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 | 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 de | resource.labels.zone != one_of("asia-east1-b", "europe-north1-a") |