预警监控平台设计
2021-06-18 21:04:09 2 举报
预警监控
作者其他创作
大纲/内容
预警信息通知器SPI + IOC热刷动态应用
接入方主体预警规则配置alarm_pricipal_reg
反配表达式前段H5配合开发可拖拽的配置UI
配置
1、遍历预警规则数据,并根据变化字段匹配出涉及的规则(一个全量名字段的变化可能存在关联多个规则,查询alarm_params表)2、遍历预警规则数据列表,并根据规则id去alarm_store_reg_relation表中检索出配置当前规则的主体,即只对开启了当前规则的仓店进行预警3、根据遍历规则数据列表中的每个规则id及规则数据构建规则数据上下文RegDataContext4、根据遍历规则列表中的每个规则id找到对应的规则计算器(springBeanName),动态从bean容器中获取对应的执行handler,并传入规则数据上下文RegDataContext和规则id执行之
配置/定义alarm_params预警参数
alarm_cat
配置公式
AbstractRegComputer规则计算器
落预警信息记录表alarm_msg
1、将规则数据上下文RegDataContext转为规则执行上下文RegExtContext对象2、根据规则执行上下文对象RegExeContext及规则对象AlarmReg判断是否满足触发条件3、如果满足触发条件,调用具体子类计算器实现(模板方法)执行表达式3.1、如果运行时确定为定时执行计算器,则根据扩展表达式算出是否到达时间,时间已经到了,并且表达式条件满足,则立即执行3.2、如果运行时确定为即时计算器,即根据规则对象中匹配类型(匹配任何一个、匹配所有、一个不匹配)立即执行表达式4、mq发送消息
预警接收方
探针JS/SDK(h5/app)
履约预警
预留口子可提供对外业务数据接口
RegDataContext
配置/定义alarm_reg预警规则
alarm_acceptor
数据分析器
binlog数据
库存预警
数据初始化/定义
元数据字典服务
落预警作业节点业务数据表alarm_picking/pickup/delivery
鹰眼功能模块
预警接入方
数据存储层
规则配置层
初始化alarm_pricipal表
alarm_dic
C R U D层
配置/关联alarm_pricipal_channel接入方主体预警通道
接入方主体预警通道配置alarm_pricipal_channel
预警通道alarm_channel
MAPPER
alarm_reg <- alarm_cat + alarm_computeralarm_params <- alarm_dic + alarm_regalarm_notice <- alarm_template + alarm_channel + alarm_reg + alarm_job + alarm_pricipalalarm_pricipal_reg <- alarm_pricipal + alarm_regalarm_pricipal_channel <- alarm_channel + alarm_pricipalalarm_acceptor <- alarm_notice + alarm_pricipal
预警规则检索服务
开始
预警数据对接服务
预警控制面板组件化 + 模块化Dashboard UI
元数据字典提取器
预警接收方alarm_acceptor
数据收集层
预警规则alarm_reg
预警计算参数alarm_params
alarm_reg
alarm_params
Binlog数据监听及清洗处理模块
拦截器
落预警作业维度信息alarm_operation
规则数据计算服务
alarm_operation
配置-1
缓存或落预警规则匹配的单据数据alarm_order
预警数据处理器SPI + IOC热刷动态应用
DAO
......
配置/关联alarm_pricipal_reg接入方主体预警规则
基础服务层
规则计算器alarm_computer
落业务数据.....
预警数据分析服务
Binlog
规则计算器(表达式计算器/非表达式计算器)
规则表达式配置
alarm_computer
SERVICE
配置/关联alarm_acceptor预警信息接受方
AlarmRegData
alarm_pricipal_channel
初始化alarm_template表
数据缓存层
预警规则文件服务
规则接收方配置
初始化alarm_calc表
alarm_store_reg
规则接入方配置
alarm_msg
alarm_job
天眼平台
预警字典alarm_dic
配置/定义alarm_notice预警通知
LOCAL.CHACHE
探针SDK
预警模板alarm_template
alarm_principal
数据归集器支持日志 + APP/JS探针 + 埋点 +Binlog
初始化alarm_cat表
Logging
alarm_template
ENTITY
数据大屏
初始化alarm_dic表
预警JOBalarm_job
1、根据字典元数据找出binlog行数据中相匹配的字段及字段对应的值2、根据元数据字典配置设置关联键主键(规则跨表业务场景)3、填充通用数据,外部扩展时这里可以通过配置,也可以通过自定义dto对象增加注解来实现4、处理并收集变化的数据(binlog变化前和变化后数据差异比对)并转换为规则数据对象AlarmRegData
1、监听规则计算器的结果2、根据规则id和storeNo获取预警通知配置对象 AlarmNotice,该表可以更加灵活的配置和满足应对未来更多变化的情况,比如user_typ 类型为1 为用户组而不是一个用户,那么根据template 里面的mode_val(比如,点对点,广播模式)我可以加载到这个组下的所有用户,然后统一对这个组的人发送这些模板信息。其次,notice 的作用相当于先定义然后再使用,比如我对一条通知的定义为:对store_no 为9L03的仓店,定义一个通知对象( 通知user_typ=1[用户组,或部门] && user_id 为3[组id为3] ),并使用channel_id为2的通道和template_id为1的模板,发送reg_id为1的规则,而发送完的消息则下沉到alarm_msg表中做记录3、根据上一步骤2的结果,构建预警消息对象,填充模板,并个根据通道名动态获取通道预警器(WeixinNotifier、SmsNotifier、EmailNotifier等)4、根据配置选择发送器,发送具体的预警信息
AlarmRegDataHandler预警规则数据处理handler
规则数据计算器SPI + IOC热刷动态应用
配置逻辑
alarm_channel
表说明
数据筛选器
AlarmBinlogMessageListener监控入口类
预警消息通知服务
AlarmRegDto
AlarmMessageListener预警消息监听器
BinlogRowDataConverterbinglog行数据清洗转换
初始化alarm_channel表
预警主体alarm_pricipal
alarm_notice
预警规则发布
alarm_order
Message2
鹰眼预警平台
JS探针
预警规则文件加载器业务建模文件+动态加载
业务接入层
预警类目alarm_cat
REMOTE.CACHE
预警通知alarm_notice
预警规则定义
预警通知器(监听预警结果消息并发送预警通知)
0 条评论
下一页