Este documento descreve como usar a Google Cloud consola para criar uma política de alertas que envia notificações quando a política prevê que o limite vai ser violado no período de previsão seguinte. Uma previsão prevê se um intervalo temporal vai ou não violar um limite máximo num período de previsão, que é um período no futuro. O período de previsão pode variar entre 1 hora (3600 segundos) e 2,5 dias (216 000 segundos).
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 uma notificação quando os dados deixam de chegar. Para mais informações, consulte o artigo Crie políticas de alerta de ausência de métricas.
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.
Acerca das condições de previsão
Pode usar a previsão quando monitoriza a maioria das métricas. No entanto, quando monitoriza um recurso restrito, como a quota, o espaço em disco ou a utilização de memória, uma condição de previsão pode enviar-lhe uma notificação antes de o limite ser violado. Essa capacidade dá-lhe mais tempo para responder à forma como esse recurso restrito está a ser consumido antes de o limite ser violado.
Para cada série cronológica que uma condição de previsão monitoriza, a condição instancia um algoritmo de decisão. Depois de o algoritmo ser preparado, gera uma previsão sempre que a condição é avaliada. Cada previsão é uma previsão de que a respetiva série cronológica vai violar ou não violar o limite no período de previsão. Se uma série cronológica monitorizada tiver uma periodicidade regular, o algoritmo de decisão para essa série cronológica incorpora o comportamento periódico nas respetivas previsões.
Uma condição de previsão é cumprida quando ocorre uma ou ambas as seguintes situações:
- Todos os valores de um intervalo temporal durante um período de novo teste específico violam o limite.
- Todas as previsões para uma série cronológica específica feitas num período de novo teste preveem que a série cronológica vai violar o limite no período de previsão.
O tempo de formação inicial de um algoritmo de decisão é o dobro da duração do período de previsão. Por exemplo, se o período de previsão for de uma hora, são necessárias duas horas de tempo de preparação. O algoritmo de decisão para cada série cronológica é preparado de forma independente. Enquanto um algoritmo de decisão está a ser preparado, a respetiva série cronológica cumpre a condição apenas quando os valores da série cronológica violam o limite para o período de novo teste especificado.
Após a conclusão da preparação inicial, cada algoritmo de decisão é preparado continuamente com dados que abrangem até seis vezes a duração do período de previsão. Por exemplo, quando a janela de previsão é de uma hora, as seis horas mais recentes de dados são usadas durante a formação contínua.
Quando configura uma condição de previsão e, em seguida, os dados deixam de chegar durante mais de 10 minutos, a previsão é desativada e a condição funciona como uma condição de limite métrico.
Os incidentes são criados quando a previsão prevê que uma série cronológica vai violar o limite da condição na janela de previsão. A monitorização fecha automaticamente o incidente quando a previsão prevê que a série cronológica não vai violar o limite no período de previsão.
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 uma notificação com base numa previsão, 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.
- Para mostrar todos os tipos de métricas, mesmo os que não têm dados, clique em Métrica não apresentada no menu. Ativo. Por predefinição, os menus apenas mostram tipos de métricas com dados. Para mais informações, consulte o artigo
Pode monitorizar qualquer métrica incorporada ou qualquer tipo de métrica definida pelo utilizador que tenha um tipo de valor de double ou int64, que seja uma métrica de restrição e que não seja uma métrica para uma instância de VM da Amazon.
Se selecionar um tipo de métrica que resulte em mais de 64 intervalos temporais a serem monitorizados, a monitorização faz previsões para os 64 intervalos temporais cujos valores estão mais próximos do limite ou que já violam o limite. Para outras séries cronológicas, os respetivos valores são comparados com o limite.
- 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.Também pode monitorizar a taxa de alteração de um valor de métrica usando o campo Função de intervalo móvel para percentagem de alteração. Para mais informações, consulte o artigo Monitorize uma taxa de variação.
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 Previsão 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 que viole o limite ou cuja violação do limite seja prevista para todo o período de novo teste faz com que a condição seja cumprida.
Percentagem de séries cronológicas que violam o limite: uma percentagem de séries cronológicas tem de violar o limite ou prever-se que viole o limite durante todo o período de novo teste antes de a condição ser cumprida. Por exemplo, pode receber uma notificação quando 50% das séries cronológicas monitorizadas violarem o limite durante todo o período de novo teste.
Número de séries cronológicas que violam o limite: um número específico de séries cronológicas tem de violar o limite ou prever-se que viole o limite durante todo o período de novo teste antes de a condição ser cumprida. Por exemplo, pode receber uma notificação quando 32 das séries cronológicas monitorizadas violarem o limite durante todo o período de novo teste.
Todas as séries cronológicas violam: todas as séries cronológicas têm de violar o limite ou ter uma previsão de violação do limite durante todo o período de novo teste 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.
Selecione um valor para o Período de previsão. O valor que selecionar é a quantidade de tempo no futuro para a previsão. Tem de definir este valor para, pelo menos, 1 hora (3600 segundos) e, no máximo, 2,5 dias (216 000 segundos).
Introduza quando o valor previsto da métrica selecionada viola o limite através dos campos Posição do limite e Valor do limite. Por exemplo, se definir estes valores como Acima do limite e
10
, qualquer valor previsto superior a10
viola o limite.Opcional: expanda Opções avançadas e defina o valor da Janela de novo teste. O valor predefinido deste campo é No retest.
Recomendamos que defina este campo para, pelo menos, 10 minutos.
Por exemplo, suponhamos que configura a condição de previsão de modo que qualquer série cronológica possa fazer com que a condição seja cumprida. Suponha também que o Período de novo teste está definido como 15 minutos, o Período de previsão está definido como 1 hora e ocorre uma violação quando o valor da série cronológica é superior ao Limite, que está definido como 10. A condição é cumprida se ocorrer uma das seguintes situações:
- Todos os valores de uma série cronológica tornam-se superiores a 10 e permanecem assim durante, pelo menos, 15 minutos.
- Num intervalo de 15 minutos, todas as previsões para uma série cronológica preveem que o respetivo valor vai aumentar acima do limite de 10 em algum momento na próxima hora.
Opcional: para especificar como a monitorização avalia a condição quando os dados deixam de chegar, expanda Opções avançadas e, de seguida, use o menu Avaliação de dados em falta.
O menu Dados em falta na avaliação está desativado quando o valor da Janela de novo teste é Sem novo teste.
Quando faltam dados durante mais de 10 minutos, uma condição de previsão deixa de fazer previsões e, em vez disso, usa o valor do campo Dados em falta de avaliação para determinar como gerir os incidentes. Quando as observações são reiniciadas, a previsão também é reiniciada.
Google Cloud console
Campo "Avaliação de dados em falta"Resumo Detalhes Dados em falta vazios Os incidentes abertos permanecem abertos.
Não são abertos novos incidentes.Para as condições que são cumpridas, a condição continua a ser cumprida quando os dados deixam de chegar. Se existir um incidente aberto para esta condição, o incidente permanece aberto. Quando um incidente está aberto e não chegam dados, o temporizador de encerramento automático começa após um atraso de, pelo menos, 15 minutos. Se o temporizador expirar, o incidente é encerrado.
Para as condições que não são cumpridas, a condição continua a não ser cumprida quando os dados deixam de chegar.
Os pontos de dados em falta são tratados como valores que violam a condição da política Os incidentes abertos permanecem abertos.
Podem ser abertos novos incidentes.Para as condições que são cumpridas, a condição continua a ser cumprida quando os dados deixam de chegar. Se existir um incidente aberto para esta condição, o incidente permanece aberto. Quando um incidente está aberto e não chegam dados durante o período de encerramento automático mais 24 horas, o incidente é encerrado.
Para as condições que não são cumpridas, esta definição faz com que a condição de limite métrico se comporte como um
metric-absence condition
. Se os dados não chegarem no período especificado pelo período de novo teste, a condição é avaliada como cumprida. Para uma política de alerta com uma condição, o cumprimento da condição resulta na abertura de um incidente.Os pontos de dados em falta são tratados como valores que não violam a condição da política Os incidentes abertos são fechados.
Não são abertos novos incidentes.Para as condições que são satisfeitas, a condição deixa de ser satisfeita quando os dados deixam de chegar. Se existir um incidente aberto para esta condição, o incidente é fechado.
Para as condições que não são cumpridas, a condição continua a não ser cumprida quando os dados deixam de chegar.
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") |
Resolver problemas
Esta secção contém sugestões de resolução de problemas.
A métrica não está listada no menu de métricas disponíveis
Para monitorizar uma métrica que não esteja listada no menu Selecionar uma métrica, faça uma das seguintes ações:
Para criar uma política de alertas que monitorize uma Google Cloud métrica, expanda o menu Selecionar uma métrica e, de seguida, clique em
Ativo. Quando está desativado, o menu apresenta todas as métricas para os serviçosGoogle Cloud e todas as métricas com dados.Para configurar uma condição para um tipo de métrica personalizada antes de esse tipo de métrica gerar dados, tem de especificar o tipo de métrica através de um filtro de monitorização:
- Selecione ? no cabeçalho da secção Selecionar métrica e, de seguida, selecione Modo de filtro direto na sugestão.
Introduza um filtro de monitorização ou um seletor de séries cronológicas. Para informações sobre a sintaxe, consulte os seguintes documentos:
Monitorize uma taxa de alteração
Para monitorizar a taxa de alteração de um valor de métrica, defina o campo Função de intervalo dinâmico como alteração percentual. Quando a condição é avaliada, a monitorização calcula a taxa de variação da métrica como uma percentagem e, em seguida, compara essa percentagem com o limite da condição. Este processo de comparação segue dois passos:
- Se o intervalo temporal tiver um tipo de métrica
DELTA
ouCUMULATIVE
, o intervalo temporal é convertido num que tenha um tipo de métricaGAUGE
. Para obter informações sobre a conversão, consulte o artigo Tipos e conversões. - A monitorização calcula a percentagem de alteração comparando o valor médio na janela deslizante de 10 minutos mais recente com o valor médio da janela deslizante de 10 minutos antes do início do período de alinhamento.
Não pode alterar o intervalo móvel de 10 minutos usado para comparações numa política de alerta de taxa de variação. No entanto, especifica o período de alinhamento quando cria a condição.
Restrições
- Pode configurar a condição através da interface orientada por menus da Google Cloud consola ou através de filtros de monitorização. Não pode configurar a condição através da linguagem de consulta de monitorização ou do PromQL.
- Todas as métricas que têm um tipo de valor de double ou int64 são suportadas, exceto as das instâncias de VM da Amazon.
O que se segue?
- Para criar uma política que compare o valor de uma série cronológica com um limite dinâmico, tem de usar MQL. Para mais informações, consulte o artigo Crie níveis de gravidade dinâmicos com a MQL.