第三方 IDC 监控可视化

2016-11-18 11:37:22 +08:00
 yennis

“运筹‘维’幄之中 洞悉千里之外”

[做运维,要有呈现! 尤其是在这个“万物均互联,一切皆数据”的新时代。不管是对过程、还是结果,呈现是一个永不过时的命题。在庞大复杂的业务环境中,如何把复杂的工作流可视化,可视化能力就是呈现的关键了。可视化不仅是提升运维效率的一个手段,更是运维管理的一个长期战略。]

随着我们网络和流量越来越复杂,对外的情况越来越多,在网络报障时候,从最原始的 ping 和 mtr 情况到 smokeping 、 cacti 监控,然后到 zabbix 监控图,虽然一直在进步,但始终感觉不够专业。

怎么做的更专业点呢

我们虽然没有那么多显示器,但是内容还是可以做好的。我们从软实力来开始装饰我们的监控图,为什么是说“装饰”呢,我们现在大部分依赖的是 zabbix 监控网络流量和服务器情况,自建机房间监控系统来监控网络间质量,这两个系统的优点是又快又准,我们这次是把成果进行可视化,来“装饰”一下。

一、基于全国 map 的第三方机房网络质量可视

我们的机房遍布全国,同时面对全国玩家,该怎么把全国的网络质量情况尽收眼底呢?经过多年的技术沉淀,我们不再纠结监控方案用开源的还是商用的,打算自己来开发。

1 Echarts

用的是百度 echarts 的模拟迁徙效果,度娘这次挺赞的,这个插件感觉很不错,参考地址: http://echarts.baidu.com/echarts2/doc/doc.html

我们是用 python 做的后端,下面简单记录下开发时候碰到的一些细节问题供大家参考。

1 、在 option 里面定义 tooltip ,当鼠标放在监控点上,而且我们提供的数据源是” 1 ”的时候,进行友好提醒 ping 正常; tooltip : { trigger: 'item', formatter: function (params){ var r=""; if(params.value == 1){ var r="ping 正常"; } return params.name + '
'+r }

2 、 dataRange 里面用 splitList 字段分了 3 个等级,我们的参考值:

splitList: [ {start: 90, label: '严重(loss=>18% or ms =>150)'}, {start: 40, end: 60, label: '警告(10%<loss<18% or 80<ms<150)', color: 'orange'}, {end: 10,label:'正常(loss<=10% and ms <= 80ms)'} ], color: ['#ff3333', 'orange', 'yellow','lime','#51D645'],

3 、 series 里面提供的 data 是我们后端提供的,原始数据是由各个机房的 fping 汇总得来的。

4 、 series 里面的 geoCoord 是通过百度地图提供的坐标来定义。

这个效果做出来之后,在对外的时候可以非常形象的体现出网络具体情况。

  1. map 监控实现的难点

Map 监控可以代表当地省份玩家访问我们的游戏(机房)是否有问题,从而不用无头苍蝇一样的去定位问题。

重点在于如何去采集各个省份可靠和稳定的 IP ,我们这里结合很多种方法来采集,最大限度避免 IP 缺少或者不稳定的情况

采集的样本分为手动和自动,自动代表脚本采集,手动代表人为填充,自动的方法如下:

选择各大 top 排名网站进行解析,比如百度,爱奇艺等 选择第三方接口获取 IP :如听云(基调)、博睿、 DNSPOD 等 通过 IP 数据库把获得的 IP 进行测试、刷选,去重,最终导入到数据库进行 ping 测试 配合其他手段保证 IP 数据的准确性和有效性,比如脚本每两个小时重新获取一次,不稳定的 IP 手动进行剔除等

原文欢迎访问 blog: http://www.ywjt.org/index.php/archives/920

2361 次点击
所在节点    分享发现
0 条回复

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/321430

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX