clamp_min() 函数是一个标量函数,用于将给定的标量值限制在指定的最小值以上。如果原始值大于或等于提供的最小值,则返回值就是原始值本身;如果原始值小于最小值,则返回最小值。
clamp_min() 函数在处理可能低于预期范围的指标时非常有用,特别是当这些低于范围的值可能导致计算错误或警报误报时。通过使用 clamp_min(),你可以确保这些值不会低于指定的下限。
clamp_min() 函数通常与其他 PromQL 函数结合使用,例如在计算平均值或总和时排除异常低的值。它有助于确保数据的合理性和准确性,尤其是在设置警报或进行趋势分析时。
clamp_min() 函数的语法如下:
clamp_min(v scalar, min scalar)
参数说明:
v scalar: 是你想要限制最小值的原始标量值。
min scalar: 是你想要作为下限的标量值。
你有一个名为 prometheus_http_requests_total 的指标,它表示 HTTP 请求数量。由于某种原因,这个指标偶尔会产生异常高的值。你想要在分析这个指标时忽略这些异常值,你可以使用 clamp_min() 函数来避免在分析或警报中使用这些异常低的值:
clamp_min(prometheus_http_requests_total, 100)
在这个查询中,任何 prometheus_http_requests_total 值小于 100 的都会被替换为100。这样,你就可以在分析或警报中使用这个被限制过的指标,而不用担心异常低值的影响。如下图: