Esta página fornece informações de resolução de problemas para cenários comuns quando usa métricas baseadas em registos no Cloud Logging.
Não é possível ver nem criar métricas
As métricas baseadas em registos aplicam-se apenas a um único Google Cloud projeto ou a um contentor de registos num Google Cloud projeto. Não pode criar métricas baseadas em registos para outros recursos, como contas de faturação ou organizações. Google CloudAs métricas baseadas em registos são calculadas apenas para registos no projeto ou no contentor em que são recebidas. Google Cloud
Para criar métricas, precisa das autorizações de gestão de identidades e acessos corretas. Para mais detalhes, consulte o artigo Controlo de acesso com a IAM: métricas baseadas em registos.
A métrica não tem dados de registos
Existem vários motivos possíveis para a falta de dados nas métricas baseadas em registos:
As novas entradas de registo podem não corresponder ao filtro da sua métrica. Uma métrica baseada em registos recebe dados de entradas de registos correspondentes que são recebidas após a criação da métrica. O registo não preenche a métrica com entradas de registo anteriores.
As novas entradas de registo podem não conter o campo correto ou os dados podem não estar no formato correto para extração pela sua métrica de distribuição. Verifique se os nomes dos campos e as expressões regulares estão corretos.
As contagens das suas métricas podem sofrer atrasos. Embora as entradas de registo contabilizáveis apareçam no Explorador de registos, a atualização das métricas baseadas em registos no Cloud Monitoring pode demorar até 10 minutos.
As entradas do registo apresentadas podem ser contabilizadas com atraso ou não ser contabilizadas de todo, porque têm uma data/hora demasiado no passado ou no futuro. Se uma entrada de registo for recebida pelo Cloud Logging há mais de 24 horas ou 10 minutos no futuro, a entrada de registo não é contabilizada na métrica baseada em registos.
O número de entradas com atraso é registado na métrica baseada em registos
logging.googleapis.com/logs_based_metrics_error_count
.Exemplo: uma entrada de registo correspondente a uma métrica baseada em registos chega atrasada. Tem um
timestamp
de 20/02/2020 às 14:30 e umreceivedTimestamp
de 21/02/2020 às 14:45. Esta entrada não é contabilizada na métrica baseada em registos.A métrica baseada em registos foi criada após a chegada das entradas de registo que a métrica pode contabilizar. As métricas baseadas em registos avaliam as entradas de registo à medida que são armazenadas em contentores de registos. Estas métricas não avaliam as entradas de registo armazenadas no Logging.
A métrica baseada em registos tem lacunas nos dados. São esperadas algumas lacunas de dados, porque os sistemas que processam os dados de métricas baseados em registos não garantem a persistência de todos os pontos de dados de métricas. Quando ocorrem falhas, são normalmente raras e de curta duração. No entanto, se tiver uma política de alertas que monitorize uma métrica baseada em registos, as lacunas nos dados podem causar uma notificação falsa. As definições que usa na sua política de alertas podem reduzir esta possibilidade.
Exemplo: uma entrada de registo de "batimento cardíaco" é escrita a cada cinco minutos e uma métrica baseada em registos contabiliza o número de entradas de registo de "batimento cardíaco". Uma política de alerta resume as contagens num intervalo de cinco minutos e envia-lhe uma notificação quando o total for inferior a um. Quando a série cronológica não tem um ponto de dados, a política de alertas injeta um valor sintético, que é um duplicado da amostra mais recente e que tem maior probabilidade de ser zero, e, em seguida, avalia a condição. Por conseguinte, mesmo um único ponto de dados em falta pode resultar no valor somado ser zero, o que faz com que esta política de alertas envie uma notificação.
Para reduzir o risco de uma notificação falsa, configure a política para contabilizar várias entradas de registo de "heartbeat" e não apenas uma.
O tipo de recurso é "undefined" no Cloud Monitoring
Alguns tipos de recursos monitorizados do Cloud Logging não são mapeados diretamente para tipos de recursos monitorizados do Cloud Monitoring. Por exemplo, quando cria pela primeira vez uma política de alerta ou um gráfico a partir de uma métrica baseada em registos, pode ver que o tipo de recurso é "indefinido".
O tipo de recurso monitorizado é mapeado para global
ou para um tipo de recurso monitorizado diferente no Cloud Monitoring. Consulte os
Mapeamentos para recursos apenas de registo
para determinar que tipo de recurso monitorizado tem de escolher.
As etiquetas numa notificação não são resolvidas
Cria uma métrica baseada em registos e, em seguida, cria uma política de alerta para monitorizar essa métrica baseada em registos.
No campo de documentação da sua política de alertas, refere-se às etiquetas extraídas através de uma variável do formulário ${log.extracted_label.KEY}
, onde KEY
é o nome que deu à etiqueta extraída. A etiqueta não é resolvida na notificação.
Para resolver este problema, faça uma das seguintes ações:
Remova o conteúdo da etiqueta extraído da documentação. As políticas de alerta que monitorizam métricas baseadas em registos não podem extrair dados de entradas de registos.
Crie um alerta baseado em registos. Estas políticas de alerta podem extrair dados da entrada de registo que faz com que a política de alerta seja acionada.
Os incidentes não são criados ou são falsos positivos
Pode receber incidentes de falsos positivos ou situações em que a monitorização não cria incidentes a partir de métricas baseadas em registos porque o período de alinhamento da política de alertas é demasiado curto. Pode encontrar falsos positivos nos seguintes cenários:
- Quando uma política de alerta usa a lógica inferior a.
- Quando uma política de alertas se baseia numa condição de percentil para uma métrica de distribuição.
- Quando existe uma lacuna nos dados das métricas.
Podem ocorrer incidentes de falsos positivos porque as entradas do registo podem ser enviadas para o registo tardiamente. Por exemplo, os campos de registo timestamp
e receiveTimestamp
podem ter um delta de minutos em alguns casos. Além disso, quando
registar registos armazenados em contentores de registos, existe um atraso inerente
entre o momento em que as entradas de registo são geradas e o momento em que o Logging
as recebe. Isto significa que o registo pode não ter a contagem total de uma entrada de registo específica até um momento posterior à geração das entradas de registo. É por este motivo que uma política de alerta que use uma lógica de inferior a ou que se baseie numa condição de percentil para uma métrica de distribuição pode produzir um alerta falso positivo: nem todas as entradas do registo foram contabilizadas.
No entanto, as métricas baseadas em registos são eventualmente consistentes porque uma entrada de registo que corresponda a uma métrica baseada em registos pode ser enviada para o Logging com um timestamp
significativamente mais antigo ou mais recente do que o receiveTimestamp
do registo.
Isto significa que a métrica baseada em registos pode receber entradas de registo com datas/horas mais antigas depois de o Logging já ter recebido entradas de registo existentes com a mesma data/hora. Assim, o valor da métrica tem de ser atualizado.
Para que as notificações permaneçam precisas, mesmo para dados dentro do prazo, recomendamos que
defina o período de alinhamento da condição para, pelo menos,
10 minutos. Em particular, este valor deve ser suficientemente grande para garantir que são contabilizadas várias entradas de registo que correspondem ao seu filtro. Por exemplo, se uma métrica baseada em registos contar entradas de registo de "heartbeat", que são esperadas a cada N
minutos, defina o período de alinhamento para 2N
minutos ou 10 minutos, consoante o que for maior:
Se usar a Google Cloud consola, use o menu Período contínuo para definir o período de alinhamento.
Se usar a API, use o campo
aggregations.alignmentPeriod
da condição para definir o período de alinhamento.
A métrica tem demasiadas séries cronológicas
O número de séries cronológicas numa métrica depende do número de combinações diferentes de valores de etiquetas. O número de séries cronológicas é denominado cardinalidade da métrica e não pode exceder 30 000.
Uma vez que pode gerar uma série cronológica para cada combinação de valores de etiquetas, se tiver uma ou mais etiquetas com um número elevado de valores, não é difícil exceder as 30 000 séries cronológicas. Quer evitar métricas de elevada cardinalidade.
À medida que a cardinalidade de uma métrica aumenta, a métrica pode ser limitada e alguns pontos de dados podem não ser escritos na métrica. Os gráficos que apresentam a métrica podem demorar a carregar devido ao grande número de séries cronológicas que o gráfico tem de processar. Também pode incorrer em custos por chamadas de API para consultar dados de séries cronológicas; reveja as secções do Cloud Monitoring na página de preços da observabilidade do Google Cloud.
Para evitar a criação de métricas de elevada cardinalidade:
Verifique se os campos de etiquetas e as expressões regulares do extrator correspondem a valores com uma cardinalidade limitada.
Por exemplo, não armazene tamanhos, contagens nem durações em etiquetas. Além disso, não armazene campos como URLs, endereços IP ou IDs únicos, uma vez que podem resultar num grande número de séries cronológicas.
Evite extrair mensagens de texto que podem mudar, sem limites, como valores de etiquetas.
Evite extrair valores numéricos com uma cardinalidade ilimitada.
Extraia apenas valores de etiquetas de cardinalidade conhecida; por exemplo, códigos de estado com um conjunto de valores conhecidos.
Estas métricas baseadas em registos do sistema podem ajudar a medir o efeito que a adição ou a remoção de etiquetas tem na cardinalidade da sua 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
Quando inspeciona estas métricas, pode filtrar ainda mais os resultados por nome da métrica. Para ver detalhes, consulte a secção Selecionar métricas: filtragem.
O nome da métrica é inválido
Quando cria uma métrica de contador ou de distribuição, escolha um nome de métrica exclusivo entre as métricas baseadas em registos no seu Google Cloud projeto.
As strings metric-name não podem exceder 100 carateres e só podem incluir os seguintes carateres:
A
-Z
a
-z
0
-9
Os carateres especiais
_
-
.
,
+
!
*
'
,
(
)
%
\/
.O caráter de barra
/
denota uma hierarquia de partes no nome da métrica e não pode ser o primeiro caráter do nome.
Os valores das métricas não estão corretos
Repara que os valores comunicados para uma métrica baseada em registos são, por vezes, diferentes do número de entradas de registo comunicadas pelo Explorador de registos.
Para minimizar a discrepância, faça o seguinte:
Certifique-se de que as aplicações não estão a enviar entradas de registo duplicadas. As entradas de registo são consideradas duplicados quando têm o mesmo
timestamp
einsertId
. O Explorador de registos suprime automaticamente as entradas de registo duplicadas. No entanto, as métricas baseadas em registos contabilizam cada entrada de registo que corresponde ao filtro da métrica.Certifique-se de que uma entrada de registo é enviada para o Cloud Logging quando a data/hora for inferior a 24 horas no passado ou inferior a 10 minutos no futuro. As entradas de registo cujas datas/horas não estejam dentro destes limites não são contabilizadas pelas métricas baseadas em registos.
Não é possível eliminar a possibilidade de registos duplicados. Se ocorrer um erro interno durante o processamento de uma entrada do registo, o Cloud Logging invoca um processo de nova tentativa. O processo de nova tentativa pode causar uma entrada de registo duplicada. Quando existem entradas de registo duplicadas, o valor de uma métrica baseada em registos pode ser demasiado grande porque estas métricas contabilizam cada entrada de registo que corresponde ao filtro da métrica.
Os valores das etiquetas estão truncados
Os valores das etiquetas definidas pelo utilizador não podem exceder 1024 bytes.
Não é possível eliminar uma métrica de registo personalizada
Tenta eliminar uma métrica personalizada baseada em registos através da Google Cloud consola.
O pedido de eliminação falha e a caixa de diálogo de eliminação apresenta a mensagem de erro There is an unknown error while executing this operation
.
Para resolver este problema, experimente o seguinte:
Atualize a página Métricas baseadas em registos na Google Cloud consola. A mensagem de erro pode ser apresentada devido a um problema de sincronização interno.
Identifique e elimine todas as políticas de alerta que monitorizam a métrica baseada em registos. Depois de verificar que a métrica baseada em registos não é monitorizada por uma política de alerta, elimine a métrica baseada em registos. Não é possível eliminar as métricas baseadas em registos que são monitorizadas por uma política de alerta.