1、项目的功能设计(通过业务打印日志的方式进行告警,通过 filebeat 采集日志发送到 kafka ,日志告警系统通过订阅 kafka
的消息对告警进行压制和汇总,对于符合告警策略的进行告警)
2、kafka 使用策略设计(filebeat 使用轮询策略发送到 kafka的 partition ,日志告警接受到消息后,会先通过 service和
errorCode 进行 hash 存储到对于 partition里,以保证同一个 service 的告警会在一个 partition ;然后日志告警采用 range 订阅策
略进行消费。注:统计采用各个日志告警节点自己内存统计,不使用 redis)
3、 系统采用多线程进行统计、使用监听器模式计算不同的压制策略
4、 使用 kafka的 Rebalance 时间同步数据到数据库,用于确保启停服务时保存内存统计状态
5、 系统的推广及个性化需求的修改
6、 线上问题的排查及修复