Criar políticas de alertas de valor de métrica previsto

As políticas de alertas de valor de métrica previstas no Cloud Monitoring enviam notificações quando uma previsão indica que uma série temporal vai ultrapassar um limite definido em uma janela de previsão futura. Use o console doGoogle Cloud para configurar uma janela de previsão de 1 hora (3.600 segundos) a 2,5 dias (216.000 segundos) para que você tenha tempo de responder antes que ocorra uma violação de limite.

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 notificam quando uma mensagem específica aparece nos registros, consulte Monitorar seus registros.

Para receber notificações quando os valores atuais da métrica ultrapassarem um limite ou quando os dados pararem de chegar, consulte Criar políticas de alertas de limite de métrica e Criar políticas de alertas de ausência de métrica. Para criar políticas de alertas de maneira programática usando a API Cloud Monitoring, consulte Criar políticas de alertas usando a API. Para criar políticas de alertas que usam consultas da Linguagem de consulta do Monitoring (MQL) com limites estáticos ou dinâmicos, consulte Políticas de alertas com MQL e Criar níveis de gravidade dinâmicos usando MQL.

Esse recurso é compatível apenas com projetos do Google Cloud . Para configurações do App Hub, selecione o projeto host ou de gerenciamento do App Hub.

Sobre as condições de previsão

É possível usar a previsão ao monitorar a maioria das métricas. No entanto, ao monitorar um recurso restrito, como cota, espaço em disco ou uso da memória, uma condição de previsão pode notificar você antes que o limite seja violado. Assim, você tem mais tempo para responder a como esse recurso restrito está sendo consumido antes que o limite seja violado.

Para cada série temporal monitorada por uma condição de previsão, a condição instancia um algoritmo de decisão. Depois que esse algoritmo é treinado, ele gera uma previsão sempre que a condição é avaliada. Cada previsão é uma estimativa de que a série temporal vai ou não violar o limite dentro da janela de previsão. Se uma série temporal monitorada tiver uma periodicidade regular, o algoritmo de decisão para essa série temporal vai incorporar o comportamento periódico nas previsões.

Uma condição de previsão é atendida quando uma ou ambas as situações a seguir ocorrem:

  • Todos os valores de uma série temporal durante uma janela de novo teste específica violam o limite.
  • Todas as previsões para uma série temporal específica feitas em uma janela de reteste preveem que a série temporal vai violar o limite dentro da janela de previsão.

O tempo de treinamento inicial de um algoritmo de decisão é o dobro da duração da janela de previsão. Por exemplo, se a janela de previsão for de uma hora, serão necessárias duas horas de treinamento. O algoritmo de decisão para cada série temporal é treinado de forma independente. Enquanto um algoritmo de decisão está sendo treinado, a série temporal dele atende à condição somente quando os valores da série temporal violam o limite da janela de reteste especificada.

Depois que o treinamento inicial é concluído, cada algoritmo de decisão é treinado continuamente usando dados que abrangem até seis vezes o comprimento da janela 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 o treinamento contínuo.

Quando você configura uma condição de previsão e os dados param de chegar por mais de 10 minutos, a previsão é desativada e a condição opera como uma condição de limite de métrica.

Os alertas são criados quando a previsão indica que uma série temporal vai violar o limite da condição dentro da janela de previsão. O Monitoring fecha automaticamente o alerta quando a previsão indica que a série temporal não vai violar o limite dentro da janela de previsão.

Antes de começar

  1. Para receber 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 do IAM de Editor do Monitoring (roles/monitoring.editor) no seu projeto. Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.

    Também é possível conseguir as permissões necessárias usando papéis personalizados ou 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.

  2. Familiarize-se com os conceitos gerais das políticas de alertas. Para informações sobre esses tópicos, consulte Visão geral de alertas.

  3. Configure os canais de notificação que você quer usar para receber notificações. 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 uma notificação com base em uma previsão, faça o seguinte:

  1. No console do Google Cloud , acesse a página  Alertas:

    Acessar Alertas

    Se você usar a barra de pesquisa para encontrar essa página, selecione o resultado com o subtítulo Monitoring.

  2. Na barra de ferramentas do console Google Cloud , selecione seu projeto Google Cloud . Para configurações do App Hub, selecione o projeto host ou de gerenciamento do App Hub.
  3. Selecione Criar política.
  4. Selecione a série temporal que será monitorada:

    1. 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 a encontrar os tipos de métricas disponíveis:

      • Para encontrar um tipo de métrica específico, use a barra de filtro. Por exemplo, se você inserir util, o menu vai mostrar apenas as entradas que incluem util. As entradas são mostradas quando passam em um teste "contém" que não diferencia maiúsculas de minúsculas.
      • Para mostrar todos os tipos de métricas, mesmo aquelas sem dados, clique em Ativo. Por padrão, os menus mostram apenas tipos de métricas com dados. Para mais informações, consulte Métrica não listada no menu.

      É possível monitorar qualquer métrica integrada ou qualquer tipo de métrica definida pelo usuário que tenha um tipo de valor 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 você selecionar um tipo de métrica que resulte no monitoramento de mais de 64 série temporal, o Monitoring fará previsões para as 64 série temporal com valores mais próximos do limite ou que já o violam. Para outras série temporal, os valores são comparados ao limite.

    2. Opcional: para monitorar um subconjunto das série temporal que correspondem 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 pelo qual filtrar, 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 cujo nome de zona começa com us e termina com a. Para mais informações, consulte Filtrar a série temporal selecionada.

    3. Opcional: para mudar 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 de janela contínua.

      Se você estiver monitorando uma métrica com base em registros, recomendamos que o menu Janela contínua seja definido como pelo menos 10 minutos.

      Esses campos especificam como os pontos registrados em uma janela são combinados. Por exemplo, suponha que a janela seja de 15 minutos e a função de janela seja max. O ponto alinhado é o valor máximo de todos os pontos nos 15 minutos mais recentes. Para mais informações, consulte Alinhamento: regularização dentro da série.

      Também é possível monitorar a taxa de mudança de um valor de métrica usando o campo Função de janela contínua para mudança percentual. Para mais informações, consulte Monitorar uma taxa de mudança.

    4. Opcional: combine série temporal quando quiser reduzir o número de série temporal monitoradas por uma política ou quando quiser monitorar apenas uma coleção de série temporal. Por exemplo, em vez de monitorar a utilização da CPU de cada instância de VM, talvez seja melhor calcular a média da utilização da CPU de todas as VMs em uma zona e monitorar essa média. Por padrão, as série temporal não são combinadas. Para informações gerais, consulte Redução: como combinar séries temporais.

      Para combinar todas série temporal, faça o seguinte:

      1. Na seção Nas séries temporais, clique em Expandir.
      2. Defina o campo Agregação de série temporal com um valor diferente de none. Por exemplo, para exibir o valor médio da série temporal, selecione mean.
      3. 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:

      1. Na seção Nas séries temporais, clique em Expandir.
      2. Defina o campo Agregação de série temporal como um valor diferente de none.
      3. No campo Agrupar por série temporal, 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 de mean, o gráfico vai mostrar uma série temporal para cada zona com dados. A série temporal mostrada para uma zona específica é a média de todas as séries temporais com essa zona.

    5. Clique em Próxima.

  5. Configure o gatilho de condição:

    1. Selecione Previsão para o tipo de condição.

    2. Opcional: atualize o menu Acionador de alerta, que tem os seguintes valores:

      • Qualquer série temporal causa violação: é a configuração padrão. Qualquer série temporal que viole o limite ou que tenha previsão de violar o limite durante toda a janela de reteste faz com que a condição seja atendida.

      • Porcentagem de violações de série temporal: uma porcentagem de séries temporais precisa violar o limite ou ter previsão de violação durante toda a janela de reteste antes que a condição seja atendida. Por exemplo, você pode receber uma notificação quando 50% das série temporal monitoradas violarem o limite em toda a janela de novo teste.

      • Número de série temporal que violam: um número específico de série temporal precisa violar o limite ou ter previsão de violar o limite durante toda a janela de novo teste antes que a condição seja atendida. Por exemplo, você pode ser notificado quando 32 das série temporal monitoradas violarem o limite durante toda a janela de novo teste.

      • Todas as série temporal causam a violação: todas as série temporal precisam violar o limite ou ter previsão de violação durante toda a janela de reteste antes que a condição seja atendida.

      Para informações sobre os intervalos que o Monitoring usa para alinhar e medir dados de série temporal, consulte Períodos de alinhamento e janelas de reteste.

    3. Selecione um valor para a Janela de previsão. O valor selecionado é o período no futuro para a previsão. É preciso definir esse valor como pelo menos 1 hora (3.600 segundos) e, no máximo, 2,5 dias (216.000 segundos).

    4. Insira quando o valor previsto da métrica selecionada violar o limite usando os campos Posição do limite e Valor do limite. Por exemplo, se você definir esses valores como Acima do limite e 10, qualquer valor previsto maior que 10 vai violar o limite.

    5. Opcional: expanda Opções avançadas e defina o valor do Período de reteste. O valor padrão desse campo é Nenhum reteste.

      Recomendamos que você defina esse campo como pelo menos 10 minutos.

      Por exemplo, suponha que você configure a condição de previsão de modo que qualquer série temporal possa fazer com que a condição seja atendida. Também suponha que a Janela de reteste esteja definida como 15 minutos, a Janela de previsão esteja definida como 1 hora e que uma violação ocorra quando o valor da série temporal for maior que o Limite, que está definido como 10. A condição é atendida se uma das seguintes situações ocorrer:

      • Todos os valores de uma série temporal se tornam maiores que 10 e permanecem assim por pelo menos 15 minutos.
      • Em um intervalo de 15 minutos, cada previsão para uma série temporal prevê que o valor dela vai subir acima do limite de 10 em algum momento na próxima hora.
    6. Opcional: para especificar como o Monitoring avalia a condição quando os dados param de chegar, expanda Opções avançadas e use o menu Avaliação de dados ausentes.

      O menu Dados ausentes da avaliação fica desativado quando o valor da Janela de novos testes é Sem novos testes.

      Quando os dados estão ausentes por mais de 10 minutos, uma condição de previsão para de fazer previsões e usa o valor do campo Dados ausentes da avaliação para determinar como gerenciar alertas. Quando as observações são reiniciadas, a previsão também é.

      CampoGoogle Cloud console
      "Avaliação de dados ausentes"
      Resumo Detalhes
      Dados ausentes: vazio Os alertas abertos permanecem abertos.
      Novos Alertas do Notícias não são abertos.

      Para condições que são atendidas, a condição continua sendo atendida quando os dados param de chegar. Se um alerta estiver aberto para essa condição, ele vai continuar aberto. Quando um alerta está aberto e não chegam dados, o timer de fechamento automático começa após um atraso de pelo menos 15 minutos. Se o timer expirar, o alerta será encerrado.

      Para condições que não são atendidas, a condição continua não sendo atendida quando os dados param de chegar.

      Pontos de dados ausentes tratados como valores que violam a condição da política Os alertas abertos permanecem abertos.
      Novos alertas podem ser abertos.

      Para condições que são atendidas, a condição continua sendo atendida quando os dados param de chegar. Se um alerta estiver aberto para essa condição, ele vai continuar aberto. Quando um alerta está aberto e não chegam dados durante o período de fechamento automático mais 24 horas, ele é fechado.

      Para condições que não são atendidas, essa configuração faz com que a condição de limite de métrica se comporte como um metric-absence condition. Se os dados não chegarem no tempo especificado pela janela de novo teste, a condição será avaliada como atendida. Em uma política de alertas com uma condição, o atendimento da condição resulta na abertura de um alerta.

      Pontos de dados ausentes tratados como valores que não violam a condição da política Os alertas abertos são fechados.
      Novos Alertas do Notícias não são abertos.

      Para condições que são atendidas, a condição deixa de ser atendida quando os dados param de chegar. Se um alerta estiver aberto para essa condição, ele será fechado.

      Para condições que não são atendidas, a condição continua não sendo atendida quando os dados param de chegar.

    7. Clique em Próxima.

  6. 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. Para 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 sã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:

    1. Para cada condição adicional, clique em Adicionar condição de alerta e configure essa condição.
    2. Clique em Próxima e configure como as condições são combinadas.
    3. Clique em Próxima para avançar para a configuração de notificações e documentação.
  7. Configure a notificação e adicione rótulos de usuário:

    1. Abra o menu Notificações e nome 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.

    2. Opcional: para usar uma linha de assunto personalizada na notificação em vez da padrão, atualize o campo Linha de assunto da notificação.

    3. Opcional: para receber uma notificação quando um alerta for fechado, selecione Notificar sobre o fechamento de alertas. Por padrão, quando você cria uma política de alertas com o console Google Cloud , uma notificação é enviada apenas quando um alerta é criado.

    4. Opcional: para mudar o tempo que o Monitoring espera antes de fechar um alerta depois que os dados param de chegar, selecione uma opção no menu Duração do fechamento automático do alerta. Por padrão, quando os dados param de chegar, o Monitoring espera sete dias antes de fechar um alerta aberto.

    5. Opcional: para associar sua política de alertas a um aplicativo do App Hub, na seção Rótulos de aplicativos, selecione um aplicativo e um serviço ou uma carga de trabalho. Alertas e notificações mostram esses rótulos.

    6. Opcional: selecione uma opção no menu Nível de gravidade da política. Os alertas e as notificações mostram o nível de gravidade.

    7. 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:

      1. Clique em Adicionar marcador e, no campo Chave, insira um nome para o marcador. Os nomes dos rótulos precisam começar com uma letra minúscula e podem conter letras minúsculas, números, sublinhados e traços. Por exemplo, insira severity.
      2. 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 saber como usar rótulos de política para gerenciar suas notificações, consulte Anotar alertas com rótulos.

  8. 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 alerta, como links para playbooks internos, painéis do Google Cloud e páginas externas. Por exemplo, o modelo de documentação a seguir descreve um alerta de uso da CPU para um recurso gce_instance e inclui várias variáveis para fazer referência à política de alertas e aos recursos REST de condição. O modelo de documentação direciona os leitores a páginas externas para ajudar na depuração.

    Quando as notificações são criadas, o Monitoring substitui as variáveis de documentação pelos valores delas. Os valores substituem as variáveis somente nas notificações. O painel de visualização e outros lugares no console do Google Cloud mostram apenas a formatação do 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
    

    Formato na notificação

    Exemplo de como a documentação é renderizada em uma notificação.

    Para mais informações, consulte Anotar notificações com documentação definida pelo usuário e Como usar controles de canal.

  9. Clique em Nome do alerta e insira um nome para a política de alertas.

  10. Clique em Criar política.

Filtrar a série temporal selecionada

Os filtros garantem que apenas as série temporal que atendem a um conjunto de critérios sejam monitoradas. Ao aplicar filtros, é possível reduzir o número de linhas no gráfico, o que pode melhorar o desempenho dele. Você também pode 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 cujo rótulo zone começa com "us-central1", use o filtro zone=~"us-central1.*", que usa uma expressão regular para fazer a comparação.

Ao filtrar pelo ID do projeto ou pelo contêiner de recursos, use o operador de igualdade, (=). Ao filtrar por outros rótulos, é possível usar qualquer comparador compatível. Normalmente, é possível 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 de filtragem, o operador de comparação e o valor. O menu suspenso lista apenas os valores que aparecem na última semana, mas é possível inserir qualquer valor. Cada linha na tabela a seguir lista um operador de comparação, o significado dele e um exemplo:

OperadorSignificadoExemplo
= 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 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 resource.labels.zone != one_of("asia-east1-b", "europe-north1-a")

Resolver problemas

Esta seção contém dicas de solução de problemas.

Métrica não listada no menu de métricas disponíveis

Para monitorar uma métrica que não está listada no menu Selecionar uma métrica, siga um destes procedimentos:

  • Para criar uma política de alertas que monitora uma métrica do Google Cloud , expanda o menu Selecionar uma métrica e clique em Ativo. Quando desativado, o menu lista todas as métricas dos serviços doGoogle Cloud e todas as métricas com dados.

  • Para configurar uma condição para um tipo de métrica personalizada antes que ele gere dados, especifique o tipo de métrica usando um filtro do Monitoring:

    1. Selecione ? no cabeçalho da seção Selecionar métrica e, em seguida, selecione Modo de filtro direto na dica.
    2. Insira um filtro do Monitoring ou um seletor de série temporal. Para informações sobre sintaxe, consulte os seguintes documentos:

Monitorar uma taxa de mudança

Para monitorar a taxa de mudança de um valor de métrica, defina o campo Função de janela de rolagem como Mudança percentual. Quando a condição é avaliada, o Monitoring calcula a taxa de alteração da métrica como uma porcentagem e, em seguida, compara essa porcentagem com o limite da condição. Esse processo de comparação segue duas etapas:

  1. Se a série temporal tiver um tipo de métrica DELTA ou CUMULATIVE, ela será convertida em uma que tenha um tipo de métrica GAUGE. Para informações sobre a conversão, consulte Tipos, tipos e conversões.
  2. O Monitoring calcula a porcentagem de mudança 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 é possível alterar a janela deslizante de 10 minutos usada para comparações em uma política de alertas de taxa de alteração. No entanto, você especifica o período de alinhamento ao criar a condição.

Restrições

  • É possível configurar a condição usando a interface orientada por menu do console doGoogle Cloud ou usando filtros do Monitoring. Não é possível configurar a condição usando a linguagem de consulta do Monitoring ou o PromQL.
  • Todas as métricas que têm um tipo de valor double ou int64 são compatíveis, exceto as de instâncias de VM da Amazon.

A seguir