Prometheus 基于DNS查找的警报

Prometheus 基于DNS查找的警报,prometheus,prometheus-alertmanager,prometheus-blackbox-exporter,Prometheus,Prometheus Alertmanager,Prometheus Blackbox Exporter,我目前有一些基于“tcp_connect”和“http_2xx”探测的警报规则,这些规则表明tcp和http问题的级别非常高,而不是特定警报 每当探测器由于DNS查找问题而无法成功与目标通话时,我会从“TCP_connect”收到一个关于TCP连接的警报,或者从“HTTP_2xx”收到一个基于HTTP状态代码(0)的警报,但这两个警报都不是真的正确 我想,每当dns查找失败时,probe\u dns\u lookup\u time\u seconds可能是0,但事实并非如此,考虑到这一点,这也是

我目前有一些基于“tcp_connect”和“http_2xx”探测的警报规则,这些规则表明tcp和http问题的级别非常高,而不是特定警报

每当探测器由于DNS查找问题而无法成功与目标通话时,我会从“TCP_connect”收到一个关于TCP连接的警报,或者从“HTTP_2xx”收到一个基于HTTP状态代码(0)的警报,但这两个警报都不是真的正确

我想,每当dns查找失败时,
probe\u dns\u lookup\u time\u seconds
可能是0,但事实并非如此,考虑到这一点,这也是合乎逻辑的

因此,我尝试了
probe\u http\u duration\u seconds{phase=“resolve”}
一次,当DNS查找出现问题时,它似乎为0,但我并不确信这是正确的方法

我检查了负责DNS查找的代码,似乎如果出现错误或无法解析IP,它会返回“0.0”的查找时间

我希望我能得到一些保证,这是正确的方法,或者得到一些反馈,找到一个更合适的解决方案

注意
我不是说DNS服务器的DNS探测,或者我可能对DNS探测应该用于什么有误解,显然这也是一种可能性

我希望我能得到一些保证,这是正确的方法,或者得到一些反馈,找到一个更合适的解决方案

您想要的度量标准是
探测成功
,因为您并不真正关心是什么导致端点宕机,因为您将以某种方式对此发出警报。找到确切的问题可以在你被呼叫后完成,并避免维护许多脆弱的特定原因警报

我不是说DNS服务器的DNS探测,或者我可能对DNS探测应该用于什么有误解,显然这也是一种可能性


您的理解是正确的。

我确实喜欢我的案例中更具体的警报,因为如果是DNS问题,甚至是运行应用程序的服务器本身的可访问性问题,我想向不同的人发出警报,比如说,是应用程序本身返回503。我确实认为特定于原因的警报可能过于具体,但我也认为,在某种程度上,有特定于原因的警报是值得的,这样,正确的人就可以尽快知道问题,而不是必须通知他们的人。