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

Neste documento, descrevemos como usar a Análise de observabilidade para estimar o volume faturável das entradas de registro. É possível criar consultas que informam e agregam o volume faturável por diferentes dimensões, como tipo de recurso ou nome do aplicativo, e depois criar gráficos e visualizar 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 cujo tipo de dados seja 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 ao determinar seus custos, é possível criar consultas que ajudam a entender as origens dos custos. Por exemplo, é possível criar consultas que ajudam a determinar quais aplicativos estão gravando mais entradas de registro. Para saber como relacionar o volume faturável ao custo, consulte as seções do Cloud Logging na página de preços do Google Cloud Observability.

O volume faturável de uma entrada de registro não é o tamanho do LogEntry objeto enviado à 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 observabilidade.

configurar buckets de registros

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

  1. No Google Cloud console, 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 Análise de observabilidade disponível mostra Abrir. Se Fazer upgrade for mostrado, clique em Fazer upgrade e conclua a caixa de diálogo.

Configurar papéis e permissões do IAM

Esta seção descreve os papéis ou permissões do IAM necessários para usar a Análise de observabilidade:

  • Para receber as permissões necessárias para usar a Análise de observabilidade e consultar visualizações de registro, peça ao administrador para conceder 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 papel do 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.

  • Para receber as permissões necessárias para consultar visualizações de análise, peça ao administrador para conceder a você o papel do IAM Usuário da Análise de observabilidade (roles/observability.analyticsUser) no projeto.

Amostras de consultas

Esta seção fornece exemplos de consultas que analisam dados de uma única visualização de registro. Se você armazena dados em várias visualizações de registro e quer 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 Análise de observabilidade ou em qualquer lugar em que seja possível consultar conjuntos de dados do BigQuery, incluindo as páginas BigQuery Studio e Looker Studio e a 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, para as entradas de registro 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
  `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 a seguir, 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 de volume de registros por app.

Consultar o volume de registros por nome de registro

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

SELECT
  log_id AS log_name,
  storage_bytes
FROM
  `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ê criar um gráfico com esses dados, poderá visualizar a parte dos dados de registro gravados em diferentes registros:

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

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 de registro

É possível incluir o campo storage_bytes em consultas executadas na página 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 `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ó está disponível quando as seguintes condições são verdadeiras:

  • O bucket de registros é atualizado para usar a Análise de observabilidade.
  • A consulta é executada na página Análise de observabilidade ou em qualquer lugar em que seja possível consultar conjuntos de dados do BigQuery, incluindo as BigQuery Studio e Looker Studio páginas, e a ferramenta de linha de comando bq.

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