查询构建器

使用查询生成器,您无需了解 DataPrime, Lucene 或 PromQL 语法,即可为自定义 IBM® Cloud Logs 面板部件创建查询。

定义 widget 时,您可以选择使用“生成器”还是“查询”模式。

基于指标的查询

在创建使用度量指标的 widget 时,请选择“生成器”模式,然后选择“**度量指标 **”作为来源。

查询类型

查询类型可选择即时查询或范围查询。 查询会在特定的时间范围内运行,该时间范围由仪表板时间选择器或 widget 时间范围定义。

  • 即时查询模式显示度量值的单个时间点,特别是所选时间框架的结束时间戳。 即时查询模式非常适合实时监控,可在可视化的瞬间提供数据快照。 它的性能也更高,只检索最近的数据点,而无需获取整个数据集。

  • 范围查询模式可检索和汇总指定时间段内的度量数据。 它会返回起始和结束时间戳之间与您的查询相匹配的所有数据点。 随着时间框架的变化,系统会自动调整时间间隔,以优化图表中显示的数据点数量。 范围查询模式最适合用于确定趋势或评估规定时间内的性能。

度量值名称

从动态填充可用指标的下拉菜单中选择首选指标。 您可以使用自动完成功能来查看度量名称、标签和值。

过滤器

要添加筛选器,请单击 +。选择一个度量标签和相关值来筛选度量。

从下拉菜单中选择 =!= 运算符,以包含或排除一个或多个值。 通过使用 =~!~ 操作符,可以输入 RegEx 表达式。

要添加更多标签值对,请单击 " + "添加一行。

函数

通过选择指标和标签可以创建有效的 Prometheus 查询,但也可以使用函数创建更复杂的查询。

要添加功能,请单击 +。在 aggregationcountrollup 功能之间进行选择。

聚合函数计算一组值并返回一个值。 这些功能包括 SUM(), AVG(), MIN(), MAX(), COUNT() 等。 选择功能后,在下拉菜单中选择要聚合的标签或输入标签值。

聚集函数
聚集 描述
average 选定时间范围内所有数据点的平均值。
count 所选时间范围内的数据点总数。
min 所选时间范围内数据点的最小值。
max 所选时间范围内数据点的最大值。
sum 选定时间范围内所有数据点的总和。
quantile quantile(phi, q) by (group_labels) 函数是一个聚合函数,用于计算由 q 返回的时间序列中每组标签的 phi-quantilephi 的值必须在 [0...1] 的范围内。 对具有相同时间戳的每一组点分别计算量值。
histogram_quantile histogram_quantile 函数是一个转换函数,可根据提供的直方图桶计算 phi-percentilephi 的值必须在 [0...1] 之间。 例如,histogram_quantile(0.5, sum(rate(http_request_duration_seconds_bucket[5m])) by (le)) 返回过去 5 分钟内所有请求的中位请求持续时间。

计数函数对一组数值进行计算,并返回单一数值。 这些功能包括 Count(), Absent(), Absent over time(), Present over time(), Changes(), Resets() 等。

计数功能
计数 描述
count 所选时间范围内的数据点总数。
absent 如果时间序列没有点,则返回 1。 否则,返回空结果。
absent over time 如果提供的时间范围不包含原始样本,则返回 1。
present over time 如果在提供的时间范围内至少有一个原始样本,则返回 1。
changes 时间序列值在提供的时间范围内发生变化的次数。
resets 在提供的时间范围内计数器重置的次数。

卷积函数指的是在指定时间范围内汇总时间序列数据的函数。 这些函数计算一个时间窗口内的指标,如 average (avg_over_time), sum (sum_over_time), minimum (min_over_time), maximum (max_over_time), count (count_over_time)quantiles (quantile_over_time)。 它们用于汇总和分析度量数据。

滚动功能
卷轴 描述
average over time 计算时间范围内时间序列值的平均值。
max over time 查找某一时间范围内时间序列数据的最大值。
min over time 确定时间范围内时间序列数据的最小值。
sum over time 计算时间范围内时间序列值的总和。
count over time 计算时间序列在一定时间范围内非 NaN 元素的数量。
quantile over time 计算时间范围内时间序列数据的指定量化值。

选择功能后,用数字或 ${__range} 选择要查询的范围。${__range} 表示仪表盘时间范围的持续时间。 它被呈现为 PromQL 支持的区间字符串。 例如,如果选择的时间范围是从 13.0014.30,则 ${__range} 变量将显示为 90m

使用排序功能,您可以在查询中对数据进行排序、排序和过滤。 您可以使用它们根据特定的指标和值来完善您的结果。

要添加秩函数,请单击 +,然后从 TOPK, SORT,或 SORT Descending 中选择。 选择排名函数后,通过指定度量和参数对其进行配置(例如,输入您希望查询检索到的 K 结果数 TOPK )。

等级功能
Rank 描述
TOPK 根据指定指标从数据集中检索 K 最高的结果。 使用 TOPK 显示排名最高的数据点。
SORT 根据所选指标以升序排列数据。 使用 SORT 从最小值到最大值排列数据。
SORT Descending 根据所选指标以降序排列数据。 使用 SORT Descending 将最大值优先排在结果集的开头。

基于日志的查询

利用基于日志的查询生成器,您可以通过制作基于 Lucene 的查询,然后添加过滤器和函数来创建复杂的查询。

在创建使用日志的 widget 时,请选择“生成器”模式,然后将日志作为来源。

您还需要选择是在 优先级洞察 还是 分析和警报 数据管道中查询日志。

过滤器

要添加过滤器,请单击 +。选择标签和相关值。

从下拉菜单中选择 =!= 运算符,以包含或排除一个或多个值。 通过使用 =~!~ 操作符,可以输入 RegEx 表达式。

要添加更多标签值对,请单击 " + "。

函数

要添加函数,请单击 +。使用函数选择汇总值。

日志功能
功能 描述
Count 所选时间范围内的数据点总数。
Count Distinct 所选时间范围内唯一数据点的数量。
Sum 选定时间范围内所有数据点的总和。
Min 所选时间范围内数据点的最小值。
Max 所选时间范围内数据点的最大值。
Average 选定时间范围内所有数据点的平均值。
Percentile XX 代表少于 XX% 的数据点所在的值。 例如,Percentile 95 是低于 95% 的数据点所在的值。

使用“按分组”功能,可以按一个或多个字段对查询结果进行分组。

DataPrime 疑问

您可以创建一个 DataPrime 查询,作为 widget 的基础。

您需要选择是在 优先级洞察 还是 分析和警报 数据管道中查询日志。

当您基于日志数据创建查询时,您可以选择通过单击查询生成器中的 “转换为 DataPrime 将查询转换为 DataPrime 语法语言。

转换后,转换后的查询将出现在查询生成器的 DataPrime 标签下。

更改数据源或将查询转换为 DataPrime, 后,查询生成器中的原始查询参数将丢失。 保存 widget 可以保留 widget 的最新状态。

小工具时间

仪表板的时间选择器会为您的查询设置默认时间范围。 要自定义您正在配置的小部件的时间范围,请单击 “小部件时间” 并将开关切换为关闭以将其与仪表板的时间范围取消链接。 然后,您就可以为正在配置的小工具选择一个标准或自定义时间框架。