flowcharting是grafana社区提供的一款插件,其借助开源绘图工具drawio可以实现定制化的的业务链路动态监控,将各项监控指标以更加面向业务的图表形式进行展示,可以实现网络拓扑图、流程图、架构图等等各种图形,将比较分散的指标统一成可视化的监控图形。

一、安装drawio工具

draw.io 是一款免费的在线图表编辑工具, 可以用来编辑工作流, BPM, org charts, UML, ER图, 网络拓扑图等 ,开源免费,并且支持多平台,图形可以多种形式导出,并且可以复制图形的XML导入到flowcharting中。

draw.io的在线地址为: https://www.draw.io/index.html

也可以下载免安装桌面版,下载地址如下:https://github.com/jgraph/,提供了各种版本,本人主要使用Mac版本和windows免安装版本:

使用draw.io画好了图形以后,使用Extras->Edit Diagram,复制XML。

二、flowcharting安装

flowcharting的安装非常简单,只需要下载flowcharting插件包,放到grafana plugins目录下,重启grafana即可,还可以使用grafana-cli plugin ls查看,以下使用0.9.0版本为示例:

$ mv algenty-grafana-flowcharting-0.9.0-0 /appdata/grafana/plugins/algenty-grafana-flowcharting $ systemctl restart grafana-server $ grfana-cli plugins ls

以下输出证明已经安装成功:

[root@node1 bin]# ./grafana-cli plugins ls installed plugins:bragenty-flowcharting-panel @ 0.9.0

此时"Add new panel"可以看到Visualizationg中存在FlowCharting选择项:

开源flowchart(基于flowcharting实现定制化业务链路动态监控)(1)

三、配置flowcharting

点击 ->Create,创建DashBoard,点击"Add new panel",在Visualization中选择FlowCharting选项,panel中会出现如下自带默认案例图:

开源flowchart(基于flowcharting实现定制化业务链路动态监控)(2)

右侧将会出现配置面板,面板中最重要的各个小节的配置作用说明如下:

开源flowchart(基于flowcharting实现定制化业务链路动态监控)(3)

开源flowchart(基于flowcharting实现定制化业务链路动态监控)(4)

8、Link Mappings (链接映射)Identify by:依据Id或label标签来匹配对应图上的元素,可以通过点击链接按钮在直接选中某个元素What :图形元素IdWhen :当处于哪种状态Url:元素超链接Params:链接参数9、Event/Animation Mappings(事件/动画映射)Identify by:依据Id或label标签来匹配对应图上的元素,可以通过点击链接按钮在直接选中某个元素What :图形元素IdWhen :当处于哪种状态Action :满足条件时的动作,有以下可选项

Value: value的可选值非常多,不再赘述

四、演示案例

这里使用自带的图形展示如何将监控指标映射到图形上,为了获取演示数据,这里下载了node_exporter-1.0.1,启动后通过prometheus进行数据收集,grafana配置prometheus数据源,这块就不再赘述。

按照以上图片所示的配置方式,增加metrics Query如下:

(node_filesystem_size_bytes{mountpoint="/"}-node_filesystem_free_bytes{mountpoint="/"}) /node_filesystem_size_bytes{mountpoint="/"} * 100

最后效果如下所示:

开源flowchart(基于flowcharting实现定制化业务链路动态监控)(5)

flowcharting的功能还很强大,例如支持动画等,能够满足大量的业务监控大盘的需求,还等什么,捣鼓起来吧。

,