Encaminhar registros para destinos compatíveis

Este documento explica como criar e gerenciar coletores, que roteiam entradas de registro originadas em um projeto do Google Cloud para destinos compatíveis.

Quando o destino de um coletor não for um bucket de registros no projeto do Google Cloud de origem de uma entrada de registro, é necessário ter uma conta de serviço. O Cloud Logging cria e gerencia automaticamente essa conta de serviço. No entanto, pode ser necessário modificar as permissões concedidas ao conta de serviço. É possível criar e gerenciar uma conta de serviço que é usado por coletores em vários projetos. Para mais informações, consulte Configurar coletores de registros com contas de serviço gerenciado pelo usuário.

Visão geral

Coletores determinam como o Cloud Logging encaminha entradas de registro. Ao usar coletores, você pode rotear para alguns ou todos entradas de registro para os seguintes destinos:

  • Bucket do Cloud Logging: fornece armazenamento no Cloud Logging. Um bucket de registros pode armazenar entradas de registro recebidos por vários projetos do Google Cloud. O bucket de registros pode estar no mesmo projeto de origem das entradas de registro ou em um projeto diferente. É possível combinar do Cloud Logging com outros dados. Para isso, faça upgrade de um bucket de registros para usar a Análise de dados de registros e, em seguida, criar um conjunto de dados vinculado do BigQuery. Para informações sobre como exibir entradas de registro armazenadas em buckets de registros, consulte Visão geral de consultas e 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. O conjunto de dados do BigQuery pode estar no mesmo projeto em que as entradas de registro se originam ou em um projeto diferente. Use os recursos de análise de Big Data nas entradas de registro armazenadas. Para combinar seus dados do Cloud Logging com outros fontes de dados, recomendamos que você faça o upgrade dos buckets de registros a Análise de dados de registros e, em seguida, criar um conjunto de dados do BigQuery vinculado. Para mais informações sobre como visualizar entradas de registro roteadas para o BigQuery, consulte Veja os registros roteados para o BigQuery.
  • Bucket do Cloud Storage: armazenamento de entradas de registro no Cloud Storage. O bucket do Cloud Storage pode estar no mesmo projeto em que as entradas de registro se originam ou em um projeto diferente. As entradas de registro são armazenadas na forma de arquivos JSON. Para informações sobre como visualizar entradas de registro roteadas para o Cloud Storage, consulte Ver registros roteados para o Cloud Storage.
  • Tópico do Pub/Sub: oferece suporte a aplicativos integrações, como Splunk: As entradas de registro são formatadas em JSON e roteadas para um Pub/Sub tópico. O tópico pode estar no mesmo projeto em que as entradas de registro se originam ou em um projeto diferente. Para informações sobre como visualizar entradas de registro roteadas para Pub/Sub, consulte Veja os registros roteados para o Pub/Sub.

  • Projeto do Google Cloud: direcione as entradas de registro para outro projeto do Google Cloud. Em nessa configuração, os coletores do projeto de destino as entradas de registro.

Os coletores pertencem a um determinado recurso do Google Cloud: um projeto do Google Cloud, uma conta de faturamento, uma pasta ou uma organização. Quando o recurso recebe entrada de registro, todos os coletores no recurso processam a entrada de registro. Quando um entrada de registro corresponder aos filtros do coletor, ela será roteadas para o destino do coletor.

Normalmente, os coletores encaminham apenas as entradas de registro originadas em um recurso. No entanto, para pastas e organizações, é possível criar coletores agregados, quais entradas de registro são roteadas da pasta ou organização recursos o que ele contém. Este documento não trata coletores agregados. Para mais informações, consulte Agrupar e rotear registros no nível da organização para destinos compatíveis.

Para criar e gerenciar coletores, use o console do Google Cloud, a API Cloud Logging e a Google Cloud CLI. Recomendamos que você use o console do Google Cloud:

  • A página Roteador de registros lista todos os coletores e fornece opções para gerenciar seus coletores.
  • Ao criar um coletor, é possível visualizar quais entradas de registro os filtros do coletor.
  • É possível configurar destinos de coletor ao criar um coletor.
  • Algumas etapas de autorização foram concluídas para você.

Antes de começar

As instruções neste documento descrevem como criar e gerenciar coletores para envolvidos no projeto do Google Cloud. Use o mesmo procedimento para criar um coletor que encaminha entradas de registro originadas em uma organização, pasta ou do Google Cloud.

Para começar, faça o seguinte:

  1. Ative a API Cloud Logging.

    Ative a API

  2. Verifique se o projeto do Google Cloud contém entradas de registro que podem ser consultadas a Análise de registros.

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

    Também é possível conseguir 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 entradas de registro para um destino, ele precisa existir antes de criar o coletor. É possível criar o destino de qualquer projeto do Google Cloud em qualquer organização.

  5. Antes de criar um coletor, revise as limitações que se aplicam ao destino do coletor. Para mais informações, consulte a Limitações de destino deste documento.

Criar um coletor

Confira a seguir as instruções para criar um coletor em um projeto do Google Cloud. É possível usar o mesmo procedimento para rotear entradas de registro que se originam em uma organização, pasta ou conta de faturamento:

  • É possível criar até 200 coletores por projeto do Google Cloud.
  • Não coloque informações sensíveis em filtros de coletor. Os filtros do coletor são tratados como dados de serviço.
  • Novos coletores para os buckets do Cloud Storage podem levar várias horas para iniciar o roteamento de entradas de registro. Os coletores para o Cloud Storage são processados a cada hora e os 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 para a tabela de destino. Para mais informações, consulte Esquema do BigQuery para registros roteados

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 Logging.

  2. Selecione o projeto do Google Cloud em que as entradas de registro que você quer rotear a origem.

    Por exemplo, se você quer rotear as entradas de registro de acesso a dados o projeto chamado Project-A para um bucket de registros no projeto chamado Project-B e selecione Project-A.

  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 do coletor e destino usando o menu Selecionar serviço de coletor. Siga uma destas etapas seguintes:

    • Para rotear entradas de registro para um serviço que está no mesmo projeto do Google Cloud, selecione uma das seguintes opções:

      • Conjunto de dados do BigQuery: selecione ou crie o para receber as entradas de registro roteadas. Você também tem a opção para usar tabelas particionadas.
      • Bucket do Cloud Storage: selecione ou crie o bucket o bucket do Cloud Storage para receber as entradas de registro roteadas.
      • Tópico do Pub/Sub: selecione ou crie o tópico para receber as entradas de registro roteadas.
      • Splunk: selecione o tópico do Pub/Sub do serviço Splunk.
    • Para rotear entradas de registro para outro projeto do Google Cloud, Selecione Google Cloud project e insira o nome totalmente qualificado. para o destino. Para obter informações sobre a sintaxe, consulte a Formatos de caminho de destino.

    • Se quiser rotear entradas de registro para um serviço projeto do Google Cloud, faça o seguinte:

      1. Selecione Outro recurso.
      2. Insira o nome totalmente qualificado para o destino. Para informações sobre a sintaxe, consulte a Formatos de caminho de destino.
  6. Especifique as entradas de registro a serem incluídas:

    1. Acesse o painel Escolher os registros para incluir no coletor.

    2. No campo Criar filtro de inclusão, digite 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, todas as entradas de registro do recurso selecionado são encaminhadas para o destino.

      Por exemplo, para rotear todas as entradas de registro de acesso a dados para um do Cloud Logging, é possível usar o seguinte filtro:

      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.

    3. Para conferir se você inseriu o filtro correto, selecione Visualizar registros. A Análise de registros é aberta em uma nova guia com o filtro pré-preenchidas.

  7. (Opcional) Configure um filtro de exclusão para eliminar alguns entradas de registro incluídas:

    1. Acesse o painel Escolha os registros para filtrar do coletor.

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

    3. 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.

  9. Conceda à conta de serviço do coletor a permissão para gravar entradas de registro ao destino do coletor. Para mais informações, consulte Defina permissões de destino.

API

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

    • 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 em que você quer que o roteadas. Para rotear entradas de registro para um projeto diferente, ou para um destino que estiver em outro projeto, defina o campo destination com o caminho apropriado, conforme descrito nas Formatos de caminho de destino.

      Por exemplo, se o destino do coletor for um Pub/Sub o destination ficará assim:

      pubsub.googleapis.com/projects/PROJECT_ID/topics/TOPIC_ID
      
  2. No objeto LogSink, forneça o parâmetro opcional apropriado informações:

    • filter : defina o filter. para corresponder às entradas de registro que você quer incluir no coletor. Se Se você não definir um filtro, todas as entradas de registro projeto do Google Cloud são roteadas para o destino. O comprimento de um filtro não pode exceder 20.000 caracteres.
    • exclusions: defina este campo para corresponder às entradas de registro que você quer para excluir do seu 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 este campo para descrever a finalidade ou o caso de uso do na pia.
  3. Chame projects.sinks.create para criar o coletor.

  4. Se a resposta da API contiver uma chave JSON com o rótulo "writerIdentity", conceda à conta de serviço do coletor a permissão para gravar o 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 identificada como "writerIdentity".

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

gcloud

Para criar um coletor, faça o seguinte:

  1. Execute este comando gcloud logging sinks create:

    gcloud logging sinks create SINK_NAME SINK_DESTINATION
    

    Antes de executar o comando, faça estas substituições:

    • SINK_NAME: o nome do coletor de registros. Não é possível alterar o nome de um coletor depois de criá-lo.
    • SINK_DESTINATION: o serviço ou projeto para onde você quer encaminhar as entradas de registro. Definir SINK_DESTINATION pelo caminho apropriado, conforme descrito nas Formatos de caminho de destino.

      Por exemplo, se o destino do coletor for um Pub/Sub , SINK_DESTINATION terá esta aparência:

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

    Você também pode fornecer as seguintes opções:

    • --log-filter : use essa opção para definir um filtro que corresponde às entradas de registro que você quer incluir no coletor. Se você não fornecerem um valor para o filtro de inclusão, este filtro corresponde a todas as entradas de registro.
    • --exclusion: use esta opção para definir um filtro de exclusão para entradas de registro em que você quer excluir o coletor do roteamento. Também é possível usar a função sample para selecionar uma parte das entradas de registro a serem excluídas. Essa opção pode ser repetido; é possível criar até 50 e de exclusão por coletor.
    • --description: use essa opção para descrever a finalidade ou o caso de uso. para o coletor.

    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 o Google Cloud CLI, consulte Referência de gcloud logging sinks.

  2. Se a resposta do comando contiver uma chave JSON rotulada como "writerIdentity", conceda à conta de serviço do coletor a permissão para gravar o 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 não contém uma chave JSON identificada como "writerIdentity".

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

Formatos de caminho de destino

Se você rotear entradas de registro para um serviço que esteja em outro projeto, será preciso forneça ao coletor o nome totalmente qualificado do serviço. Da mesma forma, Se você rotear entradas de registro para outro projeto do Google Cloud, será preciso forneça ao coletor o nome totalmente qualificado do projeto de destino:

  • Bucket de registros do Cloud Logging:

    logging.googleapis.com/projects/DESTINATION_PROJECT_ID/locations/LOCATION/buckets/BUCKET_NAME
    
  • Outro projeto do Google Cloud:

    logging.googleapis.com/projects/DESTINATION_PROJECT_ID
    
  • Conjunto de dados do BigQuery:

    bigquery.googleapis.com/projects/PROJECT_ID/datasets/DATASET_ID
    
  • Cloud Storage:

    storage.googleapis.com/BUCKET_NAME
    
  • Tópico do Pub/Sub:

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

Gerenciar coletores

Depois que os coletores forem criados, será possível realizar as ações a seguir neles. As alterações feitas em um coletor podem levar alguns minutos para serem aplicadas:

  • Ver detalhes
  • Atualizar
  • Desativar

    • Não é possível desativar o coletor _Required.
    • É possível desativar o coletor _Default para impedir que ele roteie entradas de registro para o bucket _Default do Logging.
    • Se você quiser desativar o coletor _Default para novos pastas ou projetos do Google Cloud criados na sua organização, depois considere configurar configurações de recursos padrão.
  • Excluir

    • Não é possível excluir os coletores _Default ou _Required.
    • Quando você exclui um coletor, ele não encaminha mais as entradas de registro.
    • Se o coletor tiver uma conta de serviço dedicada, excluir esse coletor também exclui a conta de serviço. Coletores criados antes 22 de maio de 2023 têm contas de serviço dedicadas. Coletores criados a partir de 22 de maio de 2023 tenham uma conta de serviço compartilhada. A exclusão do coletor não exclui a conta de serviço compartilhada.
  • Resolver falhas

  • Conferir o volume de registros e as taxas de erro

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 de faturamento, pasta ou organização:

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 Logging.

  2. Na barra de ferramentas, selecione o recurso que contém o coletor. A pode ser um projeto, uma pasta, uma organização ou uma conta de faturamento.

A página Roteador de registros exibe os coletores no recurso selecionado. 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: nome completo do destino para onde o registro roteado como as entradas sã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 entradas de registro de roteamento ao destino do coletor. Para mais informações sobre como desativar coletores, consulte Parar de armazenar registros em buckets de registros.
  • Ativar coletor: permite ativar um coletor desativado e reiniciar o roteamento. de registros para o destino do coletor.
  • Excluir coletor: permite excluir o coletor e parar entradas de registro de roteamento para o destino do coletor.
  • Resolver problemas do coletor: abre a Análise de registros, onde é possível resolver problemas erros com o coletor.
  • Visualizar o volume de registros do coletor e as taxas de erro: abre o Metrics Explorer. em que é possível conferir e analisar os dados do coletor.

Para classificar a tabela por uma coluna, selecione o nome dela.

API

  • Para visualizar 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. Você pode desativar ou reativar o coletor.

  • Para desativar um coletor, defina o campo disabled no objeto LogSink como true e, em seguida, chame projects.sink.update.

    Para reativá-lo, faça o seguinte: defina o campo disabled no objeto LogSink como false e, em seguida, chame projects.sink.update.

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

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

gcloud

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

    gcloud logging sinks list
    

    Para ver sua lista de coletores agregados, use o opção apropriada para especificar o recurso que contém o coletor. Para Por exemplo, se você criou o coletor no nível da organização, use o --organization=ORGANIZATION_ID para listar os coletores para a 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.

    É possível atualizar um coletor para alterar o destino, os filtros e 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 gcloud logging sinks update que corresponde ao método da API projects.sink.update, e inclua a opção --disabled:

    gcloud logging sinks update SINK_NAME --disabled
    

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

    gcloud logging sinks update SINK_NAME --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 o Google Cloud CLI, consulte Referência de gcloud logging sinks.

Parar de armazenar entradas de registro em buckets de registros

É possível desativar o coletor _Default e qualquer coletor definido pelo usuário. Quando você desativar um coletor, ele para de rotear as entradas de registro para o destino. Por exemplo, se você desativar o coletor _Default, nenhuma entrada de registro será roteada para o bucket _Default. A O bucket _Default fica vazio quando todas as entradas de registro armazenadas anteriormente atendem aos requisitos período de armazenamento.

As instruções a seguir ilustram como desativar os coletores de projetos do Google Cloud que roteiam as entradas de registro para o _Default buckets de registros:

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 Logging.

  2. Para encontrar todos os coletores que roteiam entradas de registro para o bucket de registros _Default, filtrar os coletores por destino e depois inserir _Default.
  3. Para cada coletor, selecione Menu e e selecione Desativar coletor.

    Os coletores estão desativados e os coletores do seu projeto do Google Cloud não rotas de registro mais longas para o bucket _Default.

Para reativar um coletor desativado e reiniciar as entradas de registro de roteamento para a destino, 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 Logging.

  2. Para encontrar todos os coletores que roteiam entradas de registro para o bucket de registros _Default, filtrar os coletores por destino e depois inserir _Default.
  3. Para cada coletor, selecione Menu e e selecione Ativar coletor.

API

  1. Para visualizar os coletores do seu projeto do Google Cloud, chame o método 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, Defina o campo disabled no objeto LogSink como true e, em seguida, chame projects.sink.update.

    O coletor _Default agora está desativado. ele não encaminha mais entradas de registro para bucket _Default.

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

Para reativar um coletor, defina o campo disabled no objeto LogSink como false e, em seguida, chame projects.sink.update.

gcloud

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

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

    gcloud logging sinks describe SINK_NAME
    
  3. Execute o gcloud logging sinks update e incluir a opção --disabled. Por exemplo, para desativar o Coletor _Default, use o seguinte comando:

    gcloud logging sinks update _Default  --disabled
    

    O coletor _Default agora está desativado. ele não encaminha mais entradas de registro para no bucket de registros _Default.

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

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

gcloud logging sinks update _Default  --no-disabled

Definir permissões de destino

Nesta seção, descrevemos como conceder ao Logging Permissões do Identity and Access Management para gravar entradas de registro no destino do coletor. Para acessar a lista completa 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 coletor é 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 do recurso. 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 do serviço associada a esse coletor. Todos os coletores têm uma identidade de gravador, exceto coletores que gravam em um bucket de registros no mesmo projeto do Google Cloud de origem da entrada de registro. Para a última configuração, uma conta de serviço não é obrigatório e, portanto, o campo de identidade do gravador do coletor está listado como None no console. A A API e os comandos da Google Cloud CLI não informam uma identidade de gravador.

As instruções a seguir se aplicam a projetos, pastas, organizações e contas de faturamento:

Console

  1. Verifique se você tem acesso de Proprietário Projeto do Google Cloud que contém o destino. Se você não tiver acesso de Proprietário ao destino do coletor, depois peça ao proprietário do projeto para adicionar a identidade de escritor como principal.

  2. Para conseguir a identidade de gravador do coletor (um endereço de e-mail) da 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 Logging.

    2. Na barra de ferramentas, selecione o projeto que contém o coletor.
    3. Selecione Menu e selecione Veja os detalhes do coletor. A identidade do escritor aparece Painel Detalhes do coletor.
  3. Se o valor do campo writerIdentity tiver um endereço de e-mail, e prossiga para a próxima etapa. Quando o valor for None, não é preciso configurar permissões de destino para o coletor.

  4. Copie a identidade do gravador do coletor para a área de transferência.

  5. Se o destino for um serviço em um projeto diferente ou se for outro projeto e, na barra de ferramentas, selecione o projeto de destino.

  6. Adicione a conta de serviço como principal do IAM no projeto de destino:

    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. Selecione o projeto de destino.

    3. Clique em CONCEDER ACESSO.

    4. Conceda à conta de serviço o papel do IAM necessário:

      • Para destinos do Cloud Storage, adicione a identidade do gravador do coletor como principal usando o IAM e conceder a ele o Papel Criador de objetos do Storage (roles/storage.objectCreator).
      • Para destinos do BigQuery, adicione a identidade de gravador do coletor como principal usando o IAM e conceder a ele o Papel de Editor de dados do BigQuery (roles/bigquery.dataEditor).
      • Para destinos do Pub/Sub, incluindo o Splunk, adicione a identidade de gravador do coletor como principal usando o IAM e conceder a ele o Papel Editor do Pub/Sub (roles/pubsub.publisher).
      • Para destinos de bucket do Logging em projetos do Google Cloud, adicione a identidade de gravador do coletor como um principal usando o IAM e conceder a ele o Papel Gravador de bucket de registros (roles/logging.bucketWriter).
      • Para destinos de projetos do Google Cloud, adicione o nome de gravador como principal usando o IAM e conceder a ele o Papel de Gravador de registros (roles/logging.logWriter). Especificamente, um principal precisa das logging.logEntries.route.

API

Recomendamos usar o console ou a Google Cloud CLI para conceder um papel à conta de serviço.

gcloud

  1. Verifique se você tem acesso de Proprietário Projeto do Google Cloud que contém o destino. Se você não tiver acesso de Proprietário ao destino do coletor, depois peça ao proprietário do projeto para adicionar a identidade de escritor como principal.

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

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

    A identidade de gravador da conta de serviço é semelhante à seguintes:

    serviceAccount:service-123456789012@gcp-sa-logging.iam.gserviceaccount.com
    
  4. Adicione a conta de serviço como principal do IAM no projeto de destino:

    Antes de usar o comando a seguir, faça as seguintes substituições:

    • PROJECT_ID: o identificador do projeto.
    • PRINCIPAL: um identificador do principal que você quer atribuir o papel. Os identificadores principais geralmente têm o seguinte formato: PRINCIPAL-TYPE:ID: Por exemplo, user:my-user@example.com. Para conferir uma lista completa dos formatos que PRINCIPAL_ID pode ter, consulte Identificadores principais.
    • ROLE: um papel do IAM.

      • Para destinos do Cloud Storage, adicione a identidade do gravador do coletor como principal usando o IAM e conceder a ele o Papel Criador de objetos do Storage (roles/storage.objectCreator).
      • Para destinos do BigQuery, adicione a identidade de gravador do coletor como principal usando o IAM e conceder a ele o Papel de Editor de dados do BigQuery (roles/bigquery.dataEditor).
      • Para destinos do Pub/Sub, incluindo o Splunk, adicione a identidade de gravador do coletor como principal usando o IAM e conceder a ele o Papel Editor do Pub/Sub (roles/pubsub.publisher).
      • Para destinos de bucket do Logging em projetos do Google Cloud, adicione a identidade de gravador do coletor como um principal usando o IAM e conceder a ele o Papel Gravador de bucket de registros (roles/logging.bucketWriter).
      • Para destinos de projetos do Google Cloud, adicione o nome de gravador como principal usando o IAM e conceder a ele o Papel de Gravador de registros (roles/logging.logWriter). Especificamente, um principal precisa das logging.logEntries.route.

    Execute o gcloud projects add-iam-policy-binding comando:

    gcloud projects add-iam-policy-binding PROJECT_ID --member=PRINCIPAL --role=ROLE
    

Limitações de destino

Esta seção descreve as limitações específicas do destino:

  • Se você rotear entradas de registro para um bucket de registros em outro projeto do Google Cloud, o Error Reporting não analisa essas entradas de registro. Para mais informações, consulte Visão geral do Error Reporting.
  • As seguintes limitações se aplicam quando você encaminha as entradas de registro 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 dele projeto B para um projeto diferente.

    • Os registros de auditoria não são roteados para o bucket de registros _Required no destino projeto.

      Por exemplo, se você rotear entradas de registro do projeto A para projeto B, o bucket de registros _Required no projeto A conterá os registros de auditoria do projeto A. Os registros de auditoria do projeto A roteadas para o projeto B. Para rotear essas entradas de registro, crie um coletor com é um bucket de registros.

    • Quando o projeto de destino está em uma pasta ou organização diferente, os coletores agregados nessa pasta ou organização e rotear a entrada de registro.

      Por exemplo, suponha que o projeto A esteja na pasta X. Quando uma entrada de registro se originar no projeto A, a entrada de registro será processada pelo coletores agregados na pasta X e os coletores no projeto A. Agora suponha que o projeto A contenha um coletor que roteie as entradas de registro para projeto B, que está na pasta Y. As entradas de registro do projeto A passar pelos coletores do projeto B No entanto, elas não passam pela os coletores agregados na pasta Y.

  • Para usar a Análise de registros a fim de visualizar as entradas de registro roteadas para um projeto pelo usando um coletor agregado, defina o campo Refinar escopo para o escopo de armazenamento. e selecione uma visualização de registro que dê acesso a essas entradas.

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 do coletor _Default, é recomendável restaurá-lo o coletor à configuração original. Quando criado, o coletor _Default configurado com o seguinte filtro de inclusão e um filtro de exclusão vazio:

  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 entradas de registro de pods e contêineres do Google Kubernetes Engine para 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")

Excluir entradas de registro do nó do Google Kubernetes Engine para GKE logNames, use o seguinte filtro:

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 das entradas de registro de nó, pod e contêiner do Google Kubernetes Engine armazenadas em buckets de registros, use o Metrics Explorer:

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

Para excluir entradas de registro do Dataflow que não são necessárias para supportability, use o filtro a seguir:

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

Para ver o volume de registros do Dataflow armazenados em buckets de registros, use o Metrics Explorer.

Compatibilidade

Ainda que o Cloud Logging permita excluir entradas de registro sejam armazenados em um bucket de registros, considere manter as entradas de registro que ajudam no suporte. O uso dessas entradas de registro ajuda a resolver e identificar problemas com seus aplicativos.

Por exemplo, as entradas de registro do sistema do GKE resolver problemas aos aplicativos e clusters do GKE porque eles são gerados para eventos que ocorrem no seu cluster. Essas entradas de registro ajudam determinar se o código do aplicativo ou a infraestrutura do GKE cluster 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ê, pelo menos, programe o sistema registros (labels."dataflow.googleapis.com/log_type"="system") e capacidade de suporte registros (labels."dataflow.googleapis.com/log_type"="supportability") para buckets de registros. Esses registros são essenciais para os desenvolvedores observarem e resolverem problemas no Dataflow pipelines, e é possível que os usuários não consigam usar o Página Detalhes do job para ver os registros do job.

A seguir