高可用性
Alertmanager 的高可用性已在许多公司的生产环境中使用,并且默认启用。
重要提示:alertmanager 0.15 及更高版本需要 UDP
和 TCP
才能使集群正常工作。
- 如果您使用防火墙,请确保将两种协议的集群端口列入白名单。
- 如果您在容器中运行,请确保公开两种协议的集群端口。
要创建 Alertmanager 的高可用性集群,需要将实例配置为相互通信。这是使用 –cluster.*标志配置的。
--cluster.listen-address字符串:集群侦听地址(默认“0.0.0.0:9094”;空字符串禁用 HA 模式)
--cluster.advertise-address字符串:集群通告地址
--cluster.peer值:初始对等点(每个附加对等点的重复标志)
--cluster.peer-timeoutvalue:对端超时时间(默认“15s”)
--cluster.gossip-interval值:集群消息传播速度(默认“200ms”)
--cluster.pushpull-interval值:较低的值将以牺牲带宽为代价提高收敛速度(默认“1m0s”)
--cluster.settle-timeout值:在评估通知之前等待集群连接稳定的最长时间。
--cluster.tcp-timeoutvalue:tcp 连接、读写的超时值(默认“10s”)
--cluster.probe-timeout值:在标记节点不健康之前等待确认的时间(默认“500ms”)
--cluster.probe-interval值:随机节点探测之间的间隔(默认“1s”)
--cluster.reconnect-interval值:尝试重新连接到丢失的对等点之间的间隔(默认为“10s”)
--cluster.reconnect-timeout值:尝试重新连接到丢失的对等点的时间长度(默认值:“6h0m0s”)
标志中选择的端口cluster.listen-address
是需要在cluster.peer
其他对等点的标志中指定的端口。
cluster.advertise-address
如果实例不具有作为RFC 6890的一部分 且具有默认路由的IP 地址,则需要该标志。
要在您的本地计算机上启动一个由三个对等点组成的集群goreman,请使用此存储库中的 Procfile。
goreman start
要将 Prometheus 1.4 或更高版本的实例指向多个 Alertmanager,请在prometheus.yml配置文件中配置它们,例如:
alerting:
alertmanagers:
- static_configs:
- targets:
- alertmanager1:9093
- alertmanager2:9093
- alertmanager3:9093
重要:不要在 Prometheus 和它的 Alertmanagers 之间负载均衡流量,而是将 Prometheus 指向所有 Alertmanagers 的列表。Alertmanager 实现期望将所有警报发送到所有 Alertmanager 以确保高可用性。
关闭高可用性
如果不需要在高可用性模式下运行 Alertmanager,则设置--cluster.listen-address=
会阻止 Alertmanager 侦听传入的对等请求。
作者:Jeebiz 创建时间:2023-02-19 20:59
最后编辑:Jeebiz 更新时间:2024-01-24 21:48
最后编辑:Jeebiz 更新时间:2024-01-24 21:48