Encaminhar registros para destinos compatíveis

Neste documento, explicamos como criar e gerenciar coletores para rotear entradas de registro para destinos compatíveis.

O Cloud Logging cria e gerencia automaticamente uma conta de serviço para coletores de registros que encaminham registros para um destino que não seja um bucket de registros no projeto atual do Google Cloud. É possível criar e gerenciar uma conta de serviço usada por coletores em vários projetos. Para mais informações, consulte Configurar coletores de registro com contas de serviço gerenciado pelo usuário.

Visão geral

Os coletores controlam como o Cloud Logging encaminha registros. Com coletores, é possível rotear alguns ou todos os registros para os seguintes destinos:

  • Bucket do Cloud Logging: fornece armazenamento no Cloud Logging. Um bucket de registros pode armazenar entradas de registro recebidas por vários projetos do Google Cloud. Para combinar seus dados do Cloud Logging com outros dados, faça upgrade de um bucket de registros para usar a Análise de dados de registros e, em seguida, crie um conjunto de dados vinculado do BigQuery. Para informações sobre como visualizar entradas de registro armazenadas em buckets de registros, consulte Visão geral de consulta e visualização de registros e Visualizar registros roteados para buckets do Cloud Logging.
  • Conjunto de dados do BigQuery: fornece armazenamento de entradas de registro em conjuntos de dados do BigQuery. Os recursos de análise de Big Data podem ser usados nas entradas de registro armazenadas. Para combinar seus dados do Cloud Logging com outras fontes de dados, recomendamos que você faça upgrade dos buckets de registros para usar a Análise de dados de registros e crie um conjunto de dados vinculado do BigQuery. Para informações sobre como visualizar entradas de registro roteadas para o BigQuery, consulte Visualizar registros roteados para o BigQuery.
  • Bucket do Cloud Storage: armazenamento de entradas de registro no Cloud Storage. As entradas de registro são armazenadas como arquivos JSON. Para informações sobre como visualizar entradas de registro roteadas para o Cloud Storage, consulte Visualizar registros roteados para o Cloud Storage.
  • Tópico do Pub/Sub: oferece suporte para integrações de terceiros. As entradas de registro são formatadas em JSON e roteadas para um tópico do Pub/Sub. Para informações sobre como visualizar entradas de registro roteadas para o Pub/Sub, consulte Ver registros roteados para o Pub/Sub.
  • Splunk: oferece suporte ao Splunk. É preciso rotear as entradas de registro para um tópico do Pub/Sub e assinar esse tópico usando o Splunk.
  • Projeto do Google Cloud: rotear entradas de registro para outro projeto do Google Cloud. Quando você encaminha entradas de registro para um projeto diferente do Google Cloud, o roteador de registros do projeto de destino recebe as entradas de registro e as processa. Os coletores no projeto de destino determinam como as entradas de registro recebidas são roteadas. O Error Reporting pode analisar entradas de registro quando o projeto de destino as encaminha para um bucket de registros de propriedade do projeto de destino.
  • Outros recursos: encaminhe suas entradas de registro para um destino compatível que esteja em um projeto diferente. Para informações sobre os caminhos a serem usados, consulte Formatos de caminho de destino.

Os coletores pertencem a um determinado recurso do Google Cloud: projetos, contas de faturamento, pastas e organizações do Google Cloud. Quando o recurso recebe uma entrada de registro, ele encaminha a entrada de acordo com os coletores contidos nele. A entrada de registro é enviada para o destino associado a cada coletor correspondente.

Um coletor agregado é um tipo que combina e encaminha entradas de registro dos recursos do Google Cloud contidos por uma organização ou pasta. Para instruções, consulte Agrupar e rotear registros no nível da organização para destinos compatíveis.

Para criar e gerenciar coletores, é possível usar o console do Google Cloud, a API Cloud Logging e a Google Cloud CLI. O uso do console do Google Cloud tem as seguintes vantagens em relação aos outros métodos:

  • Visualize e gerencie todos os seus coletores em um só lugar.
  • Visualize quais entradas de registro correspondem ao filtro do coletor antes de criá-lo.
  • Criar e autorizar destinos do coletor para seus coletores.

Antes de começar

As instruções neste documento descrevem como criar e gerenciar coletores no nível do projeto do Google Cloud. Também é possível criar coletores não agregados para contas de faturamento, pastas e organizações.

Para começar, faça o seguinte:

  1. Verifique se você tem um projeto do Google Cloud com registros que possam ser exibidos na Análise de registros.

  2. Ative a API Cloud Logging.

    Ative a API

  3. Para receber as permissões necessárias para criar, modificar ou excluir um coletor, peça ao administrador para conceder a você o papel do IAM de Gravador de configuração de registros (roles/logging.configWriter) no projeto. Para mais informações sobre como conceder papéis, consulte Gerenciar acesso.

    Também é possível receber as permissões necessárias com papéis personalizados ou outros papéis predefinidos.

    Para informações sobre como conceder papéis do IAM, consulte o Guia de controle de acesso do Logging.

  4. Você tem um recurso em um destino compatível ou pode criar um.

    Para rotear os registros para um destino, o destino precisa existir antes da criação do coletor. É possível criar o destino em qualquer projeto do Google Cloud em qualquer organização.

    Algumas limitações podem ser aplicadas ao rotear os registros para outros destinos. Para mais informações, consulte Limitações de destino.

Criar um coletor

Confira a seguir as instruções para criar um coletor em um projeto do Google Cloud. Em vez de um projeto do Google Cloud, é possível especificar uma conta, pasta ou organização de faturamento.

É possível criar até 200 coletores por projeto do Google Cloud.

Depois de criar o coletor, verifique se o Logging tem as permissões apropriadas para gravar registros no destino do coletor. Consulte Definir permissões de destino.

Para criar um coletor, faça o seguinte:

Console

  1. No console do Google Cloud, acesse a página Roteador de registros:

    Acessar o roteador de registros

    Se você usar a barra de pesquisa para encontrar essa página, selecione o resultado com o subtítulo Geração de registros.

  2. Selecione um projeto atual do Google Cloud.

  3. Selecione Criar coletor.

  4. No painel Detalhes do coletor, insira os seguintes detalhes:

    • Nome do coletor: forneça um identificador para o coletor. Depois de criar o coletor, não será possível renomeá-lo, mas será possível excluí-lo e criar um novo coletor.

    • Descrição do coletor (opcional): descreva a finalidade ou o caso de uso do coletor.

  5. No painel Destino do coletor, selecione o serviço e o destino do coletor usando o menu Selecionar serviço do coletor.

    1. Para rotear registros para um serviço que esteja no mesmo projeto do Google Cloud, selecione uma das seguintes opções:

      • Bucket do Cloud Logging: selecione ou crie um bucket do Logging.
      • Tabela do BigQuery: selecione ou crie o conjunto de dados específico para receber os registros roteados. Você também tem a opção de usar tabelas particionadas.
      • Bucket do Cloud Storage: selecione ou crie o bucket específico do Cloud Storage para receber os registros roteados.
      • Tópico do Pub/Sub: selecione ou crie o tópico específico para receber os registros roteados.
      • Splunk: selecione o tópico do Pub/Sub do serviço Splunk.
      • Projeto do Google Cloud: selecione ou crie o projeto do Google Cloud para receber os registros roteados.
      • Outro recurso: selecione esta opção para rotear suas entradas de registro para um destino compatível que esteja em um projeto diferente. Para informações sobre o caminho a ser usado, consulte Formatos de caminho de destino.
  6. No painel Escolher registros a serem incluídos no coletor, faça o seguinte:

    1. No campo Criar filtro de inclusão, insira uma expressão de filtro que corresponda às entradas de registro que você quer incluir. Para saber mais sobre a sintaxe para escrever filtros, consulte Linguagem de consulta do Logging.

      Se você não definir um filtro, todos os registros do recurso selecionado serão roteados para o destino.

      Por exemplo, é possível criar um filtro para encaminhar todos os registros de acesso a dados para um único bucket do Logging. Esse filtro tem a seguinte aparência:

      log_id("cloudaudit.googleapis.com/data_access") OR log_id("externalaudit.googleapis.com/data_access")
      

      O comprimento de um filtro não pode exceder 20.000 caracteres.

    2. Para conferir se você inseriu o filtro correto, selecione Visualizar registros. Isso abre o Explorador de registros em uma nova guia com o filtro pré-preenchido.

  7. (Opcional) No painel Escolha os registros para filtrar do coletor, faça o seguinte:

    1. No campo Nome do filtro de exclusão, insira um nome.

    2. No campo Criar um filtro de exclusão, insira uma expressão de filtro que corresponda às entradas de registro que você quer excluir. Também é possível usar a função sample para selecionar uma parte das entradas de registro a serem excluídas.

    É possível criar até 50 filtros de exclusão por coletor. O comprimento de um filtro não pode exceder 20.000 caracteres.

  8. Selecione Criar coletor.

API

  1. Para criar um coletor de geração de registros no seu projeto do Google Cloud, use projects.sinks.create na API Logging. No objeto LogSink, forneça os valores necessários apropriados no corpo da solicitação do método:

    • name: um identificador do coletor. Depois de criar o coletor, não será possível renomear o coletor, mas você poderá excluí-lo e criar um novo coletor.
    • destination: o serviço e o destino para onde você quer que os registros sejam roteados. Para rotear registros para um projeto diferente ou para um destino que esteja em outro projeto, defina o campo destination com o caminho apropriado, conforme descrito em Formatos de caminho de destino.

      Por exemplo, se o destino do coletor for um conjunto de dados do BigQuery, destination será parecido com o seguinte:

      bigquery.googleapis.com/projects/PROJECT_ID/datasets/DATASET_ID
      
  2. No objeto LogSink, forneça as informações opcionais adequadas:

    • filter : defina a propriedade filter de acordo com as entradas de registro que você quer incluir no coletor. Se você não definir um filtro, todos os registros do seu projeto do Google Cloud serão roteados para o destino. O comprimento de um filtro não pode exceder 20.000 caracteres.
    • exclusions: defina essa propriedade para corresponder às entradas de registro que você quer excluir do coletor. Também é possível usar a função sample para selecionar uma parte das entradas de registro a serem excluídas. É possível criar até 50 filtros de exclusão por coletor.
    • description: defina essa propriedade para descrever a finalidade ou o caso de uso do coletor.
  3. Chame projects.sinks.create para criar o coletor.

  4. Se a resposta da API contiver uma chave JSON rotulada como "writerIdentity", conceda à conta de serviço do coletor a permissão para gravar no destino do coletor. Para mais informações, consulte Definir permissões de destino.

    Não é necessário definir permissões de destino quando a resposta da API não contém uma chave JSON rotulada como "writerIdentity".

Para mais informações sobre como criar coletores usando a API Logging, consulte a referência LogSink.

gcloud

Para criar um coletor, execute o seguinte comando gcloud logging sinks create:

Forneça os valores apropriados às variáveis no comando da seguinte maneira:

  • SINK_NAME: um identificador do coletor. Depois de criar o coletor, não será possível renomeá-lo, mas será possível excluí-lo e criar um novo coletor.
  • SINK_DESTINATION: o serviço e o destino para onde você quer que os registros sejam roteados. Se quiser rotear registros para um projeto diferente ou um destino que esteja em outro projeto, defina SINK_DESTINATION com o caminho apropriado, conforme descrito em Formatos de caminho de destino.

    Por exemplo, se o destino do coletor for um conjunto de dados do BigQuery, SINK_DESTINATION será parecido com o seguinte:

    bigquery.googleapis.com/projects/PROJECT_ID/datasets/DATASET_ID
    
  • OPTIONAL_FLAGS inclui as seguintes sinalizações:

    • --log-filter: use essa sinalização para definir um filtro que corresponda às entradas de registro que você quer incluir no coletor. Se você não definir um filtro, todos os registros do seu projeto do Google Cloud serão roteados para o destino.
    • --exclusion: use essa sinalização para definir um filtro de exclusão para entradas de registro que você quer excluir do coletor. Também é possível usar a função sample para selecionar uma parte das entradas de registro a serem excluídas. Essa sinalização pode ser repetida. É possível criar até 50 filtros de exclusão por coletor.
    • --description: use esta sinalização para descrever a finalidade ou o caso de uso do coletor.
gcloud logging sinks create SINK_NAME SINK_DESTINATION OPTIONAL_FLAGS

Por exemplo, para criar um coletor para um bucket do Logging, seu comando pode ter esta aparência:

gcloud logging sinks create my-sink logging.googleapis.com/projects/myproject123/locations/global/buckets/my-bucket \
  --log-filter='logName="projects/myproject123/logs/matched"' --description="My first sink"

Para mais informações sobre como criar coletores usando a Google Cloud CLI, incluindo mais sinalizações e exemplos, consulte a referência gcloud logging sinks.

Novos coletores de registros para buckets do Cloud Storage podem levar várias horas para iniciar o roteamento de registros. Os coletores do Cloud Storage são processados a cada hora, enquanto outros tipos de destino são processados em tempo real.

Os coletores não definem o esquema dos conjuntos de dados do BigQuery. Em vez disso, a primeira entrada de registro recebida pelo BigQuery determina o esquema da tabela de destino. Para mais informações, consulte Esquema do BigQuery para registros roteados.

Para informações sobre como visualizar registros nos destinos do coletor, consulte Visualizar registros roteados para buckets do Cloud Logging.

Depois de criar o coletor, é possível visualizar o número e o volume de entradas de registro recebidas usando as métricas logging.googleapis.com/exports/.

Se você receber notificações de erro, consulte Resolver problemas de roteamento e coletores.

Não coloque informações sensíveis em filtros de coletor. Os filtros do coletor são tratados como dados de serviço.

Formatos de caminho de destino

Se você estiver roteando para um destino que esteja em outro projeto, será necessário fornecer as informações de destino e do serviço do Logging, BigQuery, Cloud Storage ou Pub/Sub:

  • Para rotear entradas de registro para um bucket de registros do Cloud Logging que esteja em um projeto diferente do Google Cloud, o destino do coletor é este:

    logging.googleapis.com/projects/DESTINATION_PROJECT_ID/locations/LOCATION/buckets/BUCKET_NAME
    
  • Para rotear entradas de registro para outro projeto do Google Cloud, o caminho de destino do coletor é o seguinte:

    logging.googleapis.com/projects/DESTINATION_PROJECT_ID
    
  • Para rotear entradas de registro para um conjunto de dados do BigQuery, o destino do coletor é o seguinte:

    bigquery.googleapis.com/projects/PROJECT_ID/datasets/DATASET_ID
    
  • Para rotear entradas de registro para um bucket do Cloud Storage, o destino do coletor é o seguinte:

    storage.googleapis.com/BUCKET_NAME
    
  • Para rotear entradas de registro para um tópico do Pub/Sub, o destino do coletor é o seguinte:

    pubsub.googleapis.com/projects/PROJECT_ID/topics/TOPIC_ID
    

Gerenciar coletores

Depois que os coletores forem criados, execute estas ações:

  • Mais detalhes do coletor
  • Atualizar coletor
  • Desativar coletor
  • Excluir coletor
  • Resolver problemas de coletor
  • Ver as taxas de erro e volume de registro do coletor

Antes de excluir um coletor, considere o seguinte:

  • Não é possível excluir os coletores _Default e _Required, mas é possível desativar os coletores _Default para interromper o roteamento de registros para buckets do Logging _Default.
  • Depois que um coletor é excluído, ele para de rotear as entradas de registro.
  • Se o coletor tiver uma conta de serviço dedicada, a exclusão desse coletor também excluirá a conta de serviço. Os coletores criados antes de 22 de maio de 2023 têm contas de serviço dedicadas. Os coletores criados a partir de 22 de maio de 2023 têm uma conta de serviço compartilhada. A exclusão do coletor não exclui a conta de serviço compartilhada.

As alterações feitas em um coletor podem levar alguns minutos para serem aplicadas.

Confira a seguir as instruções para gerenciar um coletor em um projeto do Google Cloud. Em vez de um projeto do Google Cloud, é possível especificar uma conta, pasta ou organização de faturamento:

Console

  1. No console do Google Cloud, acesse a página Roteador de registros:

    Acessar o roteador de registros

    Se você usar a barra de pesquisa para encontrar essa página, selecione o resultado com o subtítulo Geração de registros.

  2. Selecione o projeto do Google Cloud que contém seu coletor usando o seletor de recursos de qualquer lugar no console do Google Cloud:

    Um projeto é selecionado no menu suspenso.

  3. Para visualizar os coletores agregados, selecione a organização, a pasta ou a conta de faturamento que contém o coletor.

A interface Roteador de registros contém um resumo da tabela de coletores. Cada linha da tabela contém informações sobre as propriedades de um coletor:

  • Ativado: indica se o estado do coletor está ativado ou desativado.
  • Tipo: o serviço de destino do coletor. por exemplo, Cloud Logging bucket.
  • Nome: o identificador do coletor, conforme fornecido quando o coletor foi criado. Por exemplo, _Default.
  • Descrição: a descrição do coletor, conforme fornecido quando o coletor foi criado.
  • Destino: o nome completo do destino para onde as entradas de registro roteadas serão enviadas.
  • Criado: a data e hora em que o coletor foi criado.
  • Última atualização: a data e a hora em que o coletor foi editado pela última vez.

Para cada linha da tabela, o menu Mais ações oferece as seguintes opções:

  • Visualizar detalhes do coletor: exibe o nome, a descrição, o serviço de destino, o destino e os filtros de inclusão e exclusão do coletor. Selecione Editar para abrir o painel Editar coletor.
  • Editar coletor: abre o painel Editar coletor em que é possível atualizar os parâmetros do coletor.
  • Desativar coletor: permite desativar o coletor e parar de rotear os registros para o destino do coletor. Para mais informações sobre como desativar coletores, consulte Parar de armazenar registros em buckets de registros.
  • Ativar coletor: permite que você ative um coletor desativado e reinicie os registros de roteamento para o destino do coletor.
  • Excluir coletor: permite excluir o coletor e parar de rotear os registros para o destino do coletor.
  • Resolver problemas do coletor: abre a Análise de registros, onde é possível solucionar problemas com o coletor.
  • Visualizar o volume de registro do coletor e as taxas de erro: abre o Metrics Explorer, em que é possível visualizar e analisar os dados do coletor.

Ao clicar em qualquer um dos nomes de coluna, você organiza os dados em ordem crescente ou decrescente.

API

  • Para ver os coletores do seu projeto do Google Cloud, chame projects.sinks.list.

  • Para visualizar os detalhes de um coletor, chame projects.sinks.get.

  • Para atualizar um coletor, chame projects.sink.update.

    É possível atualizar o destino, os filtros e a descrição de um coletor. Também é possível desativar ou reativar o coletor.

  • Para desativar um coletor, chame projects.sink.update e defina a propriedade disabled como true.

    Para reativar o coletor, chame projects.sink.update e defina a propriedade disabled como false.

  • Para excluir um coletor, chame projects.sinks.delete.

    Para mais informações sobre qualquer um desses métodos para gerenciar coletores usando a API Logging, consulte a referência LogSink.

gcloud

  • Para visualizar a lista de coletores do projeto do Google Cloud, use o comando gcloud logging sinks list, que corresponde ao método projects.sinks.list da API Logging:

    gcloud logging sinks list
    

    Para visualizar a lista de coletores agregados, use a sinalização apropriada para especificar o recurso que contém o coletor. Por exemplo, se você criou o coletor no nível da organização, use a sinalização --organization=ORGANIZATION_ID para listar os coletores da organização.

  • Para descrever um coletor, use o comando gcloud logging sinks describe, que corresponde ao método da API Logging projects.sinks.get:

    gcloud logging sinks describe SINK_NAME
    
  • Para atualizar um coletor, use o comando gcloud logging sinks update, que corresponde ao método de API projects.sink.update.

    Atualize um coletor para alterar o destino, os filtros e a descrição, ou para desativar ou reativar o coletor:

    gcloud logging sinks update SINK_NAME NEW_DESTINATION --log-filter=NEW_FILTER

    Omita NEW_DESTINATION ou --log-filter se essas partes não mudarem.

    Por exemplo, para atualizar o destino do coletor denominado my-project-sink para um novo destino de bucket do Cloud Storage chamado my-second-gcs-bucket, o comando é semelhante a este:

    gcloud logging sinks update  my-project-sink  storage.googleapis.com/my-second-gcs-bucket
    
  • Para desativar um coletor, use o comando gcloud logging sinks update, que corresponde ao método de API projects.sink.update, e inclua a sinalização --disabled:

    gcloud logging sinks update _Default  --disabled
    

    Para reativar o coletor, use o comando gcloud logging sinks update, remova a sinalização --disabled e inclua a sinalização --no-disabled:

    gcloud logging sinks update _Default  --no-disabled
    
  • Para excluir um coletor, use o comando gcloud logging sinks delete, que corresponde ao método de API projects.sinks.delete:

    gcloud logging sinks delete SINK_NAME
    

    Para mais informações sobre como gerenciar coletores usando a Google Cloud CLI, consulte a referência de gcloud logging sinks.

Parar de armazenar registros em buckets

Para cada projeto do Google Cloud, o Logging cria automaticamente dois buckets de registros: _Required e _Default. A geração de registros cria automaticamente dois coletores de registro, _Required e _Default, que roteiam os registros para os buckets correspondentes.

Não é possível desativar o coletor _Required. É possível desativar o coletor _Default para impedir que os registros sejam armazenados no bucket _Default. Também é possível desativar qualquer coletor definido pelo usuário.

Quando você desativa todos os coletores no projeto do Google Cloud que enviam registros para o bucket _Default, nenhum registro novo é armazenado nesse bucket de registros. O bucket _Default estará vazio quando todos os registros armazenados anteriormente no bucket _Default tiverem atendido ao período de armazenamento do bucket.

Para desativar os coletores de projeto do Google Cloud que encaminham registros para o bucket _Default, conclua as seguintes etapas:

Console

  1. No console do Google Cloud, acesse a página Roteador de registros:

    Acessar o roteador de registros

    Se você usar a barra de pesquisa para encontrar essa página, selecione o resultado com o subtítulo Geração de registros.

  2. Para encontrar todos os coletores que direcionam registros para o bucket _Default, filtre os coletores por destino e insira _Default.

    Encontrar todos os coletores que encaminham registros para o bucket padrão.

  3. Para cada coletor, selecione Menu e, em seguida, Desativar coletor.

Os coletores agora estão desativados e os coletores do seu projeto do Google Cloud não encaminham mais os registros para o bucket _Default.

Para reativar um coletor desativado e reiniciar os registros de roteamento, siga estas etapas:

  1. No console do Google Cloud, acesse a página Roteador de registros:

    Acessar o roteador de registros

    Se você usar a barra de pesquisa para encontrar essa página, selecione o resultado com o subtítulo Geração de registros.

  2. Para encontrar todos os coletores desativados configurados anteriormente para rotear registros para o bucket _Default, filtre os coletores por destino e digite _Default.

  3. Para cada coletor, selecione Menu e, em seguida, Ativar coletor.

API

  1. Para visualizar os coletores do seu projeto do Google Cloud, chame o método da API Logging projects.sinks.list.

    Identifique os coletores que estão roteando para o bucket _Default.

  2. Por exemplo, para desativar o coletor _Default, chame projects.sink.update e defina a propriedade disabled como true.

O coletor _Default agora está desativado. Ele não encaminha mais registros para o bucket _Default.

Para desativar os outros coletores no projeto do Google Cloud que estão roteando para o bucket _Default, repita as etapas acima.

Para reativar um coletor, chame projects.sink.update e defina a propriedade disabled como false.

gcloud

  1. Para visualizar a lista de coletores do projeto do Google Cloud, use o comando gcloud logging sinks list, que corresponde ao método projects.sinks.list da API Logging:

    gcloud logging sinks list
    
  2. Identifique os coletores que estão roteando para o bucket _Default. Para descrever um coletor, incluindo a visualização do nome do destino, use o comando gcloud logging sinks describe, que corresponde ao método da API Logging projects.sinks.get:

    gcloud logging sinks describe SINK_NAME
    
  3. Por exemplo, para desativar o coletor _Default, use o comando gcloud logging sinks update e inclua a sinalização --disabled:

    gcloud logging sinks update _Default  --disabled
    

O coletor _Default agora está desativado. Ele não encaminha mais registros para o bucket _Default.

Para desativar os outros coletores no projeto do Google Cloud que estão roteando para o bucket _Default, repita as etapas acima.

Para reativar um coletor, use o comando gcloud logging sinks update, remova a sinalização --disabled e inclua a sinalização --no-disabled:

gcloud logging sinks update _Default  --no-disabled

Definir permissões de destino

Nesta seção, descrevemos como conceder permissões de gerenciamento de identidade e acesso ao Logging para gravar registros no destino do coletor. Para a lista de papéis e permissões do Logging, consulte Controle de acesso.

O Cloud Logging cria uma conta de serviço compartilhada para um recurso quando um coletor de registros é criado, a menos que a conta de serviço necessária já exista. A conta de serviço pode existir porque a mesma conta de serviço é usada para todos os coletores no recurso subjacente. Os recursos podem ser um projeto do Google Cloud, uma organização, uma pasta ou uma conta de faturamento.

A identidade do gravador de um coletor é o identificador da conta de serviço associada a ele. Todos os coletores têm uma identidade de gravador, exceto os coletores que gravam em um bucket de registros no projeto atual do Google Cloud. Quando o destino de um coletor é um bucket de registros no projeto atual do Google Cloud, o coletor não requer outras permissões de destino. Portanto, o valor do campo de identidade do gravador é listado como None no console e não é informado pela API e pelos comandos da Google Cloud CLI.

Veja a seguir as instruções para configurar permissões no nível do projeto do Google Cloud para que seu coletor seja roteado para o destino. Em vez de um projeto do Google Cloud, é possível especificar uma conta, pasta ou organização de faturamento:

Console

  1. Para conseguir a identidade de gravador do coletor (um endereço de e-mail) do novo coletor, faça o seguinte:

    1. No console do Google Cloud, acesse a página Roteador de registros:

      Acessar o roteador de registros

      Se você usar a barra de pesquisa para encontrar essa página, selecione o resultado com o subtítulo Geração de registros.

    2. Selecione Menu e, em seguida, Visualizar detalhes do coletor. A identidade do gravador aparece no painel Detalhes do coletor.

  2. Se o valor do campo writerIdentity contiver um endereço de e-mail, prossiga para a próxima etapa. Quando o valor for None, não será necessário configurar permissões de destino para o coletor.

  3. Para copiar a identidade do gravador do coletor para a área de transferência, clique em Copiar.

  4. Se você tiver acesso de Proprietário ao destino, adicione a conta de serviço como principal do IAM no projeto de destino:

    • Para destinos do Cloud Storage, adicione a identidade do gravador do coletor como principal usando o IAM e conceda o papel Criador de objetos do Storage (roles/storage.objectCreator).
    • Para destinos do BigQuery, adicione a identidade do gravador do coletor como principal usando o IAM e conceda o papel Editor de dados do BigQuery (roles/bigquery.dataEditor).
    • Para destinos do Pub/Sub, incluindo o Splunk, adicione a identidade de gravador do coletor como um principal usando o IAM e conceda o papel de Editor do Pub/Sub (roles/pubsub.publisher).
    • Para destinos de bucket do Logging em diferentes projetos do Google Cloud, adicione a identidade de gravador do coletor como principal usando o IAM e conceda o papel Gravador de bucket de registros (roles/logging.bucketWriter).
    • Para destinos de projetos do Google Cloud, adicione a identidade de gravador do coletor como principal usando o IAM e conceda o papel Gravador de registros (roles/logging.logWriter). Especificamente, um principal precisa da permissão logging.logEntries.route.
    Se você não tiver acesso de Proprietário ao destino do coletor, peça a um proprietário do projeto para adicionar a identidade de gravador como principal.

API

  1. Chame o método de API projects.sinks.list para listar os coletores no projeto do Google Cloud.

  2. Localize o coletor que tem as permissões que você quer modificar e, se os detalhes dele contiverem uma chave JSON rotulada como "writerIdentity", prossiga para a próxima etapa. Quando os detalhes não incluem um campo "writerIdentity", não é necessário configurar permissões de destino para o coletor.

  3. Se você tiver acesso de Proprietário do IAM ao destino, adicione a conta de serviço ao destino fazendo o seguinte:

    • Para destinos do Cloud Storage, adicione a identidade do gravador do coletor como principal usando o IAM e conceda o papel Criador de objetos do Storage (roles/storage.objectCreator).
    • Para destinos do BigQuery, adicione a identidade do gravador do coletor como principal usando o IAM e conceda o papel Editor de dados do BigQuery (roles/bigquery.dataEditor).
    • Para destinos do Pub/Sub, incluindo o Splunk, adicione a identidade de gravador do coletor como um principal usando o IAM e conceda o papel de Editor do Pub/Sub (roles/pubsub.publisher).
    • Para destinos de bucket do Logging em diferentes projetos do Google Cloud, adicione a identidade de gravador do coletor como principal usando o IAM e conceda o papel Gravador de bucket de registros (roles/logging.bucketWriter).
    • Para destinos de projetos do Google Cloud, adicione a identidade de gravador do coletor como principal usando o IAM e conceda o papel Gravador de registros (roles/logging.logWriter). Especificamente, um principal precisa da permissão logging.logEntries.route.
    Se você não tiver acesso de Proprietário ao destino do coletor, peça a um proprietário do projeto para adicionar a identidade de gravador como principal.

gcloud

  1. Consiga a conta de serviço do campo writerIdentity no seu coletor:

    gcloud logging sinks describe SINK_NAME
    
  2. Localize o coletor que tem as permissões que você quer modificar e, se os detalhes dele contiverem uma linha com writerIdentity, prossiga para a próxima etapa. Quando os detalhes não incluem um campo writerIdentity, não é necessário configurar permissões de destino para o coletor.

    O valor do campo SERVICE_ACCT_NAME nas etapas a seguir é a identidade do gravador, que é semelhante a esta:

    serviceAccount:service-123456789012@gcp-sa-logging.iam.gserviceaccount.com
    
  3. Se você tiver acesso de Proprietário do IAM ao destino, adicione a conta de serviço ao destino fazendo o seguinte:

    • Para destinos do Cloud Storage, adicione a identidade do gravador do coletor como principal usando o IAM e conceda o papel Criador de objetos do Storage (roles/storage.objectCreator).
    • Para destinos do BigQuery, adicione a identidade do gravador do coletor como principal usando o IAM e conceda o papel Editor de dados do BigQuery (roles/bigquery.dataEditor).
    • Para destinos do Pub/Sub, incluindo o Splunk, adicione a identidade de gravador do coletor como um principal usando o IAM e conceda o papel de Editor do Pub/Sub (roles/pubsub.publisher).
    • Para destinos de bucket do Logging em diferentes projetos do Google Cloud, adicione a identidade de gravador do coletor como principal usando o IAM e conceda o papel Gravador de bucket de registros (roles/logging.bucketWriter).
    • Para destinos de projetos do Google Cloud, adicione a identidade de gravador do coletor como principal usando o IAM e conceda o papel Gravador de registros (roles/logging.logWriter). Especificamente, um principal precisa da permissão logging.logEntries.route.
    Se você não tiver acesso de Proprietário ao destino do coletor, peça a um proprietário do projeto para adicionar a identidade de gravador como principal.

    Por exemplo, para conceder o papel de Gravador de registros (roles/logging.logWriter) à conta de serviço service-123456789012@gcp-sa-logging.iam.gserviceaccount.com no projeto my-test-project, execute o seguinte comando:

    gcloud projects add-iam-policy-binding my-test-project --member='serviceAccount:service-123456789012@gcp-sa-logging.iam.gserviceaccount.com' --role='roles/logging.logWriter'
    

Limitações de destino

Dependendo do destino para o qual você encaminha os registros, pode haver algumas limitações.

Rotear para buckets de registros em diferentes projetos do Google Cloud

As limitações a seguir se aplicam quando você encaminha os registros para buckets em diferentes projetos do Google Cloud:

  • O Error Reporting é desativado nos registros armazenados em buckets que usam chaves de criptografia gerenciadas pelo cliente.

Rotear para projetos diferentes do Google Cloud

As limitações a seguir se aplicam quando você encaminha os registros para diferentes projetos do Google Cloud:

  • Há um limite de um salto. Por exemplo, se você rotear entradas de registro do projeto A para o B, não será possível rotear as entradas de registro do projeto B para um projeto diferente.

  • Os registros de auditoria não são roteados para o bucket _Required no projeto de destino. Você precisa criar outro coletor ou bucket para armazená-los.

  • Se a organização ou pasta que contém o projeto do Google Cloud que você está roteando já tiver coletores agregados, os registros não serão roteados por esses coletores agregados.

Amostras de código

Para usar o código da biblioteca de cliente para configurar coletores nos idiomas escolhidos, consulte Bibliotecas de cliente do Logging: coletores de registros.

Exemplos de filtros

Veja a seguir alguns exemplos de filtro que são particularmente úteis ao criar coletores.

Para outros exemplos que podem ser úteis ao criar seus filtros de inclusão e de exclusão, consulte Amostra de consultas.

Restaurar o filtro do coletor _Default

Se você editou o filtro para o coletor _Default, talvez queira restaurar o filtro padrão. Para fazer isso, insira o seguinte filtro de inclusão:

  NOT log_id("cloudaudit.googleapis.com/activity") AND NOT \
  log_id("externalaudit.googleapis.com/activity") AND NOT \
  log_id("cloudaudit.googleapis.com/system_event") AND NOT \
  log_id("externalaudit.googleapis.com/system_event") AND NOT \
  log_id("cloudaudit.googleapis.com/access_transparency") AND NOT \
  log_id("externalaudit.googleapis.com/access_transparency")

Excluir registros de contêiner e de pod do Google Kubernetes Engine

Para excluir registros de contêiner e pod do Google Kubernetes Engine para o sistema do GKE namespaces, use o seguinte filtro:

resource.type = ("k8s_container" OR "k8s_pod")
resource.labels.namespace_name = (
"cnrm-system" OR
"config-management-system" OR
"gatekeeper-system" OR
"gke-connect" OR
"gke-system" OR
"istio-system" OR
"knative-serving" OR
"monitoring-system" OR
"kube-system")

Para excluir os registros de nó do Google Kubernetes Engine do sistema GKE logNames, use o filtro a seguir:

resource.type = "k8s_node"
logName:( "logs/container-runtime" OR
"logs/docker" OR
"logs/kube-container-runtime-monitor" OR
"logs/kube-logrotate" OR
"logs/kube-node-configuration" OR
"logs/kube-node-installation" OR
"logs/kubelet" OR
"logs/kubelet-monitor" OR
"logs/node-journal" OR
"logs/node-problem-detector")

Para ver o volume de registros de , pod e contêiner do Google Kubernetes Engine armazenados em buckets de registros, use o Metrics Explorer no Cloud Monitoring.

Exclua registros de Dataflow que não são necessários para compatibilidade

Para excluir os registros do Dataflow que não são necessários para suporte, use o seguinte filtro:

resource.type="dataflow_step"
labels."dataflow.googleapis.com/log_type"!="system" AND labels."dataflow.googleapis.com/log_type"!="supportability"

Para visualizar o volume de registros do Dataflow armazenados nos buckets de registros, use o Metrics Explorer no Cloud Monitoring.

Compatibilidade

Embora o Cloud Logging forneça a capacidade de excluir registros do armazenamento em um bucket de registros, é recomendável manter os registros que ajudam no suporte. O uso desses registros pode ajudar você a solucionar problemas rapidamente e identificar problemas nos seus aplicativos.

Por exemplo, os registros do sistema do GKE são úteis para solucionar problemas de aplicativos e clusters do GKE porque são gerados para eventos que acontecem no cluster. Esses registros podem ajudar você a determinar se o código do aplicativo ou o cluster subjacente do GKE está causando o erro do aplicativo. Os registros do sistema do GKE também incluem o Kubernetes Audit Logging gerado pelo componente servidor da API Kubernetes, que inclui alterações feitas usando o comando kubectl e os eventos do Kubernetes.

Para o Dataflow, recomendamos que você grave, no mínimo, os registros do sistema (labels."dataflow.googleapis.com/log_type"="system") e os registros de compatibilidade (labels."dataflow.googleapis.com/log_type"="supportability") em buckets de registros. Esses registros são essenciais para que os desenvolvedores observem e resolvam problemas de pipelines do Dataflow. Além disso, talvez os usuários não consigam usar a página Detalhes do job do Dataflow para visualizar os registros do job.

A seguir