一个用户想要配置智能告警只需要做两件事,首先在我们的平台上配置智能告警,由于我们大部分对接的是监控平台,所以用户大多是在各个监控平台上配置智能告警,然后监控平台调用我们的服务注册监控指标。然后用户需要按照我们定义好的格式将原始数据发送到我们的 Kafka 消息队列,这一步在对接平台时,也由平台做了,所以直接在我们平台上配置监控指标的用户很少。当一个用户注册好监控指标后,我们平台会先检测该指标的历史数据是否足够,如果足够则触发模型训练的流程,训练好的模型会上传到 HDFS。如果历史数据不足,Prophet 会持续实时存储用户指标的数据,当满足数据量的需求时,重新触发模型训练。当模型训练完成后,我们会更新配置中心,告知 Flink 作业有新的或更新的指标模型已经就位。
实时这块的流程是 Flink 启动或运行中一旦监听到有新的或更新的模型,作业会重新加载模型。另外 Flink 会实时从 Kafka 中消费数据,实时的过模型做异常检测,最终将异常告警回吐到 Kafka,各个平台消费自己的异常告警数据并给相关的负责人发送告警通知。