Neste documento, você verá como criar coletores agregados. Com os coletores agregados, é possível combinar e encaminhar registros gerados pelos recursosGoogle Cloud da sua organização ou pasta para um local centralizado.
Antes de começar
Antes de criar um coletor, verifique se:
Você conhece o comportamento dos coletores agregados. Para saber mais sobre esses coletores, consulte Visão geral dos coletores agregados.
Você tem uma Google Cloud pasta ou organização com entradas de registro que podem ser vistas no Explorador de registros.
Você tem um dos seguintes papéis do IAM para a organização ou pastaGoogle Cloud de onde está roteando entradas de registro.
- Proprietário (
roles/owner
) - Administrador do Logging (
roles/logging.admin
) - Gravador de configuração de registros (
roles/logging.configWriter
)
As permissões contidas nesses papéis permitem criar, excluir ou modificar coletores. Para informações sobre como definir papéis do IAM, consulte o Guia de controle de acesso do Logging.
- Proprietário (
O destino do gravador agregado existe ou você pode criá-lo.
Quando o destino é um projeto do Google Cloud , ele pode estar em qualquer organização. Todos os outros destinos podem estar em qualquer projeto de qualquer organização.
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
-
No console 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.
Selecione uma pasta ou organização existente.
Selecione Criar coletor.
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.
No menu Selecionar serviço do coletor, escolha o tipo de destino e conclua a caixa de diálogo para especificar o destino. É possível selecionar um destino atual ou criar um.
Para um gravador de interceptação, selecione ProjetoGoogle Cloud e insira o nome completo do projeto de destino Google Cloud :
logging.googleapis.com/projects/DESTINATION_PROJECT_ID
Para um coletor não interceptador, selecione o destino e insira o nome totalmente qualificado dele. Os seguintes destinos são aceitos:
Google Cloud project
logging.googleapis.com/projects/DESTINATION_PROJECT_ID
Bucket do Cloud Logging
logging.googleapis.com/projects/DESTINATION_PROJECT_ID/locations/LOCATION/buckets/BUCKET_NAME
Conjunto de dados do BigQuery
Você precisa inserir o nome totalmente qualificado de um conjunto de dados com gravação ativada. O conjunto de dados pode ser uma tabela particionada ou fragmentada por data. Não insira o nome de um conjunto de dados vinculado. Os conjuntos de dados vinculados são somente leitura.
bigquery.googleapis.com/projects/PROJECT_ID/datasets/DATASET_ID
Bucket do Cloud Storage
storage.googleapis.com/BUCKET_NAME
Tópico do Pub/Sub
pubsub.googleapis.com/projects/PROJECT_ID/topics/TOPIC_ID
Splunk
Insira o tópico do Pub/Sub do serviço Splunk.
No painel Escolher registros a serem incluídos no coletor, selecione os recursos que serão incluídos no coletor.
Para um coletor de interceptação, selecione Interceptar registros ingeridos por esta organização e todos os recursos filhos.
Para um coletor não interceptador, selecione Incluir registros ingeridos por este recurso e todos os recursos filhos.
No campo Criar filtro de inclusão, insira uma expressão de filtro que corresponda às entradas de registro que você quer incluir. Se você não definir um filtro, todas as entradas de registro do recurso selecionado serão roteadas para o destino.
Por exemplo, é possível criar um filtro para encaminhar todos os registros de auditoria 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")
Para exemplos de filtros, consulte a seção Criar filtros para coletores agregados desta página.
O comprimento de um filtro não pode exceder 20.000 caracteres.
Opcional: para verificar se você inseriu o filtro correto, selecione Visualizar registros. Isso abre o Explorador de registros em uma nova guia com o filtro pré-preenchido.
Opcional: no painel Escolher registros a serem excluídos do coletor, faça o seguinte:
No campo Nome do filtro de exclusão, insira um nome.
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.Por exemplo, para impedir que as entradas de registro de um projeto específico sejam encaminhadas para o destino, adicione o seguinte filtro de exclusão:
logName:projects/PROJECT_ID
Para excluir entradas de registro de vários projetos, use o operador OR lógico para unir cláusulas
logName
.
É possível criar até 50 filtros de exclusão por coletor. O comprimento de um filtro não pode exceder 20.000 caracteres.
Selecione Criar coletor.
Para concluir a configuração do coletor agregado, conceda à conta de serviço dele permissão para gravar entradas de registro no destino do coletor. Para mais informações, consulte Definir permissões de destino.
Para criar um coletor, chame o comando
gcloud logging sinks create
e inclua a opção--include-children
.Antes de usar o comando a seguir, faça as seguintes substituições:
- SINK_NAME: o nome do coletor de registros. Não é possível mudar o nome de um gravador depois de criá-lo.
- SINK_DESTINATION: o serviço ou projeto para onde você quer que as entradas de registro sejam roteadas. Para informações sobre o formato desses destinos, consulte Formatos de caminho de destino.
- INCLUSION_FILTER: o filtro de inclusão de um coletor. Para exemplos de filtros, consulte Criar filtros para coletores agregados.
- FOLDER_ID: o ID da pasta. Se você quiser criar um coletor
no nível da organização, substitua
--folder=FOLDER_ID
por-- organization=ORGANIZATION_ID
.
Execute o comando
gcloud logging sinks create
:gcloud logging sinks create SINK_NAME \ SINK_DESTINATION --include-children \ --folder=FOLDER_ID --log-filter="INCLUSION_FILTER"
Você também pode fornecer as seguintes opções:
- Para criar um coletor de interceptação, inclua a opção
--intercept-children
.
Por exemplo, se você estiver criando um coletor agregado no nível da pasta e cujo destino for um tópico do Pub/Sub, o comando poderá ter a seguinte aparência:
gcloud logging sinks create SINK_NAME \ pubsub.googleapis.com/projects/PROJECT_ID/topics/TOPIC_ID --include-children \ --folder=FOLDER_ID --log-filter="logName:activity"
Conceda à conta de serviço do coletor permissão para gravar no destino do coletor. Para mais informações, consulte Definir permissões de destino.
Defina o campo
parent
como a Google Cloud organização ou pasta em que o coletor será criado. O pai precisa ser um dos seguintes parâmetros:organizations/ORGANIZATION_ID
folders/FOLDER_ID
No objeto
LogSink
no corpo da solicitação do método, faça uma destas ações:Defina
includeChildren
comoTrue
.Para criar um coletor de interceptação, defina também o campo
interceptChildren
comoTrue
.
Defina o campo
filter
para corresponder às entradas de registro que você quer incluir.Para exemplos de filtros, consulte Criar filtros para coletores agregados.
O comprimento de um filtro não pode exceder 20.000 caracteres.
Defina os campos restantes do
LogSink
como faria para qualquer coletor. Para mais informações, consulte Rotear registros para destinos compatíveis.Chame
organizations.sinks.create
oufolders.sinks.create
para criar o coletor.Conceda à conta de serviço do coletor permissão para gravar no destino do coletor. Para mais informações, consulte Definir permissões de destino.
:
: é o operador de substring. Não substitua o operador=
....
representa qualquer comparação de filtros adicional.- As variáveis são indicadas por texto colorido. As substitua por valores válidos.
- Desde 22 de maio de 2023, quando você cria um coletor e não existe uma conta de serviço para o recurso subjacente, o Logging cria a conta de serviço. O Logging usa a mesma conta de serviço para todos os coletores no recurso subjacente. Os recursos podem ser um projeto Google Cloud , uma organização, uma pasta ou uma conta de faturamento.
- Antes de 22 de maio de 2023, o Logging criava uma conta de serviço para cada coletor. Desde 22 de maio de 2023, o Logging usa uma conta de serviço compartilhada para todos os coletores no recurso subjacente.
Para receber informações sobre a conta de serviço do seu gravador, faça o seguinte:
-
No console 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.
Selecione more_vert Menu e depois Ver detalhes do coletor. A identidade do gravador é exibida no painel Detalhes do coletor.
Se o valor do campo
writerIdentity
contiver um endereço de e-mail, prossiga para a próxima etapa. Quando o valor éNone
, não é necessário configurar permissões de destino.Copie a identidade do gravador do coletor para a área de transferência. O exemplo a seguir ilustra uma identidade de gravador:
serviceAccount:service-123456789012@gcp-sa-logging.iam.gserviceaccount.com
-
Conceda ao principal especificado pela identidade do gravador do coletor a permissão para gravar dados de registro no destino:
-
No console Google Cloud , acesse a página IAM:
Se você usar a barra de pesquisa para encontrar essa página, selecione o resultado com o subtítulo IAM e administrador.
Na barra de ferramentas do console Google Cloud , selecione o projeto que armazena o destino do gravador agregado. Quando o destino for um projeto, selecione-o.
Clique em
CONCEDER ACESSO.Insira o principal especificado pela identidade do gravador do coletor e conceda um papel do IAM:
- Google Cloud project: conceda o
papel de gravador de registros
(
roles/logging.logWriter
). Especificamente, um principal precisa da permissãologging.logEntries.route
. - Bucket de registros: conceda o
papel de gravador de bucket de registros
(
roles/logging.bucketWriter
). - Bucket do Cloud Storage: conceda o
papel Criador de objetos do Storage
(
roles/storage.objectCreator
). - Conjunto de dados do BigQuery: conceda o papel de editor de dados do BigQuery (
roles/bigquery.dataEditor
). - Tópico do Pub/Sub, incluindo o Splunk: conceda o papel de editor do Pub/Sub (
roles/pubsub.publisher
).
- Google Cloud project: conceda o
papel de gravador de registros
(
-
Verifique se você tem acesso de proprietário ao projetoGoogle Cloud que contém o destino. 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 do gravador como um principal.
Para receber informações sobre a conta de serviço do seu gravador, chame o método
gcloud logging sinks describe
.Antes de usar o comando a seguir, faça as seguintes substituições:
- SINK_NAME: o nome do coletor de registros. Não é possível mudar o nome de um gravador depois de criá-lo.
Execute o comando
gcloud logging sinks describe
:gcloud logging sinks describe SINK_NAME
Se os detalhes do gravador tiverem um campo chamado
writerIdentity
, siga para a próxima etapa. Quando os detalhes não incluem um campowriterIdentity
, não é necessário configurar permissões de destino para o coletor.Copie a identidade do gravador do coletor para a área de transferência. O exemplo a seguir ilustra uma identidade de gravador:
serviceAccount:service-123456789012@gcp-sa-logging.iam.gserviceaccount.com
Conceda à identidade do gravador do coletor a permissão para gravar dados de registro no destino chamando o comando
gcloud projects add-iam-policy-binding
.Antes de usar o comando a seguir, faça as seguintes substituições:
- PROJECT_ID: o identificador do projeto. Selecione o projeto que armazena o destino do gravador agregado. Quando o destino for um projeto, selecione-o.
- PRINCIPAL: um identificador do principal a quem você quer
conceder o papel. Os identificadores dos principais geralmente têm o seguinte formato:
PRINCIPAL-TYPE:ID
. Por exemplo,user:my-user@example.com
. Para uma lista completa dos formatos quePRINCIPAL
pode ter, consulte Identificadores principais. ROLE: um papel do IAM. Conceda à identidade de gravador do coletor um papel do IAM com base no destino do coletor de registros:
- Google Cloud project: conceda o
papel de gravador de registros
(
roles/logging.logWriter
). Especificamente, um principal precisa da permissãologging.logEntries.route
. - Bucket de registros: conceda o
papel de gravador de bucket de registros
(
roles/logging.bucketWriter
). - Bucket do Cloud Storage: conceda o
papel Criador de objetos do Storage
(
roles/storage.objectCreator
). - Conjunto de dados do BigQuery: conceda o papel de editor de dados do BigQuery (
roles/bigquery.dataEditor
). - Tópico do Pub/Sub, incluindo o Splunk: conceda o papel de editor do Pub/Sub (
roles/pubsub.publisher
).
- Google Cloud project: conceda o
papel de gravador de registros
(
Execute o comando
gcloud projects add-iam-policy-binding
:gcloud projects add-iam-policy-binding PROJECT_ID --member=PRINCIPAL --role=ROLE
Saiba como criar visualizações de registros em um bucket de registros. Com as visualizações de registros, é possível conceder aos principais acesso de leitura a um subconjunto das entradas de registro armazenadas em um bucket de registros.
Para informações sobre como gerenciar coletores atuais, consulte Rotear registros para destinos compatíveis: gerenciar coletores.
Se você encontrar problemas ao usar coletores para rotear registros, consulte Resolver problemas de roteamento e coletores.
Para saber como visualizar os registros nos destinos deles e como os registros são formatados e organizados, consulte Ver os registros nos destinos do coletor
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
REST
Para usar as amostras da API REST nesta página em um ambiente de desenvolvimento local, use as credenciais fornecidas para a CLI gcloud.
After installing the Google Cloud CLI, initialize it by running the following command:
gcloud init
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
Para mais informações, consulte Autenticar para usar REST na documentação de autenticação do Google Cloud .
Criar um coletor agregado
Para configurar um coletor agregado, crie o coletor e conceda a ele as permissões para gravar no destino. Nesta seção, descrevemos como criar um coletor agregado. Para informações sobre conceder permissões ao gravador, consulte a seção desta página intitulada Definir permissões de destino.
É possível criar até 200 coletores por pasta ou organização.
Console
Para criar um coletor agregado para sua pasta ou organização, faça o seguinte:
gcloud
Para criar um coletor agregado, use o comando
logging sinks create
:REST
Para criar um coletor agregado, use o método da API Logging
organizations.sinks.create
oufolders.sinks.create
. Prepare os argumentos do método da seguinte maneira:As mudanças feitas em um gravador podem levar alguns minutos para serem aplicadas.
Filtros para coletores agregados
Esta seção apresenta exemplos de filtros que podem ser usados em um coletor agregado. Para mais exemplos, consulte Amostra de consultas usando o Explorador de registros.
Alguns exemplos utilizam a seguinte notação:
O comprimento de um filtro é limitado a 20.000 caracteres.
Para mais detalhes sobre a sintaxe da filtragem, consulte Linguagem de consulta do Logging.
Selecionar a origem do registro
Para encaminhar entradas de registro de todos os recursos filhos, não especifique um projeto, uma pasta ou uma organização nos filtros de inclusão e exclusão do coletor. Por exemplo, suponha que você configure um coletor agregado para uma organização com o seguinte filtro:
resource.type="gce_instance"
Com o filtro anterior, as entradas de registro com um tipo de recurso de instâncias do Compute Engine gravadas em qualquer filho dessa organização são encaminhadas pelo gravador agregado para o destino.
No entanto, pode haver situações em que você queira usar um coletor agregado para encaminhar entradas de registro apenas de recursos filhos específicos. Por exemplo, por motivos de compliance, talvez você queira armazenar registros de auditoria de pastas ou projetos específicos em um bucket do Cloud Storage próprio. Nessas situações, configure o filtro de inclusão para especificar cada recurso filho cujas entradas de registro você quer rotear. Se você quiser encaminhar entradas de registro de uma pasta e todos os projetos nela, o filtro precisará listar a pasta e cada um dos projetos contidos nela, além de unir as instruções com uma cláusula
OR
.Os filtros a seguir restringem as entradas de registro a projetos, pastas ou organizações específicos Google Cloud :
logName:"projects/PROJECT_ID/logs/" AND ...
logName:("projects/PROJECT_A_ID/logs/" OR "projects/PROJECT_B_ID/logs/") AND ...
logName:"folders/FOLDER_ID/logs/" AND ...
logName:"organizations/ORGANIZATION_ID/logs/" AND ...
Por exemplo, para rotear apenas as entradas de registro gravadas em instâncias do Compute Engine que foram gravadas na pasta
my-folder
, use o seguinte filtro:logName:"folders/my-folder/logs/" AND resource.type="gce_instance"
Com o filtro anterior, as entradas de registro gravadas em qualquer recurso que não seja
my-folder
, incluindo entradas de registro gravadas em projetos Google Cloud que são filhos demy-folder
, não são roteadas para o destino.Selecione o recurso monitorado.
Para rotear entradas de registro de apenas um recurso monitorado específico em um projeto doGoogle Cloud , use várias comparações para especificar o recurso exatamente:
logName:"projects/PROJECT_ID/logs" AND resource.type=RESOURCE_TYPE AND resource.labels.instance_id=INSTANCE_ID
Para uma lista de tipos de recursos, consulte Tipos de recursos monitorados.
Selecione uma amostra de entradas de registro
Para encaminhar uma amostra aleatória de entradas de registro, adicione a função incorporada
sample
. Por exemplo, para rotear somente 10% das entradas de registro correspondentes ao seu filtro atual, use esta adição:sample(insertId, 0.10) AND ...
Para mais informações, consulte a função
sample
.Para mais informações sobre os filtros do Cloud Logging, consulte Linguagem de consulta do Logging.
Definir permissões de destino
Nesta seção, descrevemos como conceder permissões do Identity and Access Management ao Logging para gravar entradas de registro no destino do coletor. Para a lista de papéis e permissões do Logging, consulte Controle de acesso.
Quando você cria ou atualiza um coletor que roteia entradas de registro para qualquer destino que não seja um bucket de registros no projeto atual, uma conta de serviço é necessária para esse coletor. O Cloud Logging cria e gerencia automaticamente a conta de serviço para você:
A identidade do gravador de um gravador é o identificador da conta de serviço associada a ele. Todos os coletores têm uma identidade de gravador, a menos que gravem em um bucket de registros no projeto Google Cloud atual. O endereço de e-mail na identidade do gravador identifica o principal que precisa ter acesso para gravar dados no destino.
Para rotear entradas de registro para um recurso protegido por um perímetro de serviço, adicione a conta de serviço desse coletor a um nível de acesso e atribua ao perímetro de serviço de destino. Isso não é necessário para coletores não agregados. Para detalhes, consulte VPC Service Controls: Cloud Logging.
Para definir permissões a fim de rotear o coletor para o destino, faça o seguinte:
Console
gcloud
REST
Recomendamos que você use o console Google Cloud ou a Google Cloud CLI para conceder um papel à conta de serviço.
A seguir
Exceto em caso de indicação contrária, o conteúdo desta página é licenciado de acordo com a Licença de atribuição 4.0 do Creative Commons, e as amostras de código são licenciadas de acordo com a Licença Apache 2.0. Para mais detalhes, consulte as políticas do site do Google Developers. Java é uma marca registrada da Oracle e/ou afiliadas.
Última atualização 2025-07-10 UTC.
-