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

需求

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

  • 源数据的完整性 这意味着我们仍要持续的进行多维度的监控指标的收集,不断丰富业务流程对关键指标的依赖。
  • 多数据源无法集中合并展示 受限于Grafana的Dashboard的数据源单一性,即无法在一个Dashboard中关联多个数据源进行集中展示。

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

图形化展示

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

  • 监视状态和性能
  • 与图表交互
  • 根据数据或状态改变显示的对象
  • 向对象添加链接
  • 充分利用变量来修改形状,颜色,链接,下载路径等。
  • 支持用于匹配和替换的正则表达式

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

1.网络拓扑图

业务流程监控:让多维度监控有了灵魂_第1张图片

2.扩展和伸缩图

业务流程监控:让多维度监控有了灵魂_第2张图片

3.架构图

业务流程监控:让多维度监控有了灵魂_第3张图片

4.告警事件和动画

业务流程监控:让多维度监控有了灵魂_第4张图片

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

业务审批流程

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

  1. Rabbitmq 队列生产速度>消费速度,导致消息积压;
  2. Kafka topic 生产速度>消费速度,导致消息积压;
  3. 业务应用发生异常导致无法消费;
  4. 等等

1.业务审批流程图

业务流程监控:让多维度监控有了灵魂_第5张图片

业务审批流程大致为:
收单–>Rabbitmq 相关队列 --> 信贷系统 --> 全面风险管理系统 --> Kafka 相关topic --> 其他业务自子系统
整个业务流程,我们通过监控Rabbitmq、Kafka相关队列的消费情况,来比运营人员更早的发现问题,甚至是提前将问题解决。

2.数据源设置metric

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

  • Zabbix数据源
  • ELK数据源

由于粒度比较粗,我们还可以添加prometheus、mysql等数据源来进行更好的补充。
业务流程监控:让多维度监控有了灵魂_第6张图片

3.数据关联

业务流程监控:让多维度监控有了灵魂_第7张图片

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

  • 绿色:正常,即队列积压低于50;
  • 橙色:队列积压超50;
  • 红色:队列积压超80;

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

总结

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

  • 硬件监控
  • 服务器基础状态监控
  • 应用状态监控
  • 流量监控

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

你可能感兴趣的:(系统监控,业务流程监控,grafana,diagram)