我目前有一些基于“tcp_connect”和“http_2xx”探测器的警报规则,它们指示了非常高级别的 TCP 和 HTTP 问题,尚未针对特定警报。
每当探测器由于 DNS 查找问题而无法成功与其目标通信时,我要么收到来自“tcp_connect”的 TCP 连接警报,要么收到来自“http_2xx”的基于 HTTP 状态代码 (0) 的警报,但是这两个警报都不是真正正确的。
我想,probe_dns_lookup_time_seconds
每当 DNS 查找失败时,可能是 0,但事实并非如此,这也是合乎逻辑的。
所以我probe_http_duration_seconds{phase="resolve"}
试了一下,当 DNS 查找出现问题时,这似乎是 0,但我并不真正相信这是正确的做法。
我检查了负责 DNS 查找的代码,似乎如果出现错误或无法解析 IP,它会返回“0.0”的查找时间。
我希望我能够得到一些保证,这是这样做的正确方法,或者得到一些反馈以找到更合适的解决方案。
注意
我不是在谈论DNS服务器的DNS探测,或者我可能对DNS探测应该用于什么有误解,显然这也是一种可能性!