Exportações agregadas

É possível criar um coletor de exportação agregado capaz de exportar entradas de registro de todos os projetos, pastas e contas de faturamento da organização. Por exemplo, você pode agregar e exportar entradas de registro de auditoria dos projetos da organização para um local central.

Conceito

Sem o recurso de exportação agregado, um coletor de exportação limita-se a exportar entradas de registro do recurso exato em que o coletor foi criado: um projeto do GCP, uma organização, pasta ou conta de faturamento.

Para usar o recurso de exportação agregado, crie um coletor em uma organização ou pasta do GCP e defina o parâmetro includeChildren do coletor como True. Assim, esse coletor poderá exportar entradas de registro da organização ou pasta e, de maneira recursiva, de qualquer pasta, contas de faturamento ou projetos contidos. Use o filtro do coletor para especificar entradas de registro de projetos, tipos de recursos ou registros específicos.

Para mais informações sobre exportação e criação de coletores, consulte Como exportar registros na API e Como usar a ferramenta de linha de comando para criar coletores.

Como criar o destino da exportação

É preciso criar o destino da exportação dos coletores de registro antes do coletor, por meio da ferramenta de linha de comando gcloud, do Console do GCP ou das APIs do GCP.

Os destinos compatíveis pelos coletores de exportação são estes:

O destino de exportação pode ser criado em qualquer projeto do GCP, em qualquer organização, desde que a conta de serviço do coletor de registros tenha permissões para gravar no destino de exportação.

Como criar um coletor de exportação agregado

Para criar um coletor de exportação agregado em pastas, contas de faturamento ou organizações do GCP, use a API Stackdriver Logging ou a ferramenta de linha de comando gcloud.

API Logging

Use os métodos organizations.sinks.create, folders.sinks.create ou billingAccounts.sinks.create na API Stackdriver Logging para criar um coletor de registro. Prepare os argumentos do método da seguinte maneira:

  1. Defina o parâmetro parent como a organização, pasta ou conta de faturamento do GCP em que criar o coletor. O pai precisa ser um dos seguintes parâmetros:

    • organizations/[ORGANIZATION_ID]
    • folders/[FOLDER_ID]
    • billingAccounts/[BILLING_ACCOUNT_ID]
  2. No objeto LogSink no corpo da solicitação do método:

    • Defina includeChildren como True.

    • Defina a propriedade filter, tendo em mente que as entradas de registro de todos os projetos serão comparadas com o filtro.

      Para ver exemplos de filtros úteis, vá para Como usar filtros com exportações agregadas.

    • Defina os campos restantes do LogSink como faria para qualquer coletor. Para saber mais informações, consulte Como criar coletores.

  3. Chame organizations.sinks.create ou folders.sinks.create para criar o coletor.

  4. Recupere o nome da conta de serviço usado para criar o coletor com base na resposta de API.

  5. Dê permissão a essa conta de serviço para gravar no destino de exportação.

    Se você não tiver permissão para fazer essa alteração no destino de exportação, envie o nome da conta de serviço para alguém que possa fazê-la para você.

    Para mais informações sobre como conceder permissões a contas de serviço para recursos, consulte Como atribuir papéis a uma conta de serviço.

gcloud

Para criar um coletor de geração de registros, use o comando logging sinks create.

  1. Forneça o nome do coletor, o destino de exportação, o filtro de registros e o código da pasta, a conta de faturamento ou a organização.

    Por exemplo, configure uma exportação agregada no nível da pasta assim:

    gcloud logging sinks create [SINK_NAME] \
    storage.googleapis.com/[BUCKET_NAME] --include-children \
    --folder=[FOLDER_ID] --log-filter="logName:activity"

    Observações:

    • Para criar um coletor no nível da organização, substitua --folder=[FOLDER_ID] por --organization=[ORGANIZATION_ID]. Para uma conta de faturamento, substitua por --billing-account=[BILLING_ACCOUNT_ID].

    • Para que o coletor inclua todos os projetos da organização, a sinalização --include-children precisa ser definida, mesmo quando a sinalização --organization for passada para create. Quando for definido como false (padrão), um coletor exportará apenas registros do recurso host.

    • É preciso ter o papel de Gravador de configuração de registros do Cloud IAM para que o pai crie o coletor. Para mais informações sobre os papéis do Logging Cloud IAM, consulte o Guia de controle de acesso.

    • Para ver exemplos de filtros úteis, vá para Como usar filtros com exportações agregadas.

  2. Recupere o nome da conta de serviço usado para criar o coletor com base na saída do comando.

  3. Dê permissão a essa conta de serviço para gravar no destino de exportação.

    Se você não tiver permissão para fazer essa alteração no destino de exportação, envie o nome da conta de serviço para alguém que possa fazê-la para você.

    Para mais informações sobre como conceder permissões a contas de serviço para recursos, consulte Como atribuir papéis a uma conta de serviço.

Como usar filtros com exportações agregadas

Como qualquer coletor de exportação, o agregado contém um filtro que seleciona entradas de registro individuais. Para mais detalhes sobre filtros, acesse Filtros de registros avançados.

Veja a seguir alguns exemplos de comparações de filtros que são úteis ao usar o recurso de exportação agregado. Alguns exemplos utilizam a seguinte notação:

  • : é o operador de substring. Não substitua o operador =.
  • ... representa qualquer comparação de filtros adicional.
  • As variáveis são indicadas por colchetes []. As substitua por valores válidos.

Como selecionar registros de auditoria

Para exportar registros de auditoria, escolha uma das comparações de amostra a seguir:

log_name:"/logs/cloudaudit.googleapis.com"
log_name:"/logs/cloudaudit.googleapis.com%2Factivity" AND...
log_name:"/logs/cloudaudit.googleapis.com%2Fdata_access" AND...
log_name:"/logs/cloudaudit.googleapis.com%2Fsystem_event" AND...

Para informações sobre registros de auditoria, acesse Cloud Audit Logging.

Como escolher a origem de exportação

Para exportar registros de pastas, organizações ou projetos específicos, use uma das seguintes comparações de amostra:

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

Como selecionar recursos

Para exportar registros a partir de apenas um recurso específico em um projeto, use várias comparações para especificar o recurso de maneira exata:

logName:"projects/[PROJECT_ID]/logs" AND
resource.type=[RESOURCE_TYPE] AND
resource.labels.instance_id=[INSTANCE_ID]

Para ver uma lista de tipos de recursos, acesse Tipos de recursos monitorados.

Amostragem de entradas de registro

Para exportar uma amostra aleatória de entradas de registro, adicione a função incorporada sample. Por exemplo, para exportar apenas 10% das entradas de registro correspondentes ao seu filtro atual, use esta adição:

sample(insertId, 0.10) AND ...

Para mais informações, revise a função de sample.

Para mais informações sobre os filtros do Stackdriver Logging, acesse Filtros de registros avançados.

Esta página foi útil? Conte sua opinião sobre:

Enviar comentários sobre…

Stackdriver Logging
Precisa de ajuda? Acesse nossa página de suporte.