如何使用普罗米修斯查询从指标中抓取标签值并设置警报
How can I scrape label value using prometheus query from metrics and set alerts
如何从以下指标中抓取标签 task_attempt_num 值并在其大于 0[=11 时配置警报=]
flink_taskmanager_numrecordout{instance="eu99",task_attempt_num="2",task_id=2}
flink_taskmanager_numrecordout{instance="eu99",task_attempt_num="0",task_id=2}
flink_taskmanager_numrecordout{instance="eu99",task_attempt_num="1",task_id=1}
flink_taskmanager_numrecordout{instance="eu99",task_attempt_num="0",task_id=3}```
如果我理解正确的话,您希望在某项任务的尝试次数超过 0
时收到提醒。
您不能在标签上应用算术运算符,但可以应用 selectors。您可以计算不 0
:
的尝试次数
expr: count(flink_taskmanager_numrecordout{task_attempt_num!="0"}) without(task_attempt_num)
在 Prometheus 中使用 absent 方法我们可以检查我们正在搜索的指标是否存在,如果不存在我们将得到 1 作为输出,在其他情况下为 Null。
虽然 Prometheus 不提供比较数字标签值的功能,但可以使用 label_value function in MetricsQL 来完成。以下查询 returns non-empty 在遇到 flink_taskmanager_numrecordout
标签值大于 0 的 flink_taskmanager_numrecordout
时间序列时产生结果(例如它发出警报):
label_value(flink_taskmanager_numrecordout, "task_attempt_num") > 0
如何从以下指标中抓取标签 task_attempt_num 值并在其大于 0[=11 时配置警报=]
flink_taskmanager_numrecordout{instance="eu99",task_attempt_num="2",task_id=2}
flink_taskmanager_numrecordout{instance="eu99",task_attempt_num="0",task_id=2}
flink_taskmanager_numrecordout{instance="eu99",task_attempt_num="1",task_id=1}
flink_taskmanager_numrecordout{instance="eu99",task_attempt_num="0",task_id=3}```
如果我理解正确的话,您希望在某项任务的尝试次数超过 0
时收到提醒。
您不能在标签上应用算术运算符,但可以应用 selectors。您可以计算不 0
:
expr: count(flink_taskmanager_numrecordout{task_attempt_num!="0"}) without(task_attempt_num)
在 Prometheus 中使用 absent 方法我们可以检查我们正在搜索的指标是否存在,如果不存在我们将得到 1 作为输出,在其他情况下为 Null。
虽然 Prometheus 不提供比较数字标签值的功能,但可以使用 label_value function in MetricsQL 来完成。以下查询 returns non-empty 在遇到 flink_taskmanager_numrecordout
标签值大于 0 的 flink_taskmanager_numrecordout
时间序列时产生结果(例如它发出警报):
label_value(flink_taskmanager_numrecordout, "task_attempt_num") > 0