1

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。因此,不知何故,prometheus 中某处的配置错误导致了这种情况。IPs不应该是alertmanager的IP地址吗?

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

4

1 回答 1

0

尝试自己调用 API(即:执行 prometheus 尝试进行的调用)。检查alertmanager的错误日志。

alertmanager 正在返回500 Internal Server Error,所以那里出了点问题。

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

每个错误中的 IP 地址实际上是被监控节点的内部 IP。

那是错误的。Prometheus 正在尝试将警报发送到这些 IP。所以这些警报应该对应于 AlertManager 实例。

如果 AlertManager 没有在这些 IP 中运行,这就是它失败的原因。Prometheus 它正在尝试调用 Alertmanager 的 API ( /api/v1/alerts)。

为了监控这些节点,prometheus 需要访问{IP}/metrics

于 2019-07-18T08:52:12.323 回答