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

Com a Análise de Observabilidade, é possível estimar o volume faturável das entradas de registro para entender e gerenciar os custos de geração de registros. É possível escrever consultas SQL para agregar o volume de registros por dimensões, como tipo de recurso ou nome do aplicativo, e visualizar ou representar os resultados em um gráfico.

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 você usa qualquer campo de esquema com o tipo de dados INTEGER. Por exemplo, é possível incluí-la 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 escrever consultas que ajudam a entender as fontes dos custos. Por exemplo, é possível escrever 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 objeto LogEntry que foi enviado à API Cloud Logging. O volume faturável inclui bytes necessários para serialização e metadados.

Antes de começar

Nesta seção, descrevemos 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 console 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 registros que você queira consultar, verifique se a coluna Análise de Observabilidade disponível mostra Abrir. Se Fazer upgrade aparecer, clique em Fazer upgrade e conclua a caixa de diálogo.

Configurar papéis e permissões do IAM

Nesta seção, descrevemos os papéis ou as 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 registros, 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 registros específica adicionando uma condição do IAM à concessão do papel de acessador de visualizações de registros feita no nível do projeto ou adicionando uma vinculação do IAM ao arquivo de política da visualização de registros. Saiba mais em 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 de Análise de Observabilidade (roles/observability.analyticsUser) no projeto.

Amostras de consultas

Nesta seção, mostramos 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 os dados armazenados nessas visualizações, use a instrução UNION.

É possível consultar as entradas 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, o que inclui as páginas do BigQuery Studio e do 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, para as 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
  `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 maior parte dos dados de registro:

Exemplo de gráfico que mostra 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 de 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 registros diferentes:

Exemplo de gráfico que mostra os resultados da consulta de 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 de registro

É 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 `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 foi 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, o que inclui as páginas do BigQuery Studio e do 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.