Visão geral do Cloud Logging

Este documento fornece uma visão geral do Cloud Logging, que é um sistema de gerenciamento de registros em tempo real com suporte para armazenamento, pesquisa, análise e monitoramento. O Cloud Logging coleta dados de registro dos recursos do Google Cloud automaticamente. Seus aplicativos, recursos no local e recursos de outros provedores de nuvem podem enviar dados de registro para o Cloud Logging. Também é possível configurar políticas de alerta para que o Cloud Monitoring notifique você quando determinados tipos de eventos forem informados nos dados de registro. Por motivos de segurança ou regulamentares, você pode determinar onde seus dados de registro são armazenados.

Coletar registros de aplicativos e softwares de terceiros

É possível coletar registros de aplicativos que você gravou instrumentando seu aplicativo usando uma biblioteca de cliente. No entanto, nem sempre é necessário instrumentar seu aplicativo. Por exemplo, em algumas configurações, é possível usar o Agente de operações para enviar registros gravados em stdout ou stderr ao projeto do Google Cloud.

Também é possível coletar dados de registro de aplicativos de terceiros, como nginx, instalando o Agente de operações e configurando-o para gravar registros desse aplicativo no seu projeto do Google Cloud.

Consulte Qual devo usar: agente do Logging ou biblioteca de cliente? para informações que podem ajudar você a decidir qual abordagem é mais adequada aos seus requisitos.

Resolver problemas e analisar registros

É possível conferir e analisar os dados de registro usando o console do Google Cloud, com o Explorador de registros ou as páginas do Log Analytics. É possível consultar e visualizar registros com as duas interfaces. No entanto, elas usam linguagens de consulta diferentes e têm recursos diferentes.

Quando você quiser resolver problemas e analisar o desempenho dos seus serviços e aplicativos, recomendamos usar o Logs Explorer. Essa interface foi projetada para que você possa conferir entradas de registro individuais e encontrar entradas relacionadas. Por exemplo, quando uma entrada de registro faz parte de um grupo de erros, ela é anotada com um menu de opções para acessar mais informações sobre o erro.

Quando você quiser realizar operações agregadas nos seus registros, por exemplo, para calcular a latência média de solicitações HTTP emitidas para um URL específico ao longo do tempo, use a interface do Log Analytics. Com essa interface, você usa o SQL para consultar os dados de registro e, portanto, pode usar os recursos do SQL para entender esses dados.

Se você preferir consultar os dados de registro de forma programática, use a API Cloud Logging ou a Google Cloud CLI para exportar dados de registro do seu projeto do Google Cloud.

Para mais informações, consulte a Visão geral dos registros de consulta e visualização.

Monitorar seus registros

É possível configurar o Cloud Logging para receber notificações quando determinados tipos de eventos ocorrerem nos registros. Essas notificações podem ser enviadas quando um padrão específico aparece em uma entrada de registro ou quando uma tendência é detectada nos dados de registro. Se você quiser conferir as taxas de erro dos seus serviços do Google Cloud, acesse o painel do Cloud Logging, que é pré-configurado.

Por exemplo, se você quiser receber uma notificação quando uma mensagem específica, como um evento crítico relacionado à segurança, ocorrer, crie uma política de alertas com base em registros. Uma política de alertas com base em registros monitora os registros em busca de um padrão específico. Se esse padrão for encontrado, o Monitoring vai enviar uma notificação e criar um incidente. As políticas de alertas com base em registros são úteis para eventos importantes, mas raros, como estes:

  • Você quer receber uma notificação quando um evento aparecer em um registro de auditoria. por exemplo, um usuário acessa a chave de segurança de uma conta de serviço.
  • O aplicativo grava mensagens de implantação em registros, e você quer ser notificado quando uma alteração na implantação for registrada.

Você também pode monitorar tendências ou a ocorrência de eventos ao longo do tempo. Para essas situações, crie uma métrica com base em registros. Uma métrica com base em registros pode contar o número de entradas de registro que correspondem a algum critério ou extrair e organizar informações, como tempos de resposta, em histogramas. Também é possível configurar políticas de alertas que notificam você quando ocorrem mudanças de desempenho, por exemplo, quando o tempo de resposta aumenta para um nível inaceitável. As métricas com base em registros são adequadas se você quiser realizar uma destas ações:

  • Conte as ocorrências de uma mensagem, como um aviso ou erro, nos registros e receba uma notificação quando o número de ocorrências ultrapassar um limite.
  • Observe as tendências nos dados, como os valores de latência nos registros, e receba uma notificação se eles mudarem de maneira inaceitável.
  • Crie gráficos para exibir os dados numéricos extraídos dos registros.

Para mais informações, consulte Monitorar seus registros.

Armazenamento de registro

Não é necessário configurar o local onde os registros são armazenados. Por padrão, seu projeto do Google Cloud armazena automaticamente todos os registros recebidos em um bucket de registros do Cloud Logging. Por exemplo, se o projeto do Google Cloud contiver uma instância do Compute Engine, todos os registros gerados pelo Compute Engine serão armazenados automaticamente. No entanto, se necessário, você pode configurar vários aspectos sobre o armazenamento de registros, como quais registros são armazenados, quais são descartados e onde eles são armazenados.

É possível encaminhar ou redirecionar entradas de registro para os seguintes destinos, que podem estar no mesmo projeto do Google Cloud ou em um projeto diferente:

  • Bucket do Cloud Logging: oferece armazenamento no Cloud Logging. Um bucket de registro pode armazenar entradas de registro recebidas por vários projetos do Google Cloud. O bucket de registros pode estar no mesmo projeto em que as entradas de registro são originadas ou em um projeto diferente. Para informações sobre como visualizar entradas de registro armazenadas em buckets de registro, consulte Visão geral dos registros de consulta e visualização e Visualizar registros roteados para buckets do Cloud Logging.

    É possível combinar seus dados do Cloud Logging com outros dados atualizando um bucket de registros para usar a Análise de dados de registros e, em seguida, criando um conjunto de dados vinculado, que é um conjunto de dados somente leitura que pode ser consultado pelas páginas BigQuery Studio e Looker Studio.

  • Conjunto de dados do BigQuery: oferece armazenamento de entradas de registro em um conjunto de dados do BigQuery gravável. O conjunto de dados do BigQuery pode estar no mesmo projeto em que as entradas de registro são originadas ou em um projeto diferente. É possível usar os recursos de análise de Big Data nas entradas de registro armazenadas. Para saber como visualizar entradas de registro roteadas para o BigQuery, consulte Conferir registros roteados para o BigQuery.

  • Bucket do Cloud Storage: armazena entradas de registro no Cloud Storage. O bucket do Cloud Storage pode estar no mesmo projeto em que as entradas de registro são originadas ou em um projeto diferente. As entradas de registro são armazenadas na forma de arquivos JSON. Para informações sobre como visualizar entradas de registro roteadas para o Cloud Storage, consulte Visualizar registros roteados para o Cloud Storage.
  • Tópico do Pub/Sub: oferece suporte a integrações de terceiros. As entradas de registro são formatadas em JSON e encaminhadas para um tópico do Pub/Sub. O tópico pode estar no mesmo projeto em que as entradas de registro originam ou em um projeto diferente. Para informações sobre como conferir as entradas de registro roteadas para o Pub/Sub, consulte Conferir registros roteados para o Pub/Sub.

  • Projeto do Google Cloud: roteie as entradas de registro para outro projeto do Google Cloud. Nessa configuração, os coletores no projeto de destino processam as entradas de registro.

Para mais informações, incluindo suporte à regionalidade de dados, consulte Visão geral de roteamento e armazenamento.

Categorias de registros

As categorias de registro ajudam a descrever as informações de registro disponíveis para você. Elas não são mutuamente exclusivas:

  • Os registros de plataforma são gravados pelos serviços do Google Cloud. Esses registros podem ajudar você a depurar e resolver problemas e a entender melhor os serviços do Google Cloud que você está usando.

  • Os registros de componentes são semelhantes aos de plataforma, mas são gerados por componentes de software fornecidos pelo Google e executados nos sistemas. Por exemplo, o GKE tem componentes de software que os usuários podem executar na própria VM ou em um data center. Os registros são gerados nas instâncias do GKE e enviados ao projeto do Google Cloud do usuário. O GKE usa os registros ou os metadados deles para dar suporte ao usuário.

  • Os registros de segurança ajudam a responder "quem fez o quê, onde e quando":

    • Os Registros de auditoria do Cloud fornecem informações sobre atividades administrativas e acessos nos recursos do Google Cloud. Ativar os registros de auditoria ajuda as entidades de segurança, auditoria e compliance a monitorar dados e sistemas do Google Cloud em busca de possíveis vulnerabilidades ou uso externo indevido de dados. Para conferir uma lista de serviços compatíveis com o Google Cloud, consulte Serviços do Google com registros de auditoria.
  • Os registros gravados pelo usuário são gravados por aplicativos e serviços personalizados. Geralmente eles são gravados no Cloud Logging usando um destes métodos:

Modelo de dados para registros

O modelo de dados usado pelo Cloud Logging para organizar os dados de registro determina as dimensões em que você pode consultar esses dados. Por exemplo, como um registro é uma coleção nomeada de entradas individuais, é possível consultar seus dados pelo nome do registro. Da mesma forma, como cada registro é composto de entradas de registro formatadas como objetos LogEntry, é possível escrever consultas que extraem apenas as entradas de registro em que o valor de um campo LogEntry corresponde a alguns critérios. Por exemplo, é possível mostrar apenas as entradas de registro em que o campo severity tem o valor ERROR.

Cada entrada de registro registra o status ou descreve um evento específico, como a criação de uma instância de VM, e consiste minimamente no seguinte:

  • Carimbo de data/hora que indica quando o evento ocorreu ou quando foi recebido pelo Cloud Logging.
  • Informações sobre a origem da entrada de registro. Essa fonte é chamada de recurso monitorado. Exemplos de recursos monitorados incluem instâncias de VM individuais do Compute Engine e contêineres do Google Kubernetes Engine. Para conferir uma lista completa dos tipos de recursos monitorados, consulte Serviços e recursos monitorados.
  • Um payload, também conhecido como mensagem, fornecido como dados textuais não estruturados ou como dados textuais estruturados no formato JSON.
  • O nome do registro ao qual ele pertence. O nome de um registro inclui o caminho completo do recurso a que as entradas de registro pertencem, seguido por um identificador. Confira abaixo exemplos de nomes de registros:

    • projects/my-project/logs/stderr
    • projects/my-project/logs/stdout
    • projects/my-project/compute.googleapis.com/activity

Controle de acesso

Os papéis do Identity and Access Management controlam a capacidade de um principal de acessar registros. É possível conceder papéis predefinidos a participantes ou criar papéis personalizados. Para mais informações sobre as permissões necessárias, consulte Controle de acesso.

Retenção

As entradas de registro são armazenadas em buckets de registros durante um determinado período. Depois, são excluídas. Para mais informações, consulte Visão geral de roteamento e armazenamento: retenção.

Preços

O Cloud Logging não cobra pelo encaminhamento de 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 em buckets de registro e para armazenamento por mais tempo do que o período de armazenamento padrão do bucket de registros.

O Cloud Logging não cobra pela cópia de registros, pela definição de escopos de registro ou por consultas emitidas nas páginas Explorador de registros ou Análise de dados de registros.

Para mais informações, consulte estes documentos: