changes() 函数是一个向量函数,用于计算向量中每个时间序列元素在指定时间范围内的变化次数。换句话说,它会统计每个指标值在给定时间窗口内发生变化的次数。
changes() 函数通常用于监控那些应该很少变化或仅在特定条件下变化的指标,比如配置更改、状态转换等。当这些指标的值频繁变化时,可能表示系统出现了不稳定或异常行为。
changes() 函数对于识别潜在的性能问题、配置错误或系统的不稳定行为非常有用。通过将变化次数与阈值进行比较,你可以设置警报,以便在发生不期望的频繁更改时得到通知。
changes() 函数的语法如下:
changes(v range-vector)
参数说明:
v range-vector: 是你想要计算变化次数的向量。
假设你有一个名为 prometheus_http_requests_total 的指标,它记录了 Prometheus API 请求总数。你可以使用 changes() 函数来监控配置更改的频率:
changes(prometheus_http_requests_total[1h])
这个查询将返回过去一小时内 prometheus_http_requests_total 指标值发生变化的次数。如果这个数字很大,那么可能意味着数据被频繁更改。如下图: