Conferir registros roteados para o Pub/Sub

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

Ao encaminhar registros para um tópico Pub/Sub, o Logging publica cada entrada de registro como uma mensagem Pub/Sub assim que receber essa entrada de registro. Os registros roteados geralmente ficam disponíveis segundos após a chegada ao Logging, com 99% dos registros 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 os registros, consulte Rotear registros para destinos compatíveis.

Mostrar registros

Para ver os registros conforme são transmitidos pelo Pub/Sub, faça o seguinte:

  1. No painel de navegação do console do Google Cloud, selecione Pub/Sub e, em seguida, Tópicos:

    Acesse Tópicos

  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. Os valores data (cerca de 600 caracteres) e ackId (cerca de 200 caracteres) foram encurtados 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"
   }
  }
 ]
}

Se você decodificar e formatar o campo data, vai receber 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

A geração de registros é compatível com a integração de registros com terceiros, como o Splunk. Para conferir uma lista atual de integrações, consulte Parceiros para integrações de observabilidade do Google Cloud.

É possível encaminhar registros por meio de um tópico do Pub/Sub para que um terceiro receba esses registros depois de assinar o mesmo tópico.

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

  1. Solicite ao terceiro um nome de conta de serviço do Google Cloud criado a partir do projeto do Google Cloud. Por exemplo, 12345-xyz@developer.gserviceaccount.com. Use esse nome para permitir que o terceiro receba os registros.

  2. No projeto que contém os registros, ative a API Pub/Sub.

  3. Ative a API Pub/Sub.

    Ative a API

  4. Crie um tópico do Pub/Sub. É possível criar um tópico ao configurar um coletor de registros ou seguindo estas etapas:

    1. No painel de navegação do console do Google Cloud, selecione Pub/Sub e, em seguida, Tópicos:

      Acesse Tópicos

    2. Selecione Criar tópico e digite um nome. Por exemplo, projects/my-project-id/topics/my-pubsub-topic. Você encaminha os registros para esse tópico.

      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": "2018-10-01T00:00:00Z"
      }
      
    3. Selecione Criar tópico.

    4. Autorize o Logging a encaminhar registros para o tópico. Para instruções, consulte Definir permissões de destino.

  5. Autorize o terceiro a assinar o tópico:

    1. No painel de navegação do console do Google Cloud, selecione Pub/Sub e, em seguida, Tópicos:

      Acesse Tópicos

    2. Selecione o assunto.
    3. Selecione Permissões.
    4. Selecione Adicionar permissão e insira o nome da conta de serviço do terceiro.
    5. No menu Selecionar uma função, escolha Assinante do Pub/Sub.
    6. Clique em Salvar.
  6. Informe o nome do tópico do Pub/Sub ao terceiro. Por exemplo, projects/my-project-number/topics/my-pubsub-topic. Ele precisa assinar o tópico antes do início do encaminhamento.

  7. Comece a rotear os registros depois que o terceiro tiver se inscrito no tópico:

    1. No painel de navegação do console do Google Cloud, selecione Logging e clique em Roteador de registros:

      Acessar o roteador de registros

    2. No projeto que contém os registros que você quer rotear, clique em Criar coletor.
    3. Insira um Nome e uma descrição para o coletor e clique em Avançar.
    4. No menu Serviço de coletor, selecione Tópico do Cloud Pub/Sub.
    5. No menu Tópico do Cloud Pub/Sub, selecione o tópico do Pub/Sub em que o terceiro está inscrito e clique em Próximo.
    6. Selecione os registros a serem incluídos no coletor e clique em Próximo.
    7. Opcional: selecione os registros a serem excluídos.
    8. 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 gravar registros correspondentes futuros ao destino selecionado.

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

Para uma análise detalhada 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 os registros parecerem ausentes no destino do coletor ou você suspeitar que o coletor não está roteando os registros corretamente, consulte Resolver problemas de registros de roteamento.

Preços

O Cloud Logging não cobra para rotear os registros para um destino compatível. No entanto, o destino pode aplicar cobranças. Com exceção do bucket de registros _Required, o Cloud Logging cobra para transmitir registros para buckets de registros e para armazenamento mais longo que o período de armazenamento padrão do bucket de registros.

O Cloud Logging não cobra pela cópia de registros ou por consultas emitidas na página Análise de registros ou na Análise de registros.

Para mais informações, consulte estes documentos: