9
SLB + 多后端服务器架构下,如何实现简单的告警推送,又不重复?
source link: https://www.v2ex.com/t/787175
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
SLB + 多后端服务器架构下,如何实现简单的告警推送,又不重复?
假设后端是 Java / Spring,通过 @Scheduled 注解,可以让后端定期 (比如每 10 分钟) 检查数据库的一些状态,并推送一个告警;假设告警是钉钉自定义 WebHook
如何防止不同的后端,推送了同样的告警呢?
希望告警方案仍然是高可用的,挂了一台服务器不影响推送
目前我只想到基于数据库加锁的方案,还有什么其它的常见方案吗?
如何防止不同的后端,推送了同样的告警呢?
希望告警方案仍然是高可用的,挂了一台服务器不影响推送
目前我只想到基于数据库加锁的方案,还有什么其它的常见方案吗?
8 条回复 • 2021-07-02 19:09:05 +08:00
coolcoffee 12 小时 52 分钟前
Prometheus 的 Alertmanager 不是可以实现告警发送频率限制吗?
例如: 多个后端服务都指向同一个规则,然后设定 5 分钟推送一次,触发了一个之后,后面再触发就不会提醒了。
或者设定第一次告警等待一段时间,这段时间多次触发的告警会合并一起发送。
例如: 多个后端服务都指向同一个规则,然后设定 5 分钟推送一次,触发了一个之后,后面再触发就不会提醒了。
或者设定第一次告警等待一段时间,这段时间多次触发的告警会合并一起发送。
zhuichen 12 小时 26 分钟前 1
方法 1 、选举 master,只能 master 推送,master 挂了之后 slave 选举成为 master,撸一下 raft 算法或者直接用 zookeeper
方法 2 、推送时候,生成唯一标识,利用中间件做去重,记录某一段时间推送过的记录等
方法 2 、推送时候,生成唯一标识,利用中间件做去重,记录某一段时间推送过的记录等
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK