Conferir os registros roteados para o Pub/Sub

Neste documento, explicamos como encontrar entradas de registro roteadas do Cloud Logging para tópicos do Pub/Sub, o que acontece quase em tempo real. Recomendamos o uso do Pub/Sub para integrar registros do Cloud Logging com software de terceiros.

Ao encaminhar entradas de registro para um tópico do Pub/Sub, o Logging publica cada entrada de registro como uma mensagem do Pub/Sub assim que a recebe. As entradas de registro encaminhadas geralmente ficam disponíveis em segundos após a chegada ao Logging, com 99% das entradas disponíveis em menos de 60 segundos.

Antes de começar

Para uma discussão conceitual sobre coletores, consulte Visão geral dos modelos de roteamento e armazenamento: coletores.

Para instruções sobre como rotear entradas de registro, consulte Rotear registros para destinos compatíveis.

Ver registros

Para visualizar os registros conforme eles são transmitidos por meio do Pub/Sub, faça o seguinte:

  1. No console Google Cloud , acesse a página Tópicos:

    Acesse Tópicos

    Se você usar a barra de pesquisa para encontrar essa página, selecione o resultado com o subtítulo Pub/Sub.

  2. Encontre ou crie uma assinatura no tópico usado no coletor de registros e extraia uma entrada delas. Talvez seja necessário aguardar a publicação de uma nova entrada de registro.

Organização de registros

O campo data de cada mensagem é um objeto LogEntry codificado em base64. Por exemplo, um assinante do Pub/Sub pode receber o seguinte objeto de um tópico que está recebendo entradas de registro. O objeto mostrado contém uma lista com uma única mensagem, embora o Pub/Sub possa retornar várias mensagens se várias entradas de registro estiverem disponíveis. O valor data (cerca de 600 caracteres) e o valor ackId (cerca de 200 caracteres) foram reduzidos para facilitar a leitura do exemplo:

{
 "receivedMessages": [
  {
   "ackId": "dR1JHlAbEGEIBERNK0EPKVgUWQYyODM...QlVWBwY9HFELH3cOAjYYFlcGICIjIg",
   "message": {
    "data": "eyJtZXRhZGF0YSI6eyJzZXZ0eSI6Il...Dk0OTU2G9nIjoiaGVsbG93b3JsZC5sb2cifQ==",
    "attributes": {
     "compute.googleapis.com/resource_type": "instance",
     "compute.googleapis.com/resource_id": "123456"
    },
    "messageId": "43913662360"
   }
  }
 ]
}

Ao decodificar o campo data e formatá-lo, você recebe o seguinte objeto LogEntry:

{
  "log": "helloworld.log",
  "insertId": "2015-04-15|11:41:00.577447-07|10.52.166.198|-1694494956",
  "textPayload": "Wed Apr 15 20:40:51 CEST 2015 Hello, world!",
  "timestamp": "2015-04-15T18:40:56Z",
  "labels": {
    "compute.googleapis.com\/resource_type": "instance",
    "compute.googleapis.com\/resource_id": "123456"
  },
  "severity": "WARNING"
  }
}

Integração de terceiros ao Pub/Sub

Você encaminha as entradas de registro para um tópico do Pub/Sub. O terceiro recebe as entradas de registro ao assinar o mesmo tópico. O Logging é compatível com a integração de registros com terceiros, como o Splunk ou o Datadog. Para uma lista atual de integrações, consulte Parceiros de integrações da observabilidade do Google Cloud.

Para realizar a integração, faça o seguinte:

  1. No projeto em que as entradas de registro se originam, crie um tópico do Pub/Sub com uma assinatura padrão:

    1. Ative a API Pub/Sub.

      Enable the API

    2. No console Google Cloud , acesse a página Tópicos:

      Acesse Tópicos

      Se você usar a barra de pesquisa para encontrar essa página, selecione o resultado com o subtítulo Pub/Sub.

    3. Selecione Criar tópico.

    4. No campo ID do tópico, insira um ID para o tópico. Por exemplo, projects/my-project-id/topics/my-pubsub-topic.

      Cada mensagem enviada para o tópico inclui o carimbo de data/hora da entrada de registro encaminhada nos attributes da mensagem do Pub/Sub. Por exemplo:

      "attributes": {
        "logging.googleapis.com/timestamp": "2024-07-01T00:00:00Z"
      }
      
    5. Mantenha a opção Adicionar uma assinatura padrão. Não selecione nenhuma outra opção.

    6. Selecione Criar tópico.

  2. No projeto em que as entradas de registro são originadas, configure o Logging para encaminhar as entradas de registro ao seu tópico:

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

    2. Clique em Criar coletor, insira um nome e uma descrição para o coletor e clique em Próxima.
    3. No menu Serviço do coletor, selecione Tópico do Cloud Pub/Sub, escolha o tópico do Pub/Sub e clique em Próxima.
    4. Selecione as entradas de registro a serem incluídas no coletor e clique em Próxima.
    5. Opcional: selecione as entradas de registro a serem excluídas.
    6. Clique em Criar coletor.

      Uma caixa de diálogo com a mensagem Sink created será exibida. Essa mensagem indica que o coletor foi criado com êxito com permissões para encaminhar entradas de registro correspondentes futuras ao destino selecionado.

    7. Conceda o papel de Editor do Pub/Sub (roles/pubsub.publisher) à identidade do gravador do coletor. Para mais informações sobre como obter a identidade do gravador e conceder um papel, consulte Definir permissões de destino.

    O Cloud Logging agora está enviando entradas de registro para seu tópico do Pub/Sub.

  3. Crie a assinatura.

    Por exemplo, se você usar o Dataflow para extrair os dados do tópico do Pub/Sub e enviá-los para o Datadog, será necessário realizar duas etapas:

    1. Crie ou obtenha uma conta de serviço e conceda a ela os papéis do IAM necessários para se inscrever no seu tópico. No mínimo, a conta de serviço precisa dos seguintes papéis:

      Para mais informações, consulte estes documentos:

    2. Crie um job com base em um modelo e execute-o. Neste exemplo, use o modelo do Pub/Sub para o Datadog.

O terceiro começa a receber as entradas de registro de imediato.

Para uma exploração de cenários comuns de roteamento de registros usando o Pub/Sub, consulte Cenários para exportar dados do Cloud Logging: Splunk.

Solução de problemas

Se as entradas de registro parecerem estar ausentes no destino do coletor ou se você suspeitar que o coletor não está roteando as entradas de registro corretamente, consulte Resolver problemas de roteamento de registros.

Preços

O Cloud Logging não cobra pelo encaminhamento de registros para um destino compatível, mas o destino pode aplicar cobranças. Com exceção do bucket de registros _Required, o Cloud Logging cobra pelo streaming de registros para buckets de registros e pelo armazenamento por mais tempo do que o período de armazenamento padrão do bucket.

O Cloud Logging não cobra pela cópia de registros, pela criação de escopos de registros ou visualizações de análise nem por consultas emitidas nas páginas do Explorador de registros ou da Análise de dados de registros.

Para mais informações, consulte estes documentos: