Solução de problemas

Nesta página, você encontrará informações sobre solução de problemas para cenários comuns ao usar métricas com base em registros no Cloud Logging.

Faltam dados de registros na métrica

Existem várias razões possíveis para a falta de dados nas métricas com base em registros:

  • Novas entradas de registro podem não corresponder à consulta de registros da métrica. Uma métrica com base em registros coleta dados das entradas de registro correspondentes recebidas após a criação da métrica. O Logging não preenche a métrica de entradas de registro anteriores.

  • Novas entradas de registro podem não conter o campo correto ou os dados podem não estar no formato correto para serem extraídos pela métrica de distribuição. Verifique se os nomes dos campos e as expressões regulares estão corretos.

  • As contagens de métricas podem estar atrasadas. Ainda que apareçam entradas de registro contáveis no visualizador de registros, leva até um minuto para atualizar as métricas com base em registros no Cloud Monitoring.

  • As entradas de registro exibidas podem ser contadas com atraso ou sequer ser contadas, porque têm um carimbo de data/hora muito distante no passado ou no futuro. Se uma entrada de registro for recebida pelo Cloud Logging há mais de 24 horas no passado ou 10 minutos no futuro, ela não será contabilizada na métrica com base em registros.

    O número de entradas atrasadas é gravado para cada registro na métrica com base em registros do sistema logging.googleapis.com/logs_based_metrics_error_count.

    Exemplo: uma entrada de registro que corresponde a uma métrica com base em registros chega atrasada. Ela tem um timestamp de 14h30 em 20 de fevereiro de 2020 e um receivedTimestamp de 14h45 em 21 de fevereiro de 2020. Essa entrada não será contabilizada na métrica com base em registros.

Alertas de falsos positivos ou alertas que não são acionados

Como o período de alinhamento do alerta é muito curto, talvez as métricas com base em registros enviem para você alertas de falsos positivos ou alertas que não estão sendo acionados. Exemplos de situações comuns em que um período de alinhamento muito curto causa problemas: quando um alerta usa lógica menor que ou é baseado em uma condição de percentil para uma métrica de distribuição.

É possível que os alertas de falsos positivos ocorram porque as entradas de registro podem ser enviadas para o Logging com atraso. Por exemplo, os campos de registro timestamp e receiveTimestamp podem ter um delta de minutos em alguns casos. Além disso, quando o Logging ingere registros há um atraso inerente entre o período em que as entradas de registro são geradas e o período em que o Logging as recebe. Isso significa que o Logging pode não ter a contagem total de uma entrada de registro específica até algum momento posterior à geração das entradas de registro. É por isso que um alerta que usa a lógica menor que ou com base em uma condição de percentil para uma métrica de distribuição pode produzir um alerta de falso positivo: nem todas as entradas de registro foram contabilizadas ainda.

No entanto, as métricas com base em registros têm sempre consistência posterior. As métricas com base em registros têm consistência posterior porque uma entrada de registro correspondente a uma métrica com base em registros pode ser enviada para o Logging com um timestamp que é bem mais antigo ou mais recente que o receiveTimestamp do registro.

Isso significa que a métrica com base em registros pode receber entradas de registro com carimbos de data/hora mais antigos depois que as entradas de registro atuais com o mesmo carimbo de data/hora já tiverem sido recebidas pelo Logging. Sendo assim, o valor da métrica precisa ser atualizado.

Para garantir que os alertas sejam precisos, mesmo para dados pontuais, as políticas de alerta para métricas com base em registros precisam usar condições de alerta com períodos de alinhamento maiores ou iguais a dois minutos. Para entradas de registro enviadas para o Logging com atrasos medidos em minutos, é recomendável um período de alinhamento de dez minutos para equilibrar a pontualidade e a precisão.

A métrica tem muitas séries temporais

O número de séries temporais em uma métrica depende do número de diferentes combinações de valores de rótulo. O número de séries temporais é chamado de cardinalidade da métrica e não pode exceder 30.000.

Como é possível gerar uma série temporal para cada combinação de valores de rótulo, não será difícil ultrapassar 30.000 séries temporais se você tiver um ou mais rótulos com alto número de valores. Evite métricas com alta cardinalidade.

À medida que a cardinalidade de uma métrica aumenta, a métrica pode ser sobrecarregada e alguns pontos de dados podem não ser gravados nela. O carregamento dos gráficos que exibem a métrica pode demorar devido ao grande número de séries temporais que o gráfico precisa processar. Também pode haver custos para que chamadas de API consultem dados de série temporal. Analise os custos do Cloud Monitoring para mais detalhes.

Para evitar a criação de métricas de cardinalidade alta:

  • verifique se os campos de rótulo e as expressões regulares do extrator correspondem aos valores que têm uma cardinalidade limitada;

  • evite extrair mensagens de texto que podem ser alteradas, sem limites, como valores de rótulo;

  • evite extrair valores numéricos com cardinalidade ilimitada;

  • extraia apenas valores de rótulos de cardinalidade conhecida. Por exemplo, códigos de status com um conjunto de valores conhecidos.

Essas duas métricas com base em registros do sistema podem ajudar a avaliar o efeito da adição ou remoção de rótulos na cardinalidade da métrica:

Ao inspecionar essas métricas, é possível filtrar ainda mais os resultados pelo nome da métrica. Para mais detalhes, vá até Como selecionar métricas: como usar filtros.

O nome da métrica é inválido

Ao criar uma métrica de contador ou de distribuição, escolha um nome de métrica que seja único entre as métricas com base em registros em seu projeto.

As strings de nome de métrica não podem exceder 100 caracteres e podem incluir apenas os seguintes caracteres:

  • A-Z
  • a-z
  • 0-9
  • Os caracteres especiais _-.,+!*',()%\/.

    O caractere de barra / denota uma hierarquia de partes dentro do nome da métrica e não pode ser o primeiro caractere do nome.

Os valores de rótulo estão truncados

Os valores de rótulos definidos pelo usuário não podem exceder 1.024 bytes.