警报管理器错误:调用方=通知程序 msg= "Error sending alert" err= "bad response status 500 Internal Server Error"



Prometheus正在记录错误,似乎是对错误的API URL的调用:

Feb 06 13:38:54 ip-192-168-0-xxx.ec2.internal prometheus[27909]: level=error ts=2019-02-06T13:38:54.946934196Z caller=notifier.go:473 component=notifier alertmanager=http://192.168.22.105:4194/api/v1/alerts count=0 msg="Error sending alert" err="bad response status 500 Internal Server Error"
Feb 06 13:38:54 ip-192-168-0-xxx.ec2.internal prometheus[27909]: level=error ts=2019-02-06T13:38:54.946955868Z caller=notifier.go:473 component=notifier alertmanager=http://192.168.22.73:4194/api/v1/alerts count=0 msg="Error sending alert" err="bad response status 500 Internal Server Error"
Feb 06 13:38:54 ip-192-168-0-xxx.ec2.internal prometheus[27909]: level=error ts=2019-02-06T13:38:54.946975398Z caller=notifier.go:473 component=notifier alertmanager=http://192.168.22.87:4194/api/v1/alerts count=0 msg="Error sending alert" err="bad response status 500 Internal Server Error"

每个错误中的 IP 地址实际上是正在监视的节点的内部 IP。所以不知何故,普罗米修斯中某处有一个错误的配置导致了这种情况。IP不应该是警报管理器的IP地址吗?

谁能指出我在我的普罗米修斯配置中可以在哪里解决这个问题?

尝试自己调用API(即:执行Prometheus尝试进行的调用(。检查警报管理器的错误日志。

警报管理器正在返回500 Internal Server Error所以那里有问题。

如果您打开 Web 浏览器并尝试加载http://192.168.22.105:4194/api/v1/alerts(或者如果您从网络中可以访问这些 IP 的计算机执行curlwget(,您应该会收到带有警报列表的 json 响应。 或者至少是带有{"status":"success","data":[]}的空响应

每个错误中的 IP 地址实际上是正在监视的节点的内部 IP。

这是不对的。普罗米修斯正在尝试将警报发送到这些IP。因此,这些警报应对应于警报管理器实例。

如果AlertManager未在这些IP中运行,这就是它失败的原因。普罗米修斯 它试图调用警报管理器的 API(/api/v1/alerts(。

为了监控这些节点,普罗米修斯需要访问{IP}/metrics

最新更新