本文档介绍了如何使用 Log Analytics 来 日志条目的计费量。您可以编写查询来报告和 按不同的维度(例如资源类型或 应用名称,然后绘制图表和查看查询结果。
如何查询可结算量
日志条目的可计费量,
报告给 Cloud Billing 的数据可通过 storage_bytes
字段获取。
在查询中,您可以同样使用 storage_bytes
字段
您可以使用数据类型为 INTEGER
的任何架构字段。
例如,您可以将其包含在 SELECT
子句中,
CASE
语句和常用的表表达式。
如需详细了解如何查询日志,请参阅以下文档:
由于 Cloud Billing 使用可结算量来确定费用, 您可以编写查询来帮助了解费用来源。 例如,您可以编写查询来帮助确定哪些 写入的日志条目最多。了解如何将可结算量与 请参阅 Cloud Logging 价格摘要 和 Cloud Logging 价格。
日志条目的计费量不是 LogEntry
的大小
对象。可结算量包括
序列化和元数据所需的字节数。
准备工作
-
如需获取使用 Log Analytics 运行查询和查看日志所需的权限, 请让管理员授予您 项目的以下 IAM 角色:
-
如需查询
_Required
和_Default
日志存储分区,请执行以下操作: 日志查看器 (roles/logging.viewer
) -
如需查询自定义日志存储分区,请执行以下操作:
日志查看访问器 (
roles/logging.viewAccessor
)
如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限。
-
如需查询
对于您要查询的日志视图,请转到日志存储页面。 并验证用来存储存储分区 这些日志视图将升级为使用 Log Analytics。如有必要, 升级日志存储桶
在 Google Cloud 控制台中,转到日志存储页面:
如果您使用搜索栏查找此页面,请选择子标题为 Logging 的结果。
可选:如果您想使用 BigQuery 数据集查询日志数据,请创建关联的 BigQuery 数据集。
查询示例
本部分提供了分析单个日志视图中的数据的示例查询。
如果您将数据存储在多个日志视图中,并且希望计算聚合,
值,那么您需要使用 UNION
声明。
您可以使用 Log Analytics 页面或任何您可以查询 BigQuery 数据集的平台, 其中包括 BigQuery Studio 和 Looker Studio 页面,以及 bq 命令行工具。
如需使用示例查询,请执行以下操作:
Log Analytics 页面:替换 TABLE_NAME_OF_LOG_VIEW 替换为日志视图的名称。格式为
project_ID.region.bucket_ID.view_ID
。BigQuery 数据集:将 TABLE_NAME_OF_LOG_VIEW 替换为关联数据集中表路径。
按应用查询日志量
计算每个应用每天的总字节数, 针对 Google Kubernetes Engine 资源编写且具有 JSON 载荷 请使用以下查询:
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
如需直观呈现数据,您可以创建一个图表。
在以下示例中,数据显示为堆叠条形图。图表中的每个条形显示存储的字节总数,按应用进行分组。在此示例中,frontend
应用生成的日志数据最多:
按日志名称查询日志量
列出存储字节数和每个字节数的日志名称 包含 JSON 载荷并且是针对 Google Kubernetes Engine 资源,请使用以下查询:
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"
上一个查询不会汇总结果,而是显示一行 该行包含日志名称以及 存储的字节数。如果您绘制这些数据的图表 就可以直观呈现数据 将日志数据写入不同日志:
上面的图表显示大多数日志数据写入到名为
stdout
。
使用 bq 命令行工具按日志名称查询日志卷
通过storage_bytes
BigQuery Studio 页面或使用
bq 命令行工具。
以下查询会报告日志名称以及每个日志的存储字节数 日志条目:
bq query --use_legacy_sql=false 'SELECT log_id as log_name,
storage_bytes FROM `TABLE_NAME_OF_LOG_VIEW`'
此查询的结果类似于以下内容:
+----------+---------------+
| log_name | storage_bytes |
+----------+---------------+
| stdout | 716 |
| stdout | 699 |
| stdout | 917 |
| stdout | 704 |
每行对应一个日志条目。storage_bytes
的值
列是该日志条目的计费量。
限制
仅当满足以下条件时,storage_bytes
字段才可用:
- 日志存储桶已升级为使用 Log Analytics。
您的查询会在 Log Analytics 页面或您能找到的任何位置执行 BigQuery 数据集,其中包括 BigQuery Studio 和 Looker Studio 页面,以及 bq 命令行工具。
此日志条目是在 2024 年 1 月 1 日或之后写入的。