Analise o volume de registos com o Log Analytics

Este documento descreve como pode usar o Log Analytics para estimar o volume faturável das suas entradas de registo. Pode escrever consultas que geram relatórios e agregam o seu volume faturável por diferentes dimensões, como o tipo de recurso ou o nome da aplicação, e, em seguida, criar gráficos e ver os resultados da consulta.

Como consultar o volume faturável

O volume faturável de uma entrada de registo, que é o tamanho comunicado ao Cloud Billing, está disponível através do campo storage_bytes. Nas suas consultas, pode usar o campo storage_bytes da mesma forma que usa qualquer campo de esquema cujo tipo de dados seja INTEGER. Por exemplo, pode incluí-lo em cláusulas SELECT, em declarações CASE e em expressões de tabelas comuns. Para mais informações sobre como consultar os seus registos, consulte os seguintes documentos:

Uma vez que a Faturação do Google Cloud usa o volume faturável para determinar os seus custos, pode escrever consultas que ajudam a compreender as origens dos seus custos. Por exemplo, pode escrever consultas que ajudam a determinar que aplicações estão a escrever o maior número de entradas de registo. Para saber como relacionar o volume faturável com o custo, consulte as secções do Cloud Logging na página Preços do Google Cloud Observability.

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

Antes de começar

Esta secção descreve os passos que tem de concluir antes de poder usar a análise de registos.

Configure contentores de registos

Certifique-se de que os contentores de registos foram atualizados para usar o Log Analytics:

  1. Na Google Cloud consola, aceda à página Armazenamento de registos:

    Aceda a Armazenamento de registos

    Se usar a barra de pesquisa para encontrar esta página, selecione o resultado cuja legenda é Registo.

  2. Para cada contentor de registos que tenha uma vista de registos que quer consultar, certifique-se de que a coluna Log Analytics disponível apresenta Abrir. Se for apresentado o botão Atualizar, clique nele e conclua a caixa de diálogo.

Configure funções e autorizações do IAM

Esta secção descreve as funções ou as autorizações da IAM necessárias para usar o Log Analytics:

  • Para receber as autorizações de que precisa para usar o Log Analytics e consultar visualizações de registos, peça ao seu administrador que lhe conceda as seguintes funções de IAM no seu projeto:

    Pode restringir um principal a uma vista de registos específica adicionando uma condição de IAM à concessão da função Logs View Accessor feita ao nível do projeto ou adicionando uma associação de IAM ao ficheiro de política da vista de registos. Para mais informações, consulte o artigo Controle o acesso a uma vista de registo.

    Estas são as mesmas autorizações de que precisa para ver entradas de registo na página do Explorador de registos. Para ver informações sobre funções adicionais necessárias para consultar visualizações em contentores definidos pelo utilizador ou para consultar a visualização _AllLogs do contentor de registos _Default, consulte Funções do Cloud Logging.

  • Para receber as autorizações de que precisa para consultar visualizações de propriedade do Analytics, peça ao seu administrador para lhe conceder a função de IAM Utilizador do Observability Analytics (roles/observability.analyticsUser) no seu projeto.

Consultas de exemplo

Esta secção apresenta exemplos de consultas que analisam dados de uma única vista de registo. Se armazenar dados em várias visualizações de registos e quiser calcular valores agregados para os dados armazenados nessas visualizações, tem de usar a declaração UNION.

Pode consultar a sua entrada de registo através da página Log Analytics ou em qualquer lugar onde possa consultar conjuntos de dados do BigQuery, incluindo as páginas BigQuery Studio e Looker Studio, e a ferramenta de linha de comandos bq.

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

Consulte o volume de registos por app

Para calcular o total de bytes por dia, por app, para as entradas de registo que foram escritas num 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, pode criar um gráfico.

No exemplo seguinte, os dados são apresentados como um gráfico de barras empilhadas. Cada barra no gráfico apresenta o número total de bytes armazenados, organizado por app. Neste exemplo, a app frontend está a gerar a maioria dos dados de registo:

Exemplo de gráfico que mostra os resultados da consulta do volume de registos por app.

Consultar o volume de registos por nome do registo

Para listar o número de bytes armazenados e o nome do registo para cada entrada de registo que tenha um payload JSON e que tenha sido escrita em relação a 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, existe uma linha para cada entrada de registo, e essa linha contém um nome de registo e o número de bytes armazenados. Se representar estes dados num gráfico, pode visualizar a parte dos dados de registo escritos em diferentes registos:

Exemplo de gráfico que mostra os resultados da consulta do volume de registos por nome do registo.

O gráfico anterior mostra que a maioria dos dados de registo é escrita no registo denominado stdout.

Use a ferramenta de linhas de comando bq para consultar o volume de registos por nome do registo

Pode incluir o campo storage_bytes em consultas que executa através da página do BigQuery Studio ou usando a ferramenta de linha de comandos bq.

A consulta seguinte comunica o nome do registo e o número de bytes armazenados para cada entrada de registo:

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

O resultado desta consulta é semelhante ao seguinte:

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

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

Limitações

O campo storage_bytes só está disponível quando se verificam as seguintes condições:

  • O contentor de registos é atualizado para usar o Log Analytics.
  • A sua consulta é executada na página Log Analytics ou em qualquer lugar onde possa consultar conjuntos de dados do BigQuery, incluindo as páginas BigQuery Studio e Looker Studio, e a ferramenta de linha de comandos bq.

  • A entrada do registo foi escrita a 1 de janeiro de 2024 ou após esta data.