业务流程监控:让多维度监控有了灵魂

时间:2022-11-29 17:13:53

需求

《可视化业务流程监控,是解决方案更是运维之道!》一文让我们知道可以借助Grafana 两个插件:Diagram、FlowCharting,满足我们对于图形+数据+业务流程的可视化监控,但是在使用前需要我们做好以下两点工作:

源数据的完整性 这意味着我们仍要持续的进行多维度的监控指标的收集,不断丰富业务流程对关键指标的依赖。

多数据源无法集中合并展示 受限于Grafana的Dashboard的数据源单一性,即无法在一个Dashboard中关联多个数据源进行集中展示。

以上第一点是一个长期性的工作,也是一个非常重要的基础性工作;而第二点我们可通过使用mix数据源,实现数据源合并展示。

有了多维度监控的数据,我们可以进一步让业务流程监控逐渐丰满起来,更好的为业务服务!

图形化展示

相对于Diagram,FlowCharting通过draw.io进行图形化编排,结合各个数据源提供实时数据,并在流程图中定义数据与图表进行多样性交互:

监视状态和性能

与图表交互

根据数据或状态改变显示的对象

向对象添加链接

充分利用变量来修改形状,颜色,链接,下载路径等。

支持用于匹配和替换的正则表达式

以下是通过FlowCharting编排的几个DEMO:

1.网络拓扑图

业务流程监控:让多维度监控有了灵魂

2.扩展和伸缩图

业务流程监控:让多维度监控有了灵魂

3.架构图

业务流程监控:让多维度监控有了灵魂

4.告警事件和动画

业务流程监控:让多维度监控有了灵魂

通过以上几个DEMO的展示,可以看出FlowCharting丰富的图形化和数据展示功能。当然运维还是要落地的,因此我们通过一个自定义流程来进行具体展示。

业务审批流程

现在我们有一个业务审批流程需要进行监控,之前总是出现卡审批的现象,需要业务运维拉开发人员来进一步定位,这无疑大大延长了故障修复时间。后来经过复盘,原因主要集中在以下几方面:

1、Rabbitmq 队列生产速度>消费速度,导致消息积压;

2、Kafka topic 生产速度>消费速度,导致消息积压;

3、业务应用发生异常导致无法消费;

4、等等

1.业务审批流程图

业务流程监控:让多维度监控有了灵魂

业务审批流程大致为:收单-->Rabbitmq 相关队列 --> 信贷系统 --> 全面风险管理系统 --> Kafka 相关topic --> 其他业务自子系统

整个业务流程,我们通过监控Rabbitmq、Kafka相关队列的消费情况,来比运营人员更早的发现问题,甚至是提前将问题解决。

2.数据源设置metric

图中绿色部分是我们通过以下数据源与其关联的:

Zabbix数据源

ELK数据源

由于粒度比较粗,我们还可以添加prometheus、mysql等数据源来进行更好的补充。

业务流程监控:让多维度监控有了灵魂

3.数据关联

业务流程监控:让多维度监控有了灵魂

以上是我们对Rabbitmq其中的一个队列“cmis_rule_loan”进行数据关联,根据配置我们可以得到:

绿色:正常,即队列积压低于50;

橙色:队列积压超50;

红色:队列积压超80;

比较有趣的是,当告警时可以在图中设置动画,如:反转、倾斜、闪动等,以便我们更好的发现问题。

总结

图形化的业务流程监控给我们运维打开了另一个维度的监控思路,之前我们的监控维度主要为:

硬件监控

服务器基础状态监控

应用状态监控

流量监控

这些监控可以帮助我们解决80%的问题,但总感觉缺少一点灵魂。通过业务流程监控正好可以补齐这个短板,以上各个维度的数据都可为业务流程监控提供数据支撑,这让我们的思维更进一个台阶。