哨兵系统:一套实时灵活可配置化的业务指标监控系统

简介:

KOO分期的线下业务中,需要对很多关键业务指标进行实时监控,并需要根据一定的数据格式,通过企微机器人发往对应的企微群,因此KOO分期技术团队在KOO业务指标库之上,搭建了一套KOO分期业务指标监控系统,简称哨兵系统。

模块组成

哨兵系统主要分为6个主要部分组成:

企业中台:主要提供相关接口,将结果推送给对应的企微群或者应用,比如:推送excel、图片、文本。

决策中心:主要负责圈人、圈组织,每一次的数据推送都要有一个数据采集的范围。

指标平台:主要负责KOO分期业务指标的维护,哨兵系统推送的数据也主要基于指标平台的指标。

任务执行模块:主要确认该次任务执行的方式(定时或者时间触发),通知配置对应的执行策略。

消息通知模块: 数据组装成要推送的数据格式,然后调用企业微信的接口推送出去。

规则模块: 将决策、指标调用、任务执行、消息通知脚本化,实现动态化配置满足业务上频繁变动的场景。

流程设计

假设要给XX大区的销售每一次成交都要推送一条播报,播报内容是:

恭喜~[鼓掌]XX销售[] 促成现金成交 XX[

那我们要怎么做呢?

监听成交的消息事件,通过决策平台获取到当前成交的销售是否为XX大区并获取到销售信息。

通过指标平台调用现金成交对应的指标数据。

将要推送的动态内容,拆解成变量,通过任务执行过程,动态填充,最终通过企微推送到对应的企微群。

规则引擎设计

在规则引擎设计方面,首先要考虑的是配置可视化,业务上可拓展,维护便捷,执行效率高4个部分。因此在设计上我们优先考虑通过json格式来存储,采用JEXL表达式引擎执行。

{  "relation": "AND",  "subRuleItems": [    {      "indicatorCode": "code1",      "indicatorType": "type1",      "indicatorInfo": {        "timeType": "typeA",        "queryScene": "sceneA",        "referInfo": "infoA"      },      "operator": ">=",      "ruleValue": "10"    },    {      "indicatorCode": "code2",      "indicatorType": "type2",      "indicatorInfo": {        "timeType": "typeB",        "queryScene": "sceneB",        "referInfo": "infoB"      },      "operator": "<",      "ruleValue": "5"    }  ]}

通过以上的JSON,我们就可以最终构建出业务指标(code1)>=10&&业务指标2(code2)<5的表达式,通过JEXL表达式引擎最终实现动态判断,同时我们将JSON映射到界面上,最终实现了规则的可视化操作。

企微推送

在推送方面,我们接入了企微图片推送功能,,那我们如何将数据最终渲染成一张图片呢?通过企微文档得知,我们首先我们需要把文字转成一张图片,其次我们需要将图片转成Base64字符串,最终我们将图片推送到企业微信群

因此通过多种方案的试验,我们最终采用了FreeMarker+Java2DRender,既能够实现部分图片样式满足业务需求,同时又兼顾了一定的灵活度方便后期的调整。

最终我们推送的形式如下(:数据为测试数据):

总结

通过企微中台、指标平台基础建设之上,我们采用脚本 + 规则组件化的方式,最终实现了KOO分期的业务监控系统-哨兵系统,通过哨兵系统的实时监控能力,能够满足业务方95%的监控诉求,有效的降低了KOO分期的销售管理成本。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值