Criar políticas de alertas com base em métricas

Mantenha tudo organizado com as coleções Salve e categorize o conteúdo com base nas suas preferências.

Neste documento, descrevemos como usar o Console do Google Cloud para criar uma política de alertas que monitora uma métrica. Por exemplo, uma política de alertas que monitora o uso da CPU de uma máquina virtual (VM) pode notificar uma equipe de plantão quando a política for acionada. Por outro lado, uma política que monitora uma verificação de tempo de atividade pode notificar equipes de plantão e desenvolvimento.

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:

Antes de começar

  1. Verifique se o papel do Identity and Access Management inclui as permissões no papel roles/monitoring.alertPolicyEditor. Para mais informações sobre papéis, consulte Controle de acesso.

  2. Verifique se você conhece os conceitos gerais das políticas de alertas. Para informações sobre esses tópicos, consulte Introdução a alertas.

  3. Configure os canais de notificação que você quer usar para receber alertas. Para ver informações sobre essas etapas, consulte Gerenciar canais de notificação.

    Para fins de redundância, recomendamos que você crie vários tipos de canais de notificação. Para mais informações, consulte Gerenciar canais de notificação.

Criar políticas de alerta

Nesta seção, descrevemos como criar uma política de alertas.

Por padrão, quando você inicia o fluxo de alerta de criação com o Console do Google Cloud, uma interface orientada por menu é exibida. Use esses menus para selecionar o tipo de métrica que você quer monitorar e para configurar a política. O menu de seleção de métricas lista todos os tipos de métricas geradas pelos serviços do Google Cloud e os tipos de métricas personalizadas que você definiu, desde que haja dados para o tipo de métrica. Para informações sobre as etapas na caixa de diálogo padrão, consulte Padrão de criação do fluxo de política de alertas.

Para criar um alerta para um tipo de métrica diferente de um tipo de métrica gerado por um serviço do Google Cloud ou tipos de métricas personalizadas que você definiu, use um dos fluxos especializados de alerta de criação. Por exemplo, a página Serviços no Console do Google Cloud contém um fluxo guiado de alertas de criação específico para o monitoramento de objetivos de nível de serviço (SLO). Para informações sobre os tipos especializados de políticas de alertas que podem ser do seu interesse, consulte os seguintes artigos:

Fluxo padrão da política de criação de alertas

Nesta seção, descrevemos como criar uma política de alertas que monitora um tipo de métrica integrada ou um tipo de métrica personalizada que você cria. As políticas descritas nesta seção descrevem quando uma métrica está ausente ou quando uma métrica está acima ou abaixo de um limite estático. Para criar uma política que compare o valor de uma série temporal com um limite dinâmico, use MQL.

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.

Para criar uma política de alertas que monitore uma métrica, faça o seguinte:

  1. No Console do Google Cloud, selecione Monitoring ou clique no seguinte botão:
    Acessar o Monitoring

  2. No painel de navegação, selecione Alertas e clique em Criar política.

  3. Selecione a série temporal que será monitorada:

    1. Clique em Selecionar uma métrica e insira na barra de filtro o nome do tipo de métrica ou de recurso de seu interesse. Por exemplo, se você inserir "instância de VM" na barra de filtro, somente os tipos de métrica de instâncias de VM serão listados. Se você inserir "CPU", os menus só exibirão tipos de métricas que contêm "CPU" no nome.

    2. Navegue pelos menus para selecionar uma métrica e clique em Aplicar.

      Se o tipo de métrica que você quer monitorar não estiver listado, desative Mostrar apenas recursos ativos e métricas no menu Selecionar uma métrica. Para mais informações, consulte Solução de problemas: métrica não listada no menu.

    3. Opcional: para monitorar um subconjunto da série temporal que corresponda 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 para 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érie temporal cujo nome de zona começa com us e termina com a. Veja mais informações em Filtrar os dados selecionados.

  4. Opcional: para alterar a forma como os pontos de uma série temporal são alinhados, defina a Janela contínua e a Função de janela contínua na seção Transformar dados.

    Esses campos especificam como os pontos gravados em uma janela são combinados. Por exemplo, suponha que a janela seja de 15 minutos e a função da janela seja max. O ponto alinhado é o valor máximo de todas as amostras registradas nos 15 minutos mais recentes. Para mais informações, consulte Alinhar a série temporal.

  5. Opcional: combine séries temporais quando quiser reduzir o número de séries monitoradas por uma política ou quando quiser monitorar apenas uma coleção de séries temporais. Por exemplo, é possível monitorar a utilização da CPU das suas instâncias de VM em média por zona.

    Para combinar séries temporais, clique em Expandir no cabeçalho Em série temporal. Por padrão, as séries temporais não são combinadas.

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

    1. Defina o campo Agregação de séries temporais com um valor diferente de none. Por exemplo, quando você seleciona mean, cada ponto da série temporal exibida é a média de pontos da série temporal individual.

    2. 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. Defina o campo Agregação de séries temporais com um valor diferente de none.
    2. No campo Agrupar por série temporal, selecione um ou mais identificadores que serão usados para agrupar.

    Por exemplo, se você agrupar por zone e definir o campo de agregação como mean, o gráfico exibirá uma série temporal para cada zona. A série temporal mostrada para uma zona específica é a média de todas as séries temporais com essa zona.

    Os campos Transformação de dados secundários são desativados por padrão. Quando ativadas, essas operações são aplicadas após a transformação de dados principal

    Para mais informações, consulte Combinar séries temporais.

  6. Clique em Próxima e configure o gatilho de condição:

    1. Deixe o campo Tipo de condição com o valor padrão de Limite, a menos que você queira receber uma notificação quando os dados pararem de chegar. Nesse caso, selecione Ausência de métrica. A configuração padrão compara o valor de uma métrica com um limite.

    2. Para condições de ausência de métrica, faça o seguinte:

      1. Selecione um valor para o menu Gatilho de alerta. Nesse menu, é possível especificar o subconjunto de séries temporais que precisam ser atendidas antes que a condição seja acionada.
      2. Especifique quanto tempo os dados da métrica precisam ficar ausentes antes que o alerta notifique você usando o campo Trigger trigger time.
    3. Para as condições de limite, faça o seguinte:

      1. Selecione um valor para o menu Gatilho de alerta. Nesse menu, é possível especificar o subconjunto de séries temporais que precisam ser atendidas antes que a condição seja acionada.

      2. Insira quando o valor de uma métrica viola o limite usando os campos Posição de limite e Valor do limite. Por exemplo, se você definir esses valores como Acima do limite e 0.3, qualquer medição maior que 0.3 violará o limite.

      3. Opcional: para selecionar o tempo de medição das violações antes de gerar um incidente, expanda Opções avançadas e use o menu Testar janela novamente.

        O valor padrão é Não testar novamente. Com essa configuração, uma única medição pode resultar em uma notificação. Para ver mais informações e um exemplo, consulte Período de alinhamento e duração.

      4. Opcional: para especificar como o Monitoring avalia a condição quando os dados param de chegar, expanda as Opções avançadas e use o menu Avaliação de dados ausentes. Para ativar esse menu, defina a Janela de novo teste com um valor diferente de Não testar novamente.

        Console do Google Cloud
        "Ausência de campo de dados para avaliação
        Resumo Detalhes
        Dados ausentes vazios Os incidentes abertos permanecem abertos.
        Novos incidentes não são abertos.

        Nas condições atendidas, ela continua sendo atendida quando os dados param de chegar. Se um incidente estiver aberto para essa condição, ele permanecerá aberto. Quando um incidente está aberto e nenhum dado é recebido, o timer de fechamento automático é iniciado após um atraso de pelo menos 15 minutos. Se o timer expirar, o incidente será fechado.

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

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

        Nas condições atendidas, ela continua sendo atendida quando os dados param de chegar. Se um incidente estiver aberto para essa condição, ele permanecerá aberto. Quando um incidente está aberto e nenhum dado é recebido durante o fechamento automático mais 24 horas, ele é encerrado.

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

        Pontos de dados ausentes tratados como valores que não violam a condição da política Os incidentes abertos estão fechados.
        Novos incidentes não são abertos.

        Nas condições atendidas, a condição deixa de ser atendida quando os dados param de chegar. Se um incidente estiver aberto para essa condição, ele será encerrado.

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

  7. Opcional: criar 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é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, 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 e configure-a usando as etapas anteriores.
    2. Depois de adicionar todas as condições, selecione como essas condições são combinadas na etapa Gatilho de várias condições.
  8. Clique em Próxima para acessar a página Notificações e nome.

  9. Expanda o menu Canais de notificação e selecione seus canais de notificação.

    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 sobre essas recomendações, consulte Gerenciar canais de notificação.

  10. Opcional: para receber uma notificação quando um incidente for fechado, selecione Notificar sobre o fechamento 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.

  11. Opcional: para alterar o tempo que o Monitoring aguarda 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.

  12. Opcional: para adicionar rótulos personalizados à política de alertas, na seção Rótulos de usuário da política, faça o seguinte:

    1. Clique em Adicionar marcador e, no campo Chave, digite um nome para ele. 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.
    2. Clique em Valor e insira um valor para o rótulo. Os valores de identificador podem conter letras minúsculas, numerais, sublinhados e traços. Por exemplo, insira critical.

    Para informações sobre como usar os rótulos de políticas para gerenciar alertas, consulte Adicionar níveis de gravidade a uma política de alertas.

  13. Opcional: para incluir documentação personalizada com uma notificação, insira esse conteúdo na seção Documentação.

    Para formatar a documentação, use o Markdown. Para extrair informações da própria política e personalizar o conteúdo da documentação, use variáveis. Por exemplo, a documentação pode incluir um título como Addressing High CPU Usage e detalhes que identificam o projeto:

    ## Addressing High CPU Usage
    
    This note contains information about high CPU Usage.
    
    You can include variables in the documentation. For example:
    
    This alert originated from the project ${project}, using
    the variable $${project}.
    

    Quando as notificações são criadas, o Monitoring substitui as variáveis pelos valores. 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:

    Exemplo de gravação de uma observação de documentação usando o markdown.

    Para informações sobre Markdown e variáveis, consulte Como usar Markdown e variáveis em modelos de documentação.

    Para mais informações sobre como incluir tags específicas do canal para controlar as notificações, consulte Como usar os controles do canal.

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

  15. Clique em Criar política.

Criar uma política de alertas de taxa de mudança

Para receber uma notificação quando a taxa de mudança de uma métrica exceder um limite, crie uma política de alertas de taxa de mudança. Por exemplo, para receber uma notificação quando o uso da CPU aumentar muito rapidamente, crie esse tipo de política.

Para criar esse tipo de política, siga as etapas descritas em Fluxo de política de alertas de criação padrão. No entanto, certifique-se de definir o campo Função de janela contínua como porcentagem de alterações.

Quando você seleciona a função porcentagem de alterações, o Monitoring faz o seguinte:

  1. Se a série temporal tiver um tipo de métrica DELTA ou CUMULATIVE, a série temporal 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. A porcentagem de computação é alterada comparando o valor médio da janela mais recente de 10 minutos com o valor médio da janela de 10 minutos antes da janela de novo teste.

    A janela de lookback de 10 minutos é um valor fixo; não é possível alterá-la. No entanto, você especifica a janela de novo teste ao criar uma condição.

Criar uma política de alertas de integridade do processo

Para monitorar o número de processos em execução nas VMs que atendem às condições especificadas, crie uma política de alertas de integridade do processo. Por exemplo, é possível contar o número de processos iniciados pelo usuário raiz. Também é possível contar o número de processos com um comando de invocação que contém uma string específica. Uma política de alertas pode notificá-lo quando o número de processos é maior ou menor que um limite. Para informações sobre quais processos podem ser monitorados, consulte Processos monitorados.

As métricas de integridade do processo estão disponíveis quando o agente de operações ou o agente do Monitoring está em execução nos recursos monitorados. Para mais informações sobre os agentes, consulte Agentes do pacote de operações do Google Cloud.

Para monitorar a contagem de processos em execução em uma VM, faça o seguinte:

  1. No Console do Google Cloud, selecione Monitoring ou clique no seguinte botão:
    Acessar o Monitoring

  2. No painel de navegação, selecione Alertas e clique em Criar política.

  3. Selecione ? no cabeçalho da seção Selecionar métrica e, em seguida, selecione Modo de filtro direto na dica.

  4. Insira um filtro do Monitoring.

    Por exemplo, para contar o número de processos em execução em instâncias de VM do Compute Engine com um nome que inclua nginx, digite o seguinte:

    select_process_count("monitoring.regex.full_match(\".*nginx.*\")")
    resource.type="gce_instance"
    

    Para saber mais, acesse os recursos a seguir:

  5. Conclua a caixa de diálogo da política de alertas. Essas etapas são descritas apenas nesta seção. Para ver os detalhes completos, consulte Fluxo padrão da política de alertas de criação:

    1. Opcional: revise e atualize as configurações de transformação de dados.
    2. Clique em Próxima e configure o acionador da condição.
    3. Clique em Next e conclua as etapas de notificação e documentação.
    4. Clique em Nome e digite um nome para a política de alertas.
    5. Clique em Criar política.

Processos monitorados

Nem todos os processos em execução no sistema podem ser monitorados por uma condição de integridade do processo. Essa condição seleciona processos a serem monitorados usando uma expressão regular aplicada à linha de comando que invocou o processo. Quando o campo de linha de comando não está disponível, o processo não pode ser monitorado.

Uma maneira de determinar se um processo pode ser monitorado por uma condição de integridade do processo é analisar os processos ativos. Por exemplo, em um sistema Linux, é possível usar o comando ps:

    ps aux | grep nfs
    USER      PID  %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
    root      1598  0.0  0.0      0     0 ?        S<   Oct25   0:00 [nfsd4]
    root      1639  0.0  0.0      0     0 ?        S    Oct25   2:33 [nfsd]
    root      1640  0.0  0.0      0     0 ?        S    Oct25   2:36 [nfsd]

Quando uma entrada COMMAND está entre colchetes, por exemplo, [nfsd], as informações de linha de comando do processo não ficam disponíveis. Nessa situação, não é possível usar o Cloud Monitoring para monitorar o processo.

Criar uma política de alertas de SLO

Para receber uma notificação quando um sistema estiver correndo o risco de violar um objetivo de nível de serviço (SLO) definido, crie uma política de alertas. Por exemplo, um SLO de algum sistema pode ser que tenha 99% de disponibilidade durante uma semana. Um SLO diferente pode especificar que a latência possa exceder 300 ms em apenas 5% das solicitações em um período contínuo de 30 dias.

Para informações sobre como criar um alerta para um SLO, consulte os seguintes documentos:

Para criar uma política de alertas de SLO ao usar a API Cloud Monitoring, os dados fornecidos à API incluem o seletor de série temporal. Para informações sobre esses seletores, consulte Recuperar dados de SLO.

É possível criar uma política de alertas de SLO usando a interface de alertas no Console do Google Cloud. Para fazer isso, siga as etapas descritas em Criar uma política de alertas de integridade do processo. No entanto, quando chegar à etapa para inserir um filtro do Monitoring, insira um seletor de série temporal em vez de uma expressão de integridade do processo.

Criar uma política de alertas do grupo de recursos

Se você quiser monitorar uma coleção de recursos, em que a associação ao grupo é definida por alguns critérios, crie um grupo de recursos e monitore o grupo. Por exemplo, é possível definir um grupo de recursos para as instâncias de VM do Compute Engine que são usadas para produção. Depois de criar esse grupo, crie uma política de alertas que monitore apenas esse grupo de instâncias. Quando você adiciona uma VM que corresponde aos critérios do grupo, a política de alertas monitora automaticamente essa VM.

É possível criar uma política de alertas de grupo de recursos usando o Console do Google Cloud. Para fazer isso, siga as etapas descritas em Criar uma política de alertas de integridade do processo. No entanto, depois de selecionar a métrica, adicione um filtro que restrinja a série temporal aos que correspondem aos critérios do grupo.

Para criar uma política de alertas que monitore um grupo de recursos, faça o seguinte:

  1. No Console do Google Cloud, selecione Monitoring ou clique no seguinte botão:
    Acessar o Monitoring

  2. No painel de navegação, selecione Alertas e clique em Criar política.

  3. Selecione a série temporal que será monitorada:

    1. Clique em Selecionar uma métrica e insira na barra de filtro o nome do tipo de métrica ou de recurso de seu interesse. Por exemplo, se você inserir "instância de VM" na barra de filtro, somente os tipos de métrica de instâncias de VM serão listados. Se você inserir "CPU", os menus só exibirão tipos de métricas que contêm "CPU" no nome.

    2. Navegue pelos menus para selecionar uma métrica e clique em Aplicar.

      Se o tipo de métrica que você quer monitorar não estiver listado, desative Mostrar apenas recursos ativos e métricas no menu Selecionar uma métrica. Para mais informações, consulte Solução de problemas: métrica não listada no menu.

    3. Clique em Adicionar filtro e selecione Grupo.

    4. Expanda Valor e selecione o nome do grupo.

    5. Clique em Concluir.

  4. Conclua as etapas para configurar a política de alertas conforme descrito em Fluxo de política de alertas padrão de criação.

Criar uma política de alertas de verificação de tempo de atividade

Recomendamos que você crie uma política de alertas para receber notificações quando uma verificação de tempo de atividade falhar. A infraestrutura da verificação de tempo de atividade inclui um fluxo guiado de criação de alertas. Veja mais detalhes sobre essas etapas em Alertas de verificações de tempo de atividade.

Solução de problemas: métrica não listada no menu

Por padrão, os menus Selecionar uma métrica listam todos os tipos de métricas para os quais há dados. Por exemplo, se você não usar o Pub/Sub, esses menus não listarão nenhuma métrica do Pub/Sub.

É possível configurar um alerta mesmo quando os dados que você quer que o alerta monitore ainda não existam:

  • Para criar um alerta que monitore uma métrica do Google Cloud, siga as etapas descritas em Fluxo de política de alerta padrão de criação. No entanto, na etapa em que você seleciona uma métrica, desative a opção Mostrar apenas métricas ativas e métricas no menu Selecionar uma métrica. Quando desativado, o menu lista todas as métricas dos serviços do Google Cloud e todas as métricas com dados.

  • Para configurar um alerta para um tipo de métrica personalizada antes que esse tipo gere métricas de dados, siga as etapas descritas em Criar uma política de alertas de integridade do processo. Ao chegar na etapa para inserir um filtro do Monitoring, insira um filtro que especifique o tipo de métrica e o recurso. Veja a seguir um exemplo de filtro do Monitoring que especifica um tipo de métrica:

    metric.type="compute.googleapis.com/instance/disk/write_bytes_count"
    resource.type="gce_instance"