Prometheus 内置函数:scalar() 用于将向量转换为标量值

Prometheus 内置函数:scalar()

作用

scalar() 函数用于将向量转换为标量值。通常,PromQL 查询返回的是一个向量,即包含多个时间序列样本的集合。然而,在某些情况下,你可能只需要获取单个值,而不是整个向量。这时,你可以使用 scalar() 函数来提取向量中的单个值。

scalar() 函数通常用于需要与 Prometheus 的 API 或其他需要标量值的服务进行交互的场景,例如将 Prometheus 的数据导出到 Grafana 或其他监控工具中。在这些情况下,你可能需要将 PromQL 查询的结果转换为单个标量值。

注意:

(1)scalar() 函数只返回向量中的第一个样本值,如果向量为空(即没有匹配的样本),scalar() 函数将返回 NaN(表示不是一个数字)。因此,在使用 scalar() 函数之前,你应该确保你的查询能够返回一个有效的向量。

(2)如果向量中有多个样本,scalar() 函数的行为将是不确定的,因此使用时应确保向量只包含一个样本。

语法

scalar() 函数的基本语法是:

scalar(<vector>)

参数说明:

  • <vector> 是一个向量表达式,它应该只返回一个样本。

示例

假如你有一个 prometheus_http_requests_total 指标,存放 Prometheus HTTP 请求总数,使用 scalar 函数将 prometheus_http_requests_total{handler="/api/v1/query"} 向量转换成标量,如下:

scalar(prometheus_http_requests_total{handler="/api/v1/query"})

运行查询,输出如下:

Prometheus 内置函数:scalar() 用于将向量转换为标量值

Prometheus 内置函数:scalar() 用于将向量转换为标量值

一寸光阴一寸金,寸金难买寸光阴。——《增广贤文》
0 不喜欢
说说我的看法 -
全部评论(
没有评论
目录
热门标签
热门文章
关于
本网站属于个人的非赢利性网站,转载的文章遵循原作者的版权声明,如果原文没有版权声明,请来信告知:hxstrive@outlook.com
公众号