Ver registros roteados para o Pub/Sub

Neste documento, explicamos como é possível encontrar entradas de registro roteadas do Cloud Logging para tópicos do Pub/Sub, o que ocorre quase em tempo real. Recomendamos o uso do Pub/Sub para integrar registros do Cloud Logging a softwares 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 receber essa entrada de registro. As entradas de registro roteadas geralmente ficam disponíveis em segundos após a chegada ao Logging, com 99% das entradas de registro 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 as 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 Google Cloud console do, acesse a página Tópicos.

    Acessar 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 de registro dele. 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 LogEntry objeto:

{
  "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"
  }
}

Limitação

O campo LogEntry.errorGroups não está disponível para esse destino. Os coletores de registro roteiam as entradas de registro enviadas ao projeto, mas essas entradas de registro não contêm grupos de erros.

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 assinando o mesmo tópico. A geração de registros é compatível com a integração de registros com terceiros, como Splunk ou Datadog. Para uma lista atual de integrações, consulte Parceiros de integrações do Google Cloud Observability.

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

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

    1. Habilitar a API Pub/Sub.

      Funções necessárias para ativar APIs

      Para ativar as APIs, é necessário ter a permissão serviceusage.services.enable. Se você criou o projeto, provavelmente já tem essa permissão pelo papel Proprietário (roles/owner). Caso contrário, você pode receber essa permissão pelo papel Administrador de uso do serviço (roles/serviceusage.serviceUsageAdmin). Saiba como conceder papéis.

      Ativar a API

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

      Acessar 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 rotear entradas de registro para o tópico:

    1. No Google Cloud console do, 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, selecione 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 permissões para rotear entradas de registro correspondentes futuras para o destino selecionado.

    7. Conceda ao principal especificado na identidade do gravador do coletor os seguintes papéis do IAM:

      Para mais informações sobre como receber a identidade do gravador e conceder um papel, consulte Definir permissões de destino.

    O Cloud Logging agora está enviando entradas de registro para o 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 ao Datadog, será necessário realizar duas etapas:

    1. Crie ou receba uma conta de serviço e conceda a ela os papéis do IAM necessários para assinar o tópico. No mínimo, a conta de serviço exige os seguintes papéis:

      Para mais informações, consulte estes documentos:

    2. Crie um job com base em um modelo e execute esse job. Para este exemplo, você usaria 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 Solução de problemas de roteamento de registros.

Preços

Para informações sobre preços, consulte a página de preços do Google Cloud Observability. Se você rotear dados de registro para outros Google Cloud serviços, consulte os seguintes documentos: