数据可视化-监控大屏呈现和拓扑图绘制工具总结


数据可视化-监控大屏呈现和拓扑图绘制工具总结文章插图
在日常项目建设和实施过程中 , 经常会遇到类似数据可视化的实现场景 。 对于数据可视化已经从简单的统计图表展现 , 扩展到类似监控大屏 , 拓扑图 , 流程编排图 , 集成架构图等方面的呈现 。 而这些往往不是简单的使用图表就能够解决的 。
因此今天总结下对于数据可视化和图形绘制方面的工具整理 。
数据可视化综述推荐首先阅读知乎的关于有哪些可视化工具推荐的回答 , 内容已经相当全面了
要注意的是当前主流的仍然是基于javasrcirpt开发的图表库 , 对于偏重的flex不应该作为选择的基础 。 下面对一些选择的思路做些简单的说明 。
首先可选的主流图表库包括了百度的Echart , Highchart , D3.js这三个 。
数据可视化-监控大屏呈现和拓扑图绘制工具总结文章插图
这三个可视化图表库的使用客户也相当多 , 能够应对的常见可视化场景也足够 。 对于百度的Echart又推出有新的V4.0版本 , 虽然支撑的图表扩展没有大的变化 , 但是在性能上有明显改进 。 当然从支持的图表类型种类和开放性来谈 , 最强大的还是D3.js , 但是前面两种已经能够基本满足实际的图表层面使用的需要 。
对于百度Echart , 对里面的关系图做了详细分析后 , 实际上没有找到用来做网络拓扑图的工具 , 系统集成关系图的组件 。 当然百度Echart里面有的关系图 , 桑基图 , 地图 , 热力图迁徙图 , 矩阵图 , 日历图 , 树图等功能已经足够强大 。
采用百度Echart也很容易自己来实现类似监控大屏这种前端应用 。
数据可视化-监控大屏呈现和拓扑图绘制工具总结文章插图
对于网络关系图 , 在可视化里面常见的一种类型 , 其中主流的应该是Gephi , Gephi是一款开源免费跨平台基于JVM的复杂网络分析软件, 其主要用于各种网络和复杂系统 , 动态和分层图的交互可视化与探测开源工具 。 其次是R语言中的iGraph和networkD3包 , 功能也足够强大 。 还有就是基于python语言实现的networkx , 是专门进行网络可视化呈现的一个小工具 。
Gephi地址和例子参考:
对于商用的图表和可视化工具当然是Tableau , 据Gartner魔力象限 , 2014年的测评 , tableau可执行速度最快 , 整体市场表现也在前列 。 在Tableau官方网站可以免费下载到桌面试用版进行试用 。
如果仅仅是提供常用的画图API接口 , 自己完全根据需要绘制SVG渲染图 , 对于这种场景你仍然可以选择Echart和Highcharts来实现 , 在官方网站也有制作SVG渲染图的例子 。
当然还有一类即经常用于网管类 , 日志类监控分析的前端图表展示软件 , 在ELK日志分析系统 Logstash+ElasticSearch+Kibana4里面会使用Kibana4进行前端图表展现 。
数据可视化-监控大屏呈现和拓扑图绘制工具总结文章插图
Grafana是另外一个基于JavaScript的前端展示工具 , Grafana provides a powerful and elegant way to create, explore, and share dashboards and data with your team and the world 。 对于Grafana支持Graphite, Elasticsearch, Prometheus, InfluxDB, OpenTSDB and KairosDB各种数据采集源 。
对于Grafana当前和类似InfluxDB时序数据库结合的很紧密 , 可以很容易是基于时序数据的可视化图表展示 , 包括当前在Kurbernetes里面用的很多的Prometheus监控方案 , 仍然是基于时序数据库和Grafana来实现资源性能监控 。
Grafana的官方地址:
最后说下Processing , 功能相当强大 , 但是要有一定的开发基础和学习门槛 , Processing 在 2001 年诞生于麻省理工学院(MIT)的媒体实验室 , 主创者为 Ben Fry 和 Casey Reas , 当然还有来自 Carnegie Mellon、洛杉矶的加利福尼亚大学以及迈阿密大学等的贡献 。


推荐阅读