Como resolver problemas de métricas com base em registros

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.

Não é possível ver nem criar métricas

As métricas com base em registros se aplicam apenas a um único projeto do Google Cloud ou a um bucket do Logging em um projeto do Google Cloud. Não é possível criar métricas com base em registros para outros recursos do Google Cloud, como contas de faturamento ou organizações. As métricas com base em registros são calculadas para registros somente no projeto ou bucket do Google Cloud em que são recebidas.

Para criar métricas, você precisa das permissões de gerenciamento de identidade e acesso corretas. Para detalhes, consulte Controle de acesso com o IAM: métricas com base em registros.

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 ao filtro de registros da sua métrica. Uma métrica com base em registros aceita os dados das entradas de registro correspondentes recebidas após a criação da métrica. O Logging não preenche a métrica a partir 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 Explorador de registros, pode levar até 10 minutos 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.

  • A métrica com base em registros foi criada após a chegada de entradas de registro que a métrica pode contar. As métricas com base em registros avaliam as entradas de registro à medida que são armazenadas em buckets de registros. Essas métricas não avaliam as entradas de registro armazenadas no Logging.

O tipo de recurso é "indefinido" no Cloud Monitoring

Alguns tipos de recursos monitorados do Cloud Logging não são mapeados diretamente para os tipos de recursos monitorados do Cloud Monitoring. Por exemplo, ao criar um alerta ou gráfico de uma métrica com base em registros, é possível que o tipo de recurso seja "indefinido".

O tipo de recurso é indefinido.

O tipo de recurso monitorado mapeia para global ou um outro tipo de recurso monitorado no Cloud Monitoring. Consulte Mapeamentos para recursos somente do Logging para determinar que tipo de recurso monitorado você precisa escolher.

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 armazena registros armazenados em buckets de registros, há um atraso inerente entre o momento em que as entradas de registro são geradas e quando 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 detalhes, consulte Como selecionar métricas: 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 exclusivo entre as métricas com base em registros no seu projeto do Google Cloud.

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.

Não é possível excluir uma métrica de registro personalizada

Você tenta excluir uma métrica personalizada com base em registros usando o console do Google Cloud. A solicitação de exclusão falha, e a caixa de diálogo mostra a mensagem de erro There is an unknown error while executing this operation.

Para resolver esse problema, tente o seguinte:

  • Atualize a página Métricas com base em registros no console do Google Cloud. A mensagem de erro pode ser exibida devido a um problema interno de tempo.

  • Identifique e exclua as políticas de alertas que monitoram a métrica com base em registros. Exclua a métrica com base em registros depois de garantir que ela não seja monitorada por uma política de alertas. As métricas com base em registros monitoradas por uma política de alertas não podem ser excluídas.