Criar políticas de alertas de ausência de métricas

Este documento descreve como usar o console do Google Cloud para criar uma política de alertas que envia notificações quando uma série de tempo monitorada não tem dados para um período específico.

As condições de ausência de métrica exigem pelo menos uma medição bem-sucedida, uma que recupere dados, dentro do período máximo após a instalação ou modificação da política. Esse período é chamado de tempo de ausência do acionador. O o tempo máximo de ausência de acionador configurável é de 23,5 horas.

Por exemplo, suponha que você defina o horário de ausência do gatilho como um valor de ausência de métrica. política para 30 minutos. A condição não será atendida quando o subsistema que grava dados de métrica nunca tiver gravado 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 notificam você quando um mensagem específica aparecer nos registros, consulte Como monitorar seus registros.

Este documento não descreve o seguinte:

Antes de começar

  1. Para 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 do IAM de Editor do Monitoring (roles/monitoring.editor) no 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 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.

  2. Familiarize-se com os conceitos gerais das políticas de alertas. Para informações sobre esses tópicos, consulte Informações gerais sobre 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 notificações quando uma série temporal monitorada não tiver dados para um tempo de ausência de acionador específico, 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 Monitoramento.

  2. Selecione Criar política.
  3. Selecione a série temporal que será monitorada:

    1. Clique em Selecionar uma métrica e navegue pelos menus para selecionar uma 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étrica disponíveis:

      • Para encontrar um tipo de métrica específico, use o Barra de filtros . Por exemplo, se você digitar util, restringir o menu a mostra entradas que incluem util. As entradas são mostradas quando passam em um teste "contains" indiferente a maiúsculas.

      É possível monitorar qualquer métrica integrada ou definida pelo usuário métrica.

    2. Opcional: para monitorar um subconjunto da série temporal que corresponde ao tipos de métricas e recursos que você selecionou na etapa anterior; Clique em Adicionar filtro. Na caixa de diálogo de filtro, selecione o rótulo que você quer 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 da zona comece com us e termine com a. Para mais informações, consulte Filtre a série temporal selecionada.

    3. Opcional: para mudar como os pontos de uma série temporal são alinhados, na seção Transformar dados, defina os campos Janela de rolagem e Função de janela de rolagem.

      Se você estiver monitorando uma métrica com base em registros, recomendamos que o menu Janela móvel seja definido para pelo menos 10 minutos.

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

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

      Para combinar todas as séries temporais, faça o seguinte:

      1. Na seção Em série temporal, Clique em Expandir.
      2. Defina o campo Agregação de séries temporais com um valor diferente de none. Por exemplo, para mostrar 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éries temporais por valores de rótulo, faça o seguinte:

      1. Na seção Em série temporal, Clique em Expandir.
      2. Defina o campo Agregação de séries temporais com um valor diferente de none.
      3. No campo Agrupar por série temporal, selecione os identificadores que serão usados para agrupar.

      Por exemplo, se você agrupar pelo rótulo zone e definir o campo de agregação para um valor de mean, o gráfico exibirá uma série temporal para cada zona com dados. O a série temporal mostrada para uma zona específica é a média de todas as séries temporais a essa zona.

    5. Clique em Próxima.

  4. Configure o gatilho de condição:

    1. Selecione Ausência de métrica como o tipo de condição.

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

      • Qualquer violação de série temporal: configuração padrão. Qualquer série temporal com dados ausentes durante todo o tempo de ausência do acionador faz com que a condição seja atendida.

      • Percent of série temporal violation: indica uma porcentagem de série temporal. precisa ter dados ausentes durante todo o tempo de ausência do acionador antes que a condição seja atendida. Por exemplo, você pode receber uma notificação quando 50% das séries temporais monitoradas não têm dados para todo o período de ausência do acionador.

      • Number of time series violates (Um número de séries temporais causa a violação): um número específico de séries temporais precisa ter dados ausentes durante todo o período de ausência do acionador antes que a condição seja atendida. Por exemplo, você pode receber uma notificação quando 32 das séries temporais monitoradas não tiverem dados para todo o tempo de ausência do acionador.

      • Todas série temporal violam: todas as série temporal precisam ter dados ausentes durante todo o tempo de ausência do acionador 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 novo teste.

    3. Especifique por quanto tempo os dados da métrica precisam estar ausentes antes Monitoramento notifica você usando o campo Horário de ausência do acionador.

    4. Clique em Próxima.

  5. 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 para monitorar vários tipos de métrica, crie uma política com várias condições. Cada condição monitora um tipo de métrica. Depois de criar as condições, você especifica como as condições 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 configurar essa condição.
    2. Clique em Próxima e configure como as condições são combinadas.
    3. Clique em Next para acessar as notificações e a documentação. configurar.
  6. Configure as notificações:

    1. Expanda o menu Notificações e nome e selecione sua notificação. canais. Para fins de redundância, recomendamos que você adicione a uma política de alertas vários tipos de canais de notificação. Para mais informações, consulte Gerenciar canais de notificação.

    2. Opcional: para receber uma notificação quando um incidente for encerrado, 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.

    3. Opcional: para alterar o tempo que o Monitoring espera antes de como encerrar um incidente depois que os dados param de chegar, selecione uma opção 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.

    4. Selecione uma opção no menu Nível de gravidade da política. Incidentes e as notificações mostram o nível de gravidade.

    5. Opcional: para adicionar rótulos personalizados à política de alertas, no Marcadores de usuário da política, faça o seguinte:

      1. Clique em Adicionar rótulo e, no campo Chave, digite um nome para o rótulo. 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 digite 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 os rótulos de políticas para gerenciar as notificações, consulte Anexar rótulos a incidentes.

  7. Opcional: na seção Documentação, insira o conteúdo que quiser. incluído na notificação.

    Para formatar sua documentação, use texto simples, Markdown e variables. Você também pode inclua links para ajudar os usuários a depurar o incidente, como como links para playbooks internos, painéis do Google Cloud e recursos páginas de destino. Por exemplo, o modelo de documentação a seguir descreve um modelo de uso do Google para um recurso gce_instance e inclui várias variáveis para fazer referência à política de alertas e à condição REST do Google Cloud. 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 com os 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 para mostrar 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

    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 os controles de canal.

  8. Clique em Nome e digite um nome para a política de alertas.

  9. Clique em Criar política.

Filtrar a série temporal selecionada

Os filtros garantem que somente séries temporais que atendam a algum conjunto de critérios sejam monitoradas. Ao aplicar filtros, você pode reduzir o número de linhas no gráfico, o que pode melhorar a performance 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 série temporal cujo rótulo zone começa com "us-central1", você pode 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 de recursos, use o operador de igualdade, (=). Ao filtrar por outros rótulos, use qualquer comparador compatível. Normalmente, é possível filtrar rótulos de métricas e recursos, além de grupos de recursos.

Quando você fornece vários critérios de filtragem, somente as séries temporais 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, em seguida, o 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"
!= Inequality 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 dos resource.labels.zone != one_of("asia-east1-b", "europe-north1-a")