当前,我已经建立了一个简单的警报规则,该规则使用Blackbox Exporter的“ probe_success”指标在探测失败时发出警报,这很明显。
一个要求是,警报中包括失败请求的状态代码。因此,它不应该只说“ ...已关闭”,而应在其中包含状态代码(“ probe_http_status_code”),例如“ ...已关闭(500)”。
因为状态码是“ probe_http_status_code”的值,所以我无法同时加入“ probe_success”和“ probe_http_status_code”的标签来获得所需的结果。
我还读到度量值不能作为标签加入,这很令人失望。 https://github.com/prometheus/prometheus/issues/2393
在将PromQL表达式作为警报规则本身中的单独标签传递时,我也没有发现其他任何事情。
我知道我没有说太多“您已经尝试了什么?”例子,但老实说,我到处都在尝试使它起作用的东西,而我没有任何可靠的“我已经尝试过”例子”。
答案 0 :(得分:0)
您可以使用and
:
probe_http_status_code and probe_success == 0
,因为这两个指标具有相同的标签。警报表达式的值将成为状态码。