Anotar incidentes com rótulos

Este documento descreve como você pode organizar e priorizar seus incidentes com rótulos definidos pelo usuário. Esses rótulos são configurados e são listadas em políticas de alertas e sobre possíveis incidentes. Dependendo da configuração, os rótulos também são listados em algumas notificações.

Sobre os rótulos

Rótulos, pares de chave-valor, são usados para anexar informações uma série temporal, política de alertas, incidente ou notificação. Por exemplo, os rótulos de uma série temporal podem identificar instância de máquina virtual (VM) em que os dados foram coletados. Os rótulos são definidos pelo usuário ou predefinidos.

Marcadores definidos pelo usuário

Os rótulos definidos pelo usuário contêm informações que você especifica. Esses rótulos podem ter valores estáticos ou dinâmicos:

As chaves de rótulos precisam começar com letra minúscula. As chaves e o rótulo dos rótulos os valores podem conter apenas letras minúsculas, dígitos, sublinhados e traços.

Rótulos predefinidos

Os rótulos predefinidos são incluídos nos descritores de recursos. esses rótulos precisam ser preenchida quando os dados da série temporal são gravados. Esses marcadores mostram informações sobre a métrica que está sendo coletada ou o recurso usado para escrito. Por exemplo, os rótulos de uma série temporal podem identificar uma máquina virtual (VM), uma zona, um projeto do Google Cloud e um tipo de dispositivo. Quando o Monitoring cria um incidente com base nessa série temporal, o incidente herda os rótulos.

Como visualizar marcadores

É possível conferir os rótulos de uma política de alertas ou um incidente na página de detalhes de um incidente; a página de detalhes de uma política de alertas e em algumas notificações.

  • Políticas de alertas: os rótulos estáticos definidos pelo usuário são listados no seção Marcadores de usuário. Rótulos dinâmicos definidos pelo usuário e rótulos predefinidos não estão visíveis.
  • Incidentes: os rótulos estáticos definidos pelo usuário são listados nos Rótulos de política. e os rótulos dinâmicos definidos pelo usuário são listados em Rótulos de métricas nesta seção. Os rótulos predefinidos são listados em Rótulos de recursos monitorados. e Rótulos de métricas.
  • Notificações: os rótulos predefinidos e os definidos pelo usuário são listados nos seguintes tipos de notificação:

    • E-mail
    • Google Chat
    • PagerDuty
    • Pub/Sub
    • Webhook

Exemplo: adicionar rótulos definidos pelo usuário com valores dinâmicos

Use o MQL para configurar um rótulo para que o valor dele muda dinamicamente com base nos dados de série temporal. Por exemplo, você quer seus incidentes para que tenham um rótulo criticality com valor alterado Dependendo do valor da métrica de utilização de CPU monitorada:

fetch gce_instance
| metric 'compute.googleapis.com/instance/cpu/utilization'
| group_by sliding(5m), [value_utilization_mean: mean(value.utilization)]
| map
    add[
      criticality:
        if(val() >= 90 '%', 'CRITICAL',
          if(val() >= 80 '%', 'WARNING',
            if(val() >= 70 '%', 'INFO', 'GOOD')))
    ]
| condition val() >= 70 '%'

A figura a seguir ilustra como as políticas de alertas que usam As consultas MQL processam os dados de série temporal que monitoram:

Ilustração de como as políticas de alertas processam as série temporal monitoradas.

O gerenciador de políticas processa os dados de utilização da CPU e gera uma série temporal que indicam quando a condição é atendida. Na última exemplo, a condição é atendida quando o uso da CPU é de pelo menos 70%. Para cada série temporal de entrada, o gerenciador de políticas pode gerar uma destas quatro série temporal:

Nome da série temporal de saída Condição atendida Descrição
"BOM" Não Essa série temporal tem os mesmos rótulos que a série temporal de entrada. Ele não tem um rótulo de gravidade.
"CRÍTICO" Sim O uso da CPU é de pelo menos 90%. A série temporal de saída tem os mesmos rótulos que "BOOD" série temporal mais um rótulo de gravidade com o valor de "CRITICAL".
"AVISO" Sim O uso da CPU está entre 80% e 90%, no mínimo. A série temporal de saída tem os mesmos rótulos que "BOOD" série temporal mais um rótulo de gravidade com o valor de "WARNING".
"INFO" Sim O uso da CPU está entre 70% e 80%, no mínimo. A série temporal de saída tem os mesmos rótulos que "BOOD" série temporal e um rótulo de gravidade com o valor "INFO".

Os dados da série temporal gerados pelo gerenciador de políticas são a entrada no gerenciador de incidentes, que determina quando os incidentes são criados e encerrados. Para determinar quando encerrar um incidente, o gerente de incidentes usa o dos parâmetros duration, evaluationMissingData, e autoClose.

Práticas recomendadas

Para garantir que no máximo um incidente esteja aberto por vez quando você criar rótulos com valores que são definidos dinamicamente, faça o seguinte:

  • No objeto MetricThreshold, modifique o valores padrão para os seguintes campos:

    • Campo duration: definido como um valor diferente de zero.
    • Campo evaluationMissingData: definido para que os incidentes sejam fechados quando os dados param de chegar. Quando você usa a API Cloud Monitoring, Defina este campo como EVALUATION_MISSING_DATA_INACTIVE. Ao usar no console do Google Cloud, defina o campo como "Os pontos de dados ausentes são tratados como valores que não violem a condição da política".
  • No objeto AlertStrategy, defina o autoClose para o valor mínimo de 30 minutos. Quando você usa a API Cloud Monitoring, Defina este campo como 30m.

Para mais informações, consulte Dados de métricas parciais.

Fluxo de incidentes

Suponha que as medições de utilização da CPU sejam menores que 70% quando uma política de alertas é criada. A sequência a seguir ilustra como os incidentes são abertos e fechados:

  1. Como as medições de utilização da CPU são menores que 70%, o gerenciador de políticas gera série temporal nenhum incidente é aberto.

  2. Em seguida, suponha que o uso da CPU aumente para 93%. O gerenciador de políticas deixa de gerar a "BOA" de série temporal e começa a gerar dados para o "CRÍTICO" série temporal.

    O gerente de incidentes identifica um novo status série temporal que atendem e abre um incidente. A notificação inclui o rótulo de gravidade com um valor de CRITICAL.

  3. Suponha que a utilização da CPU caia para 75%. O gerenciador de políticas deixa de gerar a classificação e começa a gerar o valor "INFO", série temporal.

    O gerenciador de incidentes encontra uma nova série temporal que atendem e abre um incidente. O a notificação inclui o rótulo de gravidade com um valor de INFO.

    O gerente de incidentes percebe que nenhum dado está chegando para o status "CRÍTICO" de uma série temporal e que um incidente está aberto para ela. Como o é configurada para encerrar incidentes quando os dados param de chegar, o gerente de incidentes encerrar associado ao tipo de ataque "CRÍTICO", série temporal. Portanto, somente o incidente com o rótulo de gravidade que tem um valor INFO permanece aberto.

  4. Por fim, suponha que a utilização da CPU caia para 45%. Esse valor é menor do que todos os limites, então o gerenciador de políticas para de gerar o "INFORMAÇÃO" e começa a gerar o valor "BOOD" série temporal.

    O gerente de incidentes percebe que nenhum dado está chegando para "INFO". de uma série temporal e que um incidente está aberto para ela. Como o política estiver usando as configurações recomendadas, o incidente será encerrado.

Se você não usar o valor recomendado no campo evaluationMissingData, quando os dados param de chegar, incidentes abertos não são fechados imediatamente. O resultado é que podem ser exibidos vários incidentes abertos para a mesma série temporal. Para mais informações, consulte Dados de métricas parciais.

A seguir