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 visualizar ou criar métricas
As métricas com base em registros se aplicam apenas a um único projeto do Google Cloud ou a um bucket de registro em um projeto do Google Cloud. Não é possível criar métricas baseadas 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 apenas para registros no projeto ou bucket do Google Cloud em que são recebidos.
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 não 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 é registrado na métrica com base em registros
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 umreceivedTimestamp
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 conforme elas são armazenadas em buckets de registro. Elas não avaliam as entradas de registro armazenadas no Logging.
A métrica com base em registros tem lacunas nos dados. Algumas lacunas de dados são esperadas, porque os sistemas que processam os dados de métricas com base em registros não garantem a persistência de todos os pontos de dados de métricas. Quando ocorrem, as lacunas costumam ser raras e de curta duração. No entanto, se você tiver uma política de alertas que monitora uma métrica com base em registros, as lacunas nos dados poderão causar uma notificação falsa. As configurações usadas na política de alertas podem reduzir essa possibilidade.
Exemplo: uma entrada de registro de "batimento cardíaco" é gravada a cada cinco minutos, e uma métrica com base em registros conta o número de entradas de registro de "batimento cardíaco". Uma política de alertas resume as contagens em um intervalo de cinco minutos e notifica você quando o total é menor que um. Quando a série temporal está sem um ponto de dados, a política de alertas injeta um valor sintético, que é uma cópia da amostra mais recente e provavelmente é zero. Em seguida, ela avalia a condição. Portanto, mesmo um único ponto de dados ausente pode resultar no valor total de zero, o que faz com que essa política de alertas envie uma notificação.
Para reduzir o risco de uma notificação falsa, configure a política para contar várias entradas de registro de "batimentos do coração", não apenas uma.
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 uma política de alertas ou um gráfico de uma métrica com base em registros, é possível que o tipo de recurso seja "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.
Os incidentes não são criados ou são falsos positivos
Você pode receber incidentes falsos positivos ou situações em que o monitoramento não cria incidentes com base em métricas porque o período de alinhamento da política de alertas é muito curto. Você pode encontrar falsos positivos nos seguintes cenários:
- Quando uma política de alertas usa a lógica menor que.
- Quando uma política de alertas é baseada em uma condição de percentil para uma métrica de distribuição.
- Quando há uma lacuna nos dados de métrica.
Incidentes de falsos positivos podem ocorrer 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 em buckets de registro, 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 uma política de alertas 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 consistência posterior porque uma entrada de registro que
corresponde 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 que as notificações continuem precisas, mesmo para dados pontuais, recomendamos que
você defina o período de alinhamento da condição para pelo menos
10 minutos. Esse valor precisa ser grande o suficiente
para garantir que várias entradas de registro correspondentes ao filtro sejam contadas. Por
exemplo, se uma métrica baseada em registro contar entradas de registro de "batimentos do coração", que são
esperadas a cada N
minutos, defina o período de alinhamento como 2N
minutos ou
10 minutos, o que for maior:
Se você usa o console do Google Cloud, use o menu Janela móvel para definir o período de alinhamento.
Se você usar a API, use o campo
aggregations.alignmentPeriod
da condição para definir o período de alinhamento.
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:
logging.googleapis.com/metric_throttled
logging.googleapis.com/time_series_count
logging.googleapis.com/metric_label_throttled
logging.googleapis.com/metric_label_cardinality
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 que seja único entre as métricas com base em registros no 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 das métricas não estão corretos
Os valores informados para uma métrica com base em registros às vezes são diferentes do número de entradas de registro informadas pelo Logs Explorer.
Para minimizar a discrepância, faça o seguinte:
Verifique se os aplicativos não estão enviando entradas de registro duplicadas. As entradas de registro são consideradas duplicadas quando têm o mesmo
timestamp
einsertId
. O Explorador de registros suprime automaticamente as entradas de registro duplicadas. No entanto, as métricas com base em registros contam cada entrada de registro que corresponde ao filtro da métrica.Verifique se uma entrada de registro é enviada ao Cloud Logging quando o carimbo de data/hora é menor que 24 horas no passado ou menos de 10 minutos no futuro. As entradas de registro cujos carimbos de data/hora não estão dentro desses limites não são contabilizadas pelas métricas com base em registros.
Não é possível eliminar a possibilidade de registros duplicados. Se um erro interno ocorrer durante o processamento de uma entrada de registro, o Cloud Logging vai invocar um processo de nova tentativa. O processo de nova tentativa pode causar uma entrada de registro duplicada. Quando existem entradas de registro duplicadas, o valor de uma métrica com base em registros pode ser muito grande, porque essas métricas contam cada entrada de registro que corresponde ao filtro da métrica.
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 de exclusão exibe
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 mostrada devido a um problema de tempo interno.
Identifique e exclua todas as políticas de alertas que monitoram a métrica com base em registros. Depois de garantir que a métrica com base em registros não seja monitorada por uma política de alertas, exclua a métrica. Não é possível excluir métricas baseadas em registros que são monitoradas por uma política de alertas.