整理和分享在统一监管项目过程中使用的监控机制的实现原理和构思。
概念
事件驱动监控是指由于事件发生触发监控机制,以达到期望得到监控或告警结果的过程,事件不发生则监控机制将永远不会触发,监控机制不会额外占用资源,为懒汉式监控,有别于其他通过开启线程等方式不停扫描实现监控目的方式。
事件
这里的事件是一系列具有特定功能或动作的执行过程,包括:
- 推式事件
推式事件即事件发生,将事件需要反馈的信息通过特定的监控消息器(或消息中间件)反馈给接受对象的过程。特指系统中的异常、工作流节点、批处理等发生了自动推送消息。 - 拉式事件
拉式事件即接受对象根据目标需要,人为主动拉取(或访问)对应链接获取信息分析和理解以达到期望结果的过程。一般指人为主动拉取。
监控
通过获取某些描述或指标或图表等信息,根据理解和分析信息的动态、结果以判定事件是否符合预期期望的过程。
事件和监控之间通过消息中间介联系起来。
实现原理
- 推式事件监控实现原理
首先定义事件及事件编码,配置事件的发送账户和接收对象,工程代码中引入消息中间介SDK和实现代码。消息中间介根据开放的推送消息器(Mail消息器,SMS消息器,其他消息器),获取消息发送账户和接收对象,消息发送账户发送事件信息给接收对象以完成事件的推送。

- 拉式事件监控实现原理
工程代码中引入消息中间介SDK和实现代码,配置开放的服务器接口地址,定义事件(图表,描述,异常)及编码,根据事件编码获取模板完成事件的信息组装。用户通过传入用户编码事件编码访问监控服务器接口地址,系统根据用户及其开通的事件展示对应的信息,从而实现监控过程。

实现案例
目前项目组(统一监管)暂时实现的是推式事件监控,主要实现的功能有:
- 事件管理
定义、管理和配置事件,事件绑定事件包(根据SQL逻辑获取文件附件) - 通知账户管理
配置通知账户,根据事件类型管理该事件的收件人,抄送人,秘送人,随时移除移入。 - Mail消息器
通过Mail消息器,将消息发送出去。
实现结果
系统中引入中间介消息器,在任何代码处添加实现代码,该代码触发时实现消息发送。比如:
1、异常信息类进行了封装,当系统中出现异常时发送异常件信息给接收者实现异常监控。
2、批处理引入消息器,当批处理执行开始、结束、成功与否等时发送信息给接收者实现监控。
3、接口访问或者特殊功能代码处引入消息器,实现该功能触发时发送消息给接受者实现监控。
4、工作流中在某个节点引入消息器,完成工作流节点消息推送实现监控等。
部分截图



结束语
以上实现结果为基础功能实现,该功能仍需完善和改进。此处仅提出设计理念及思路。具体实现框架和功能代码有需要的可留言联系。
网友评论