Selecionar e configurar métricas

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

Neste documento, descrevemos os campos definidos ao configurar a condição de uma política de alertas. Normalmente, você cria uma política de alertas quando quer ser notificado quando os dados de série temporal, como o uso da CPU de uma máquina virtual, atendem a determinadas condições. 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.

Neste documento, usamos a terminologia usada pela interface orientada por menu do Console do Google Cloud. No entanto, as informações conceituais são aplicáveis a todas as abordagens que podem ser usadas para criar uma política de alertas. Para informações sobre como usar a API Cloud Monitoring, consulte Políticas de alertas na API Cloud Monitoring.

Selecionar os dados a serem exibidos

Ao especificar as métricas a serem exibidas ao criar uma política de alertas, você especifica valores para uma métrica e um tipo de recurso:

Para configurar uma condição em uma política de alertas, use a API Cloud Monitoring ou o console do Google Cloud. A caixa de diálogo padrão usada para criar uma política de alertas quando usa o Console do Google Cloud é orientada por menus. No entanto, se você prefere usar a Monitoring Query Language (MQL), configure o Console do Google Cloud para ativar um editor de MQL.

Nem todas as séries temporais podem ser representadas com uma métrica e um modelo de recurso. Por exemplo, não é possível especificar uma métrica e um recurso quando você quiser monitorar o número de processos em execução em uma máquina virtual (VM). Para situações como essas, configure o console do Google Cloud para abrir o Modo de filtro direto.

Modo padrão

Use o modo padrão quando quiser configurar uma condição que monitore um tipo de métrica para um tipo de recurso específico e não queira usar a linguagem de consulta do Monitoring (MQL). Por padrão, os menus listam apenas as métricas que receberam dados. Há um botão para permitir que você liste todas as métricas do Google Cloud.

  • O campo metric identifica as medidas a serem coletadas de um recurso monitorado. Ele inclui uma descrição do que está sendo medido e como as medições são interpretadas. Métrica é uma forma abreviada de tipo de métrica. Para informações conceituais, consulte Tipos de métricas.

  • O campo type type especifica de qual recurso os dados de métricas são capturados. ostipo de recurso às vezes é chamado detipo de recurso monitorado ou orecurso de dados. Para informações conceituais, consulte Recursos monitorados.

Para usar o modo padrão, 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.
  3. Clique em Criar política.
  4. Selecione um recurso e uma métrica usando o menu Selecionar uma métrica.
  5. Adicione filtros, especifique a transformação de dados e conclua a caixa de diálogo de política de alertas. Para saber mais, consulte Criar política de alertas com base em métricas.

Modo MQL

Use a linguagem de consulta do Monitoring (MQL, na sigla em inglês) para descrever a condição ou monitorar uma proporção de métricas com o [MQL].

Para usar o MQL, 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.
  3. Clique em Criar política.
  4. Na barra de ferramentas, selecione MQL.
  5. Digite uma expressão MQL. Para informações sobre como usar o MQL, consulte Como usar a linguagem de consulta do Monitoring.
  6. Conclua a caixa de diálogo da política de alertas. Para mais informações, consulte Como gerenciar políticas de alertas com o MQL.

Modo de filtro direto

Quando você quiser realizar uma das seguintes ações, use o modo de filtro direto:

  • Objetivos de nível de serviço (SLO) de monitoramento.
  • Configurar um alerta para métricas personalizadas em que você ainda não tem dados.
  • Como monitorar a contagem de processos em execução em VMs.
  • Como verificar a sintaxe de uma instrução de filtro a ser incluída em um comando da API.

Ao usar o modo de filtro direto, para selecionar a série temporal, insira um filtro do Monitoring. Por exemplo, o seguinte filtro do Monitoring no gráfico exibe uma contagem de processos com o nome incluindo nginx:

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

O próximo filtro seleciona a série temporal Disk write bytes para VMs do Compute Engine que estão localizadas na zona us-central1-a:

metric.type="compute.googleapis.com/instance/disk/write_bytes_count"
resource.type="gce_instance"
resource.label."zone"="us-central1-a"

Para inserir um filtro de monitoramento ou um seletor de série temporal, 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.
  3. Clique em Criar política.
  4. Selecione ? no cabeçalho da seção Selecionar métrica e, em seguida, selecione Modo de filtro direto na dica.
  5. Insira um filtro de monitoramento ou um seletor de série temporal. Para informações sobre a sintaxe, consulte os seguintes documentos:

  6. Especifique a transformação de dados e conclua a caixa de diálogo de política de alertas. Para mais informações, consulte Criar política de alertas de integridade do processo.

Filtrar os dados selecionados

É possível reduzir a quantidade de dados sendo monitorados especificando os critérios de filtro ou 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éries temporais para avaliar, o que pode melhorar o desempenho do alerta.

Ao fornecer vários critérios de filtragem, o gráfico correspondente mostra apenas as séries temporais que atendem a todos os critérios, um AND lógico.

Para adicionar um filtro, clique em Adicionar filtro, conclua a caixa de diálogo e clique em Concluído. Na caixa de diálogo, use o campo Filtro para selecionar o critério que será usado para filtrar. Por exemplo, é possível filtrar por grupo de recursos, nome, rótulo de recurso, zona e rótulo de métrica. Depois de selecionar o critério do filtro, conclua o filtro selecionando 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:

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 de expressão regular 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")

Transformar dados

Depois que as séries temporais forem selecionadas, as próximas etapas serão especificar como cada série temporal é processada, também conhecida como alinhamento, e como as séries temporais alinhadas são combinadas.

No restante desta página, descrevemos brevemente essas opções. Para uma explicação detalhada, consulte Manipular séries temporais.

Alinhar série temporal

O alinhamento é o processo de converter uma série temporal recebida pelo Monitoring em uma nova série temporal com pontos de dados espaçados por um período fixo. O processo de alinhamento consiste nas seguintes etapas:

  1. Dividir uma série temporal em um conjunto de intervalos de tamanho fixo.
  2. Coletar todos os pontos de dados recebidos em cada intervalo e aplicar uma função para combinar esses pontos de dados. Por exemplo, você pode selecionar essa função para calcular a média de todas as amostras.
  3. Associando um carimbo de data/hora ao valor calculado na etapa anterior e adicionando o par à série temporal alinhada.

Para ver uma discussão geral sobre o alinhamento, consulte Alinhamento: regularização dentro da série.

Ao criar uma condição em uma política de alertas, especifique os parâmetros de alinhamento. Se você usa o Console do Google Cloud, os valores padrão para esses parâmetros são fornecidos:

  • Janela contínua: este campo é um intervalo de lookback de um momento específico. Por exemplo, se esse valor for de cinco minutos, as 13h, as amostras recebidas entre 12h55 e 13h serão alinhadas. Às 13h01, as amostras recebidas entre as 12h56 e as 13h01 serão alinhadas. No contexto das políticas de alertas, o período de alinhamento pode ser visto como uma janela deslizante que analisa o passado. Para uma discussão mais envolvida sobre esse campo, consulte O período de alinhamento e a duração.

  • Função de janela contínua: o campo especifica a função usada para combinar todos os pontos de dados no intervalo de lookback. Na API Cloud Monitoring, esse campo é chamado de alinhador. Para ver mais informações sobre as funções disponíveis, consulte Aligner na referência da API. Algumas das funções do alinhador alinham os dados e os convertem de um tipo de métrica ou tipo para outro. Para uma explicação detalhada, consulte Tipos, tipos e conversões.

Combinar série temporal

É possível reduzir a quantidade de dados retornados para uma métrica combinando diferentes séries temporais. Para combinar várias séries temporais, você geralmente especifica um agrupamento e uma função. O agrupamento é feito por valores de rótulo. A função define como todas as séries temporais de um grupo são combinadas em uma nova série temporal.

Para acessar as opções de combinação de séries temporais, clique em Mostrar mais na seção Em série temporal.

Para combinar séries temporais por valor de rótulo, clique no texto Agrupamento de séries temporais por e selecione uma opção no menu. O menu é criado dinamicamente com base na série temporal selecionada.

Quando você adiciona o primeiro rótulo, ocorre o seguinte:

  • Um erro é exibido porque o campo Agregação de série temporal está definido como none. Para resolver o erro, selecione uma função usada para combinar a série temporal com o mesmo valor do rótulo.

  • O gráfico exibe uma série temporal para cada valor do rótulo listado no campo Agrupamento de séries temporais por.

Se você não especificar uma opção de agrupamento e especificar uma função de agregação, essa função será aplicada à série temporal selecionada e resultará em uma única série temporal.

É possível agrupar por vários rótulos. Quando você tem várias opções de agrupamento, o agregador é aplicado ao conjunto de séries temporais que têm os mesmos valores dos rótulos selecionados.

O gráfico resultante exibe uma série temporal para cada combinação de valores dos rótulos. A ordem de especificação dos rótulos não importa.

Por exemplo, a captura de tela a seguir ilustra o agrupamento por user_labels.version e system_labels.machine_image:

Como exibir séries temporais agrupadas por versão e imagem da máquina.

Conforme ilustrado, se agrupar por rótulos, você terá uma série temporal para cada par de valores. O fato de você ter uma série temporal para cada combinação de rótulos significa que essa técnica pode facilmente criar mais dados do que é possível colocar em um único gráfico.

Quando você especifica o agrupamento ou seleciona um agregador, a série temporal representada em gráfico contém apenas os rótulos necessários, como o identificador do projeto e os especificados pelo agrupamento.

Para remover uma condição de "Group By", siga estas etapas:

  1. Exclua os rótulos de "Group By".
  2. Defina o agregador como none.

Agregação secundária

Se você tiver várias séries temporais exibidas após a transformação de dados principal e quiser que a política de alertas monitore uma única série temporal, use os campos de Transformação de dados secundários.

Comportamento quando os dados estão ausentes

Console do Google Cloud

É possível configurar como o Monitoring avalia uma condição de limite de métrica quando os dados param de chegar. Por exemplo, quando um incidente está aberto e uma medição esperada não chega, você quer que o Monitoring deixe o incidente aberto ou feche-o imediatamente? Da mesma forma, quando os dados param de chegar e nenhum incidente é aberto, você quer que um incidente seja aberto? Por quanto tempo um incidente permanecerá aberto depois que os dados chegarem?

Há dois campos configuráveis que especificam como o Monitoring avalia as condições de limite de métrica quando os dados param de chegar:

  • Para configurar como o Monitoring determina o valor de substituição para dados ausentes, use o campo Avaliação de dados ausentes que você definiu na etapa Condição gatilho. Esse campo é desativado quando a janela de novo teste é definida como Não testar novamente.

  • Para configurar quanto tempo o Monitoring aguarda antes de fechar um incidente aberto depois que os dados param de chegar, use o campo Duração do fechamento automático de incidentes. Defina a duração do fechamento automático na etapa Notificação. A duração padrão de fechamento automático é sete dias.

Veja a seguir as diferentes opções para o campo de dados ausentes:

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.

API

É possível configurar como o Monitoring avalia uma condição de limite de métrica quando os dados param de chegar. Por exemplo, quando um incidente está aberto e uma medição esperada não chega, você quer que o Monitoring deixe o incidente aberto ou feche-o imediatamente? Da mesma forma, quando os dados param de chegar e nenhum incidente é aberto, você quer que um incidente seja aberto? Por quanto tempo um incidente permanecerá aberto depois que os dados chegarem?

Há dois campos configuráveis que especificam como o Monitoring avalia as condições de limite de métrica quando os dados param de chegar:

  • Para configurar como o Monitoring determina o valor de substituição para dados ausentes, use o campo evaluationMissingData da estrutura MetricThreshold. Este campo é ignorado quando o campo duration é zero.

  • Para configurar quanto tempo o Monitoring aguarda antes de fechar um incidente aberto depois que os dados param de chegar, use o campo autoClose na estrutura AlertStrategy.

Veja a seguir as diferentes opções para o campo de dados ausentes:

Campo de API
evaluationMissingData
Resumo Detalhes
EVALUATION_MISSING_DATA_UNSPECIFIED 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.

EVALUATION_MISSING_DATA_ACTIVE 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 pelo campo `duration`, 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.

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