跳转到内容
搜索文档

查询构建器

最后更新 查看 MarkdownAgent 设置

Query Builder 帮助你编写结构化查询以调查和可视化遥测数据。Query Builder 搜索 Workers 可观测性数据集,目前包括 Workers Logs 存储的所有日志。

Query Builder 位于 Cloudflare 仪表板的 Observability(可观测性) 页面:

Go to Observability ↗

启用 Query Builder

Query Builder 对所有开发者可用,无需额外启用。查询搜索 Cloudflare 存储的所有 Workers Logs。若尚未启用 Workers Logs,可在 Worker 的 Wrangler 文件 中添加以下设置并重新部署 Worker。

{
	"observability": {
		"enabled": true,
		"logs": {
			"invocation_logs": true,
			"head_sampling_rate": 1 // optional. default = 1.
		}
	}
}
[observability]
enabled = true

  [observability.logs]
  invocation_logs = true
  head_sampling_rate = 1

在 Cloudflare 仪表板中编写查询

  1. 在 Cloudflare 仪表板中,前往 Workers & Pages 页面。

    Go to Workers & Pages ↗
  2. 选择你的 Worker。

  3. 在左侧导航面板中选择 Observability(可观测性),然后选择 Overview(概览) 选项卡。

  4. 选择 Visualization(可视化)

  5. 可选:为 Filter、Group By、Order By 和 Limit 添加字段。更多信息请参阅查询组成

  6. 可选:选择适当的时间范围。

  7. 选择 Run(运行)。每次更改时查询将自动运行。

查询组成

Visualization

Query Builder 支持多种可视化操作符,包括:

函数 参数 说明
Count n/a 匹配查询条件的总行数
Count Distinct 任意字段 数据集中唯一值的出现次数
Min 数值字段 数据集中该字段的最小值
Max 数值字段 数据集中该字段的最大值
Sum 数值字段 数据集中该字段所有值的总和
Average 数值字段 数据集中该字段的平均值
Standard Deviation 数值字段 数据集中该字段的标准差
Variance 数值字段 数据集中该字段的方差
P001 数值字段 0.1% 数据低于该字段值的阈值
P01 数值字段 1% 数据低于该字段值的阈值
P05 数值字段 5% 数据低于该字段值的阈值
P10 数值字段 10% 数据低于该字段值的阈值
P25 数值字段 25% 数据低于该字段值的阈值
Median (P50) 数值字段 50% 数据低于该字段值的阈值
P75 数值字段 75% 数据低于该字段值的阈值
P90 数值字段 90% 数据低于该字段值的阈值
P95 数值字段 95% 数据低于该字段值的阈值
P99 数值字段 99% 数据低于该字段值的阈值
P999 数值字段 99.9% 数据低于该字段值的阈值

单个查询可添加多个可视化。每个可视化渲染一个图表。还会返回一个汇总表,显示原始查询结果。

Query Builder 多可视化示例

所有方法都是聚合函数。大多数方法对日志事件中的特定字段进行操作。Count 是例外,它是返回匹配过滤条件的日志事件数量的聚合函数。

Filter

过滤器帮助返回匹配指定条件的列。过滤器有三个组成部分:键、操作符和值。

键是日志事件中的任意字段。例如,你可以选择 $workers.cpuTimeMs$metadata.message

操作符是评估为 true 或 false 的逻辑条件。请参阅下表了解支持的条件:

数据类型 有效条件(操作符)
数值 等于、不等于、大于、大于或等于、小于、小于或等于、存在、不存在
字符串 等于、不等于、包含、不包含、正则、存在、不存在、开头为

数值字段的值是整数。字符串字段的值是任意字符串。

添加过滤器:

  1. Filter(筛选) 部分选择 +。 2. 选择 Select key...(选择键...) 并 输入键名。例如 $workers.cpuTimeMs。 3. 选择操作符 并更改为最合适的操作符。例如 Greater than。 4. 选择 Select value...(选择值...) 并输入值。例如 100

使用上述指定过滤器运行查询时,仅返回 $workers.cpuTimeMs > 100 的日志事件。

添加多个过滤器会使用 AND 操作符组合,意味着只有匹配所有过滤器的事件才会被返回。

Search 是文本过滤器,仅返回包含指定文本的事件。Search 可作为快速过滤机制,或搜索日志中的唯一可识别值。

Group By

Group By 将具有相同值的行合并为汇总行。例如,若查询添加 $workers.event.request.cf.country 作为 Group By 字段,汇总表将按国家/地区分组。

Order By

Order By 影响汇总表中结果的排序方式。若选择 asc,结果按升序排序——从小到大。若选择 desc,结果按降序排序——从大到小。

Limit

Limit 限制返回的结果数量。与 Order By 配合使用时,可用于返回「前 N」或「前 N 个」结果。

选择时间范围

选择时间范围时,你指定要查找匹配事件的时间间隔。保留期取决于你的计划类型

查看查询结果

查询有三种视图:Visualizations、Invocations 和 Events。

Visualizations 选项卡

Visualizations(可视化) 选项卡显示查询的图表和汇总表。

Visualization 概览

Invocations 选项卡

Invocations(调用) 选项卡显示所有日志,按调用分组,按时间戳排序。仅返回匹配查询条件的调用。

Invocations 概览

Events 选项卡

Events(事件) 选项卡显示所有日志,按时间戳排序。仅返回匹配查询条件的事件。Events(事件) 选项卡可自定义以在视图中添加其他字段。

概览

保存查询

建议保存可能在未来调查中重复使用的查询。你可以通过选择 Save Query(保存查询) 以名称、描述和自定义标签保存查询。查询在账户级别保存,账户中的所有用户均可访问。

保存的查询可通过从 Queries(查询) 选项卡选择相关查询重新运行。你可以编辑查询并保存编辑。

用户可以为查询加星标。加星标的查询对用户是唯一的,而非账户级别。

删除查询

保存的查询可从 Queries(查询) 选项卡删除。若删除查询,该查询将对账户中的所有用户删除。

  1. 在 Cloudflare 仪表板中,前往 Observability(可观测性) 页面。

    Go to Observability ↗
  2. 选择 Queries(查询) 选项卡。

  3. 在右侧选择三个点以获取更多操作。

  4. 选择 Delete Query(删除查询) 并按照说明操作。

共享查询

保存的查询分配有唯一 URL,可与账户中的任何用户共享。

示例:编写查询

在此示例中,我们将编写查询以查找和调试所有返回 5xx 错误的路径。首先,我们创建基础查询。在此基础查询中,我们希望按 原始事件计数进行可视化。我们可以为 $workers.event.response.status 添加大于 500 的过滤器。 然后,我们按 $workers.event.request.path$workers.event.response.status 分组,以识别受影响的请求数量。

构建查询

结果显示 /agents/chat/default 路径一直出现 404 和 500。现在,我们可以为此路径应用过滤器并进行调查。

向查询添加额外字段

现在,我们可以通过选择 Invocations(调用) 选项卡进行调查。我们可以看到此错误有两条记录的调用。

在 Query Builder 中查看 Invocations 选项卡

我们可以展开单个调用以查看相关日志,并继续调试。

查看单个调用的日志

这篇文档对您有帮助吗?