Analisar o volume de registros com a Análise de dados de registros

Este documento descreve como usar o Log Analytics para estimar o volume faturável das entradas de registro. É possível escrever consultas que informam e agregam seu volume faturável por diferentes dimensões, como tipo de recurso ou nome do aplicativo, e depois gerar um gráfico e conferir os resultados da consulta.

Como consultar o volume faturável

O volume faturável de uma entrada de registro, que é o tamanho informado ao Cloud Billing, está disponível no campo storage_bytes. Nas consultas, é possível usar o campo storage_bytes da mesma forma que qualquer campo de esquema com tipo de dados INTEGER. Por exemplo, é possível incluí-lo em cláusulas SELECT, em instruções CASE e em expressões de tabela comuns. Para mais informações sobre como consultar seus registros, consulte os seguintes documentos:

Como o Cloud Billing usa o volume faturável para determinar seus custos, é possível criar consultas que ajudam a entender as origens deles. Por exemplo, é possível escrever consultas que ajudam a determinar quais aplicativos estão gravando a maioria das entradas de registro. Para saber como relacionar o volume faturável ao custo, consulte o Resumo de preços do Cloud Logging e Preços do Cloud Logging.

O volume faturável de uma entrada de registro não é o tamanho do objeto LogEntry enviado para a API Cloud Logging. O volume faturável inclui bytes necessários para serialização e metadados.

Antes de começar

Esta seção descreve as etapas que você precisa concluir antes de usar a Análise de registros.

Configurar buckets de registros

Verifique se os buckets de registro foram atualizados para usar a Análise de registros:

  1. No console do Google Cloud, acesse a página Armazenamento de registros:

    Acessar o armazenamento de registros

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

  2. Para cada bucket de registros que tenha uma visualização de registro que você quer consultar, verifique se a coluna Log Analytics disponível mostra Aberto. Se a opção Upgrade for exibida, clique em Upgrade e conclua a caixa de diálogo.

Configurar papéis e permissões do IAM

Esta seção descreve os papéis ou as permissões do IAM necessários para usar o Log Analytics:

  • Para receber as permissões necessárias para usar a Análise de registros e as visualizações de registro de consulta, peça que o administrador conceda a você os seguintes papéis do IAM no projeto:

    É possível restringir um principal a uma visualização de registro específica adicionando uma condição do IAM à concessão de função de acessador de visualização de registros feita no nível do projeto ou adicionando uma vinculação do IAM ao arquivo de política da visualização de registro. Para mais informações, consulte Controlar o acesso a uma visualização de registro.

    Essas são as mesmas permissões necessárias para visualizar entradas de registro na página Análise de registros. Para informações sobre outros papéis necessários para consultar visualizações em buckets definidos pelo usuário ou para consultar a visualização _AllLogs do bucket de registros _Default, consulte Papéis do Cloud Logging.

Amostras de consultas

Esta seção fornece exemplos de consultas que analisam dados de uma única visualização de registro. Se você armazenar dados em várias visualizações de registro e quiser calcular valores agregados para dados armazenados nessas visualizações, use a instrução UNION.

É possível consultar a entrada de registro usando a página Log Analytics ou qualquer lugar em que você possa consultar conjuntos de dados do BigQuery, incluindo as páginas BigQuery Studio e Looker Studio, além da ferramenta de linha de comando bq.

Para usar as consultas de amostra, faça o seguinte:

Consultar o volume de registros por app

Para calcular o total de bytes por dia, por app, das entradas de registro que foram gravadas em um recurso do Google Kubernetes Engine e que têm um payload JSON, use a seguinte consulta:

SELECT
  timestamp_trunc(timestamp,DAY) as day,
  JSON_VALUE(labels["k8s-pod/app"]) as app_id,
  SUM(storage_bytes) as total_bytes
FROM
  `TABLE_NAME_OF_LOG_VIEW`
WHERE
  json_payload IS NOT NULL
  AND resource.type="k8s_container"
GROUP BY ALL

Para visualizar os dados, crie um gráfico.

No exemplo abaixo, os dados são mostrados como um gráfico de barras empilhadas. Cada barra no gráfico mostra o número total de bytes armazenados, organizados por app. Neste exemplo, o app frontend está gerando a maioria dos dados de registro:

Exemplo de gráfico mostrando os resultados da consulta do volume de registros por app.

Consultar volume de registro por nome

Para listar o número de bytes armazenados e o nome do registro de cada entrada de registro que tenha um payload JSON e que tenha sido gravada em um recurso do Google Kubernetes Engine, use a seguinte consulta:

SELECT
  log_id AS log_name,
  storage_bytes
FROM
  `TABLE_NAME_OF_LOG_VIEW`
WHERE
  json_payload IS NOT NULL
  AND resource.type="k8s_container"

A consulta anterior não agrega os resultados. Em vez disso, há uma linha para cada entrada de registro, e essa linha contém um nome de registro e o número de bytes armazenados. Se você representar esses dados em um gráfico, poderá visualizar a parte dos seus dados de registro gravados em diferentes registros:

Exemplo de gráfico mostrando os resultados da consulta do volume de registros por nome.

O gráfico anterior mostra que a maioria dos dados de registro é gravada no registro chamado stdout.

Usar a ferramenta de linha de comando bq para consultar o volume de registros por nome

É possível incluir o campo storage_bytes em consultas executadas na página do BigQuery Studio ou usando a ferramenta de linha de comando bq.

A consulta a seguir informa o nome do registro e o número de bytes armazenados para cada entrada de registro:

bq query --use_legacy_sql=false  'SELECT log_id as log_name,
  storage_bytes FROM `TABLE_NAME_OF_LOG_VIEW`'

O resultado dessa consulta é semelhante ao seguinte:

+----------+---------------+
| log_name | storage_bytes |
+----------+---------------+
| stdout   |           716 |
| stdout   |           699 |
| stdout   |           917 |
| stdout   |           704 |

Cada linha corresponde a uma entrada de registro. O valor da coluna storage_bytes é o volume faturável dessa entrada de registro.

Limitações

O campo storage_bytes só fica disponível quando as seguintes condições são verdadeiras:

  • O bucket de registros é atualizado para usar a Análise de dados de registros.
  • A consulta é executada na página Análise de registros ou em qualquer lugar em que você possa consultar conjuntos de dados do BigQuery, incluindo as páginas BigQuery Studio e Looker Studio, além da ferramenta de linha de comando bq.

  • A entrada de registro foi gravada em 1º de janeiro de 2024 ou depois dessa data.