Resolver problemas de roteamento e armazenamento de registros

Este documento explica problemas comuns de roteamento e armazenamento e como usar o console do Google Cloud para visualizar e solucionar problemas de resultados inesperados.

Para informações gerais sobre o uso de registros nos destinos de coletor, consulte Veja registros em destinos do coletor.

Resolver problemas com registros de roteamento

Esta seção descreve como resolver problemas comuns ao rotear os registros.

O destino contém registros indesejados

Ao visualizar os registros roteados para um destino, você determina que os e o destino contém registros indesejados.

Para resolver essa condição, atualize o filtros de exclusão para sua coletores que roteiam registros para o destino. Com os filtros de exclusão, você pode excluir os registros selecionados sejam roteados para um destino.

Por exemplo, suponha que você crie um coletor agregado para rotear os registros de uma organização para um destino. Para excluir os registros de um determinado o projeto seja encaminhado para o destino, adicione o seguinte filtro de exclusão ao coletor:

logName:projects/PROJECT_ID

Também é possível excluir registros de vários projetos com o operador lógico-OR, para unir cláusulas logName.

Registros ausentes no destino

Talvez o problema mais comum relacionado ao coletor seja a ausência de registros em um destino de coletor.

Em alguns casos, um erro não é gerado, mas é possível que os registros estejam indisponíveis quando você tentar acessá-los no seu destino. Se você suspeitar que seu coletor não estiver roteando corretamente os registros, depois verifique os registros do sistema do coletor métricas:

  • exports/byte_count: número de bytes em entradas de registro que foram roteadas.
  • exports/log_entry_count: número de entradas de registro que foram roteadas.
  • exports/error_count: número de entradas de registro que não foram roteadas.

As métricas têm rótulos que registram as contagens por nome e destino do coletor e informar se o coletor está roteando os dados de registros ou falha. Para detalhes sobre como visualizar métricas, consulte Veja métricas com base em registros.

Se as métricas do coletor indicarem que o coletor não está tendo o desempenho esperado, veja alguns possíveis motivos e o que fazer a respeito:

Latência

  • Nenhuma entrada de registro correspondente foi recebida desde a criação ou atualização sua pia; apenas entradas de registro novas são roteadas.

    Tente aguardar uma hora e verifique o destino novamente.

  • As entradas de registro correspondentes estão atrasadas.

    Pode haver um atraso até que você possa ver seus registros no destino. Os registros atrasados são especialmente comum para coletores que configuraram o Cloud Storage buckets como destinos. Aguarde algumas horas e verifique seu destino novamente.

O escopo/filtro está incorreto

Erro no filtro do coletor

  • O filtro do coletor está incorreto e não está capturando os registros esperados. no destino.

    • Edite o filtro do coletor usando o Roteador de registros na console do Google Cloud. Para verificar se você inseriu o filtro correto, selecione Visualizar registros no painel Editar coletor. Isso abre Análise de registros em uma nova guia com o filtro pré-preenchido. Para instruções sobre como visualizar e gerenciar seus coletores, consulte Gerenciar coletores.

Ver erros

Para cada um dos destinos de coletor compatíveis, o Logging fornece mensagens de erro para coletores configurados incorretamente.

Há várias maneiras de ver esses erros relacionados ao coletor. Esses métodos são descritos nas seguintes seções:

  • Ver os registros de erros gerados para o coletor.
  • Receber notificações de erro de coletor por e-mail.
.

Registros de erro

O método recomendado para inspecionar detalhes relacionados ao coletor é visualizar as entradas de registro de erros geradas pelo coletor. Para detalhes sobre a visualização registros, consulte Ver registros usando a Análise de registros.

Você pode usar a seguinte consulta no painel do editor de consultas na Análise de registros para analisar os registros de erros do coletor. A mesma consulta funciona a API Logging e a CLI gcloud.

Antes de copiar a consulta, substitua a variável SINK_NAME pela nome do coletor que você está tentando resolver. Encontre o nome do coletor na página Roteador de registros no console do Google Cloud.

logName:"logging.googleapis.com%2Fsink_error"
resource.type="logging_sink"
resource.labels.name="SINK_NAME"

Por exemplo, se o nome do coletor for my-sink-123, a entrada de registro poderá ser semelhante a:

{
   errorGroups: [
   0: {
   id: "COXu96aNws6BiQE"
   }]
   insertId: "170up6jan"
   labels: {
      activity_type_name: "LoggingSinkConfigErrorV2"
      destination: "pubsub.googleapis.com/projects/my-project/topics/my-topic"
      error_code: "topic_not_found"
      error_detail: ""
      sink_id: "my-sink-123"
   }
   logName: "projects/my-project/logs/logging.googleapis.com%2Fsink_error"
   receiveTimestamp: "2024-07-11T14:41:42.578823830Z"
   resource: {
   labels: {
      destination: "pubsub.googleapis.com/projects/my-project/topics/my-topic"
      name: "my-sink-123"
      project_id: "my-project"
   }
   type: "logging_sink"
   }
   severity: "ERROR"
   textPayload: "Cloud Logging sink configuration error in my-project, sink my-sink-123: topic_not_found ()"
   timestamp: "2024-07-11T14:41:41.296157014Z"
}

O campo LogEntry labels e as informações da chave-valor aninhada ajudam a segmentar a origem do erro do coletor. Ele contém o recurso afetado, o coletor afetado e o código de erro. O campo labels.error_code contém uma breve descrição do erro, informando qual componente do coletor precisa ser reconfigurado.

Para resolver essa falha, edite o coletor. Por exemplo, é possível editar seu coletor usando o Página do Roteador de registros:

Acessar o roteador de registros

Notificações por e-mail

Se você tiver um projeto do Google Cloud ou o recurso pai correspondente como contato técnico essencial, receberá notificações por e-mail sobre o erro de configuração do coletor. Se não houver contatos técnicos essenciais configurados para um recurso, os usuários listados como proprietários do projeto do IAM roles/owner receberão a notificação por e-mail.

A mensagem de e-mail contém as seguintes informações:

  • ID do recurso: o nome do projeto do Google Cloud ou de outro Recurso do Google Cloud em que o coletor foi configurado.
  • Nome do coletor: o nome do coletor que contém o erro de configuração.
  • Destino do coletor: o caminho completo do destino de roteamento do coletor. para exemplo, pubsub.googleapis.com/projects/PROJECT_ID/topics/TOPIC_ID
  • Código do erro: descrição abreviada da categoria de erro. por exemplo, topic_not_found
  • Detalhes do erro: informações detalhadas sobre o erro, incluindo recomendações para resolver o problema.

Para visualizar e gerenciar seus coletores, use a página Roteador de registros:

Acessar o roteador de registros

Qualquer erro de configuração de coletor que se aplique ao recurso aparece na lista como um Cloud Logging sink configuration error. Cada erro contém um link para uma das entradas de registro geradas pelo coletor com defeito. Para examinar os erros subjacentes em detalhes, consulte a seção Registros de erros.

Tipos de erros de coletor

As seções a seguir descrevem categorias amplas de erros relacionados ao coletor e como resolvê-los.

Destino incorreto

Se você configurou um coletor, mas recebeu um erro de configuração informando que o não foi encontrada quando o Logging tentou rotear os registros, aqui estão alguns motivos possíveis:

  • A configuração do coletor contém um erro de ortografia ou outro erro de formatação no destino especificado do coletor.

    Você precisa atualizar a configuração do coletor para especificar corretamente o destino atual.

  • O destino especificado pode ter sido excluído.

    Altere a configuração do coletor para usar um destino diferente ou recrie o destino com o mesmo nome.

Para resolver esses tipos de falha, edite o coletor. Por exemplo, é possível editar seu coletor usando o Página do Roteador de registros:

Acessar o roteador de registros

O coletor começa a encaminhar registros quando o destino é encontrado e novos registros que correspondem ao filtro são recebidos pelo Logging.

Como gerenciar problemas de coletores

Se você desativou um coletor parar de armazenar registros em um bucket de registros, mas ainda ver os registros sendo roteados, aguarde alguns minutos para que as alterações no coletor sejam aplicadas.

Problemas de permissões.

Quando um coletor tenta rotear uma entrada de registro, mas não tem o Permissões do IAM para o destino do coletor, o coletor informa um erro, que você pode visualizar, e ignora a entrada de registro.

Quando você cria um coletor, a conta de serviço dele precisa receber o apropriado permissões de destino. Se você criar o coletor no console do Google Cloud no mesmo projeto do Google Cloud, o console do Google Cloud normalmente atribui essas automaticamente. No entanto, se você criar o coletor em uma projeto do Google Cloud ou usando a CLI gcloud ou a API Logging, será preciso configure as permissões manualmente.

Se você estiver recebendo erros relacionados à permissão do coletor, adicione as informações necessárias as permissões ou atualizar seu coletor para usar uma destino. Para instruções sobre como atualizar essas permissões, consulte Permissões de destino.

Há um pequeno atraso entre a criação do coletor e o uso da nova conta de serviço do coletor para autorizar a gravação no destino da exportação. O coletor começa a rotear registros quando alguma permissão é corrigida e novos registros que correspondem ao filtro são recebidos pelo Logging.

Problemas com a política da organização

Se você estiver tentando rotear uma entrada de registro, mas encontrar uma política da organização que restringe a gravação do Logging no destino do coletor o coletor não pode rotear para o destino selecionado e informa um erro.

Se você encontrar erros relacionados às políticas da organização, faça o seguintes:

  • Atualize a política da organização do destino para remover as restrições bloquear o coletor das entradas de registro de roteamento; isso pressupõe que você tem as permissões apropriadas para atualizar a política da organização. Para instruções, consulte Como criar e editar políticas.

  • Se não for possível atualizar a política da organização, atualize seu coletor no Roteador de registros para usar um destino compatível.

    Acessar o roteador de registros

O coletor começa a encaminhar registros quando a política da organização não bloqueia mais a gravação do destino e os novos registros que correspondem ao filtro são recebidos pelo Logging.

Problemas com a chave de criptografia

Se você usa chaves de criptografia gerenciadas com o Cloud Key Management Service ou por você, criptografar os dados no destino do coletor, poderá encontrar erros relacionados. Aqui estão alguns possíveis problemas e maneiras de corrigi-los:

  • O faturamento não está sendo ativado no projeto do Google Cloud que contém as chave do Cloud KMS.

    • Mesmo que o coletor tenha sido criado com o destino correto, esta mensagem de erro será exibida se não houver uma conta de faturamento válida associadas ao projeto do Google Cloud que contém a chave.

    • Verifique se há um endereço IP conta de faturamento vinculada ao projeto do Google Cloud que contém a chave. Se uma conta de faturamento não estiver vinculada à projeto do Google Cloud, ativar o faturamento para esse projeto ou usar uma chave do Cloud KMS contida em um projeto do Google Cloud que tem uma conta de faturamento válida vinculada a ela.

  • A chave do Cloud KMS não foi encontrada.

    • O projeto do Google Cloud que contém a chave do Cloud KMS configurada para criptografar os dados não for encontrada.

    • Use uma chave do Cloud KMS válida de uma projeto do Google Cloud.

  • O local da chave do Cloud KMS não corresponde ao local do destino.

    • Se o projeto do Google Cloud que contém a chave do Cloud KMS for localizados em uma região diferente da região de destino, a criptografia falha e o coletor não consegue rotear os dados para esse destino.

    • Use uma chave do Cloud KMS contida em um projeto do Google Cloud com região corresponde ao destino do coletor.

  • O acesso à chave de criptografia é negado para a conta de serviço do coletor.

    • Mesmo que o coletor tenha sido criado com as permissões corretas da conta de serviço, essa mensagem de erro será exibida se o destino do coletor usar uma chave de criptografia que não conceda à conta de serviço permissões suficientes para criptografar ou descriptografar os dados.

    • Conceda o papel Criptografador/Descriptografador do CryptoKey do Cloud KMS para a conta de serviço especificada no campo writerIdentity do coletor para a chave usada no destino. Verifique também se a API Cloud KMS está ativada.

Problemas de cotas

Quando os coletores gravam registros, as cotas específicas do destino se aplicam Projetos do Google Cloud em que os coletores foram criados. Se as cotas se esgotarem, o coletor interromperá o roteamento de registros para o destino.

Por exemplo, ao rotear dados para o BigQuery, talvez você veja um erro informando que a cota de inserção por streaming por tabela foi excedida para uma determinada tabela no conjunto de dados. Nesse caso, o coletor pode estar roteando muitas entradas de registro muito rapidamente. O mesmo conceito se aplica a outros destinos de coletor compatíveis, por exemplo, para tópicos do Pub/Sub.

Para corrigir os problemas de esgotamento da cota, reduza o volume de dados de registro que está sendo roteado atualizando o filtro do coletor para corresponder a menos entradas de registro. É possível usar a função sample no filtro para selecionar uma fração do número total de entradas de registro.

O coletor começa a encaminhar registros para o destino quando você o atualiza para corresponder a menos entradas de registro ou quando as cotas são atualizadas.

Para detalhes sobre os limites que podem ser aplicados ao rotear registros, revise as informações de cota do destino apropriado:

Além dos tipos de erro gerais de coletor, veja os tipos de erro específicos de destino mais comuns e como é possível corrigi-los.

Erros no roteamento para o Cloud Storage

Veja a seguir os erros mais comuns ao rotear registros para o Cloud Storage:

  • Entradas de registro atrasadas:

    • As entradas de registro roteadas são salvas em lotes a cada hora nos buckets do Cloud Storage. Pode ser necessário aguardar de duas a três horas até que as primeiras entradas comecem a aparecer.

    • Os fragmentos do arquivo de registro encaminhado com o sufixo An ("Append") mantêm as entradas de registro que chegaram atrasadas. Se o destino do Cloud Storage sofrer uma interrupção, o Cloud Logging armazenará os dados em buffer até que a interrupção termine.

  • Não foi possível conceder permissões corretas ao destino:

    • Mesmo que o coletor tenha sido criado com as permissões corretas da conta de serviço, essa mensagem de erro será exibida se o modelo de controle de acesso ao bucket do Cloud Storage estiver definido como acesso uniforme quando o bucket foi criado.

    • Para os buckets atuais do Cloud Storage, é possível alterar o modelo de controle de acesso para os primeiros 90 dias após a criação do bucket usando a guia Permissões. Para novos buckets, selecione o modelo de controle de acesso Detalhado durante a criação do bucket. Para mais detalhes, consulte Como criar buckets do Cloud Storage.

Erros no roteamento para o BigQuery

Veja a seguir os erros mais comuns ao rotear registros para o BigQuery:

  • Esquema de tabela inválido:

    • Os registros transmitidos para a tabela no conjunto de dados do BigQuery não correspondem ao esquema da tabela atual. Problemas comuns incluem tentar entradas de registro de rota com diferentes tipos de dados, incompatibilidade de esquema. Por exemplo, um dos campos na entrada de registro é um número inteiro, enquanto uma coluna correspondente no esquema tem um tipo de string.

    • Verifique se as entradas de registro correspondem ao esquema da tabela. Depois de corrigir a origem do erro, é possível renomear a tabela atual e permitir que o Logging crie a tabela novamente.

    • O BigQuery suporta o carregamento de dados aninhados nas tabelas. No entanto, ao carregar dados do Logging, o limite de profundidade aninhado para uma coluna é de 13 níveis.

    Quando o BigQuery identifica uma incompatibilidade de esquema, ele cria uma no conjunto de dados correspondente para armazenar as informações de erro. O tipo de uma tabela determina o nome dela. Para tabelas fragmentadas por data, o formato de nomenclatura é export_errors_YYYYMMDD. Para tabelas particionadas, o formato de nomenclatura é export_errors. Para informações sobre o esquema das tabelas de erro e como evitar futuras incompatibilidades de tipo de campo, consulte Incompatibilidades no esquema.

  • As entradas de registro estão fora dos limites de tempo permitidos:

    • Os registros transmitidos para a tabela particionada do BigQuery estão fora dos limites de tempo permitidos. O BigQuery não aceita registros que estão muito distantes no passado ou no futuro.

    • Atualize o coletor para encaminhar esses registros para o Cloud Storage e usar um job de carga do BigQuery. Para mais informações, consulte a documentação do BigQuery.

  • O conjunto de dados não permite que a conta de serviço associada ao coletor de registros grave nele:

    • Mesmo que o coletor tenha sido criado as permissões da conta de serviço estão corretas, aparece se não houver uma conta de faturamento válida associada ao o projeto do Google Cloud que contém o destino do coletor.

    • Certifique-se de que há um conta de faturamento vinculada ao seu projeto do Google Cloud. Se uma conta de faturamento não estiver vinculada ao destino do coletor projeto do Google Cloud, ativar o faturamento para esse projeto ou atualize o destino do coletor para que ele fique em um Projeto do Google Cloud que tem uma conta de faturamento válida vinculada a ele.

  • O conjunto de dados contém entradas de registro duplicadas:

    • Entradas de registro duplicadas podem ocorrer quando há falhas nos registros de streaming para BigQuery, inclusive devido a novas tentativas ou configurações incorretas. O Cloud Logging elimina a duplicação de entradas de registro com os mesmos timestamp e insertId no momento da consulta. O BigQuery não elimina entradas de registro duplicadas.

    • Para ignorar entradas de registro duplicadas no BigQuery, inclua o SELECT DISTINCT na consulta. Exemplo:

    SELECT DISTINCT insertId, timestamp FROM TABLE_NAME
    

Erros ao rotear para buckets do Cloud Logging

É possível encontrar uma situação em que é possível ver os registros no Explorador de registros que você excluiu com o coletor. É possível ainda ver esses registros se qualquer uma das seguintes condições for verdadeira:

  • Você está executando sua consulta no projeto do Google Cloud que gerou o ou de sistemas operacionais de contêineres.

    Para corrigir isso, verifique se você está executando a consulta projeto do Google Cloud.

  • Os registros excluídos foram enviados a vários buckets. Você está vendo uma cópia do mesmo registro que pretende excluir.

    Para corrigir isso, verifique seus coletores na página Roteador de registros para garantir que você não incluem os registros em outros coletores filtros.

  • Você tem acesso a visualizações no bucket de registro para onde os registros foram enviados. Nesse caso, você poderá ver esses registros por padrão.

    Para evitar a exibição desses registros na Análise de registros, refinar o escopo da sua pesquisa ao projeto ou bucket de origem do Google Cloud.

Resolver problemas de armazenamento de registros

Por que não consigo excluir esse bucket?

Se você estiver tentando excluir um bucket, faça o seguinte:

  • Verifique se você tem as permissões corretas para excluir o bucket. Para o lista de permissões necessárias, consulte Controle de acesso com o IAM.

  • Determine se o bucket está bloqueado listando os atributos do bucket. Se o bucket estiver bloqueado, verifique o período de armazenamento do bucket. Não é possível excluir um bucket bloqueado até que todos os registros nele tenham cumprido o período de armazenamento.

  • Verifique se o bucket de registros não tem um conjunto de dados do BigQuery vinculado. Não é possível excluir um bucket de registros com um conjunto de dados vinculado.

    O erro a seguir é mostrado em resposta a um comando delete em uma do bucket de registros que tem um conjunto de dados vinculado:

    FAILED_PRECONDITION: This bucket is used for advanced analytics and has an active link. The link must be deleted first before deleting the bucket
    

    Para listar os links associados a um bucket de registros, execute o [gcloud logging links list][link-list] ou execute o projects.locations.buckets.links.list Método de API.

Quais contas de serviço estão roteando registros para meu bucket?

Para determinar se alguma conta de serviço tem permissões de IAM para rotear registros para o bucket, faça o seguinte:

  1. No console do Google Cloud, abra a página IAM.

    Acesse o IAM

    Se você usar a barra de pesquisa para encontrar essa página, selecione o resultado com o subtítulo IAM e administrador.

  2. Na guia Permissões, visualize por Papéis. Há uma tabela com todos os os papéis e principais do IAM associados à sua projeto do Google Cloud.

  3. No campoFiltro caixa de texto, digiteGravador de bucket de registros.

    Você verá todos os principais com o papel de Gravador de bucket de registros. Se um principal for uma conta de serviço, o ID conterá a string gserviceaccount.com.

  4. Opcional: se você quiser impedir que uma conta de serviço roteie registros no seu projeto do Google Cloud, selecione caixa de seleção da conta de serviço e clique em Remover.

Por que vejo registros de um projeto do Google Cloud mesmo que eu os tenha excluído do meu coletor _Default?

Talvez você esteja visualizando registros em um bucket de registros projeto centralizado do Google Cloud, que agrega registros de toda a organização.

Se você estiver usando a Análise de registros para acessar esses registros e ver os que excluído do coletor _Default, sua visualização poderá ter como escopo o para envolvidos no projeto do Google Cloud.

Para corrigir esse problema, selecione Escopo por armazenamento no Painel Refinar escopo e depois selecione o bucket _Default na sua projeto do Google Cloud. Você não verá mais os registros excluídos.