公有云运维福利:开源监控小工具 Open-Falcon 插件 cloud-mon
本文介绍了一款基于Open-Falcon的公有云运维监控工具及使用说明。
上篇文章回顾: 使用python实现简单的共享锁和排他锁
背景
当你成为公有云的一名管理员,权限和安全之间的权衡便成为了始终萦绕在我们身边的一个话题。每天在我们专心解决问题,或者code的时候,一会儿有人来找你:能不能帮我们看看××× 机器所在的NAT网关带宽多大呀?目前使用量是什么情况呀?一会儿有人问:我们在做业务升级,帮我们关注下LB的流量情况呀?我们现在S3的增长趋势是什么样子的呀?
方案调研
崩溃一秒钟,这种没有“含金量”的事情,怎么能浪费我们的时间呢?毕竟程序员的使命是要拯救地球的,再不济也得做一个优秀的产品。可是,问题来了。机器的监控好做,可以装Agent、Zabbix、Open-Falcon等。这些东西怎么监控呢?而且公有云有很多:什么AWS、Azure 、阿里云、金山云等,自己重新开发一个监控系统么?
额,这个工作量有点大。干活当然得选最简单,高效,又合理的方案啦,哈哈。
小米内部都是用Open-Falcon做监控。Open-Falcon的GitHub地址:
https://github.com/open-falcon
Open-Falcon是基于Go开发的一款快速上手、高可用的监控系统,支持自定义Dashboard报警,可以用来监控机器各方面指标,还可以自定义插件,上报数据,获取自己想要的信息。
Open-Falcon是小米早期的开源工具,星星多,社区活跃,还支持插件。恩,显示、存储、画图表、保持数据有序,都交给TA了。方案已定,写个Open-Falcon插件。
说了这么久,先上架构图:
需要支持的云:
(1)AWS
(2)阿里云
(3)金山云
监控的资源范围:
(1)ELB
(2)EIP
(3)NAT网关
(4)专线
每个资源都取哪些监控指标呢?当然全部取啦!控制台有啥就取啥。
具体指标信息和含义请自行参照官网:
金山云:
https://docs.ksyun.com/documents/42
阿里云:
https://help.aliyun.com/product/28572.html?spm=a2c4g.750001.list.212.49707b13EZbdDR
AWS:
https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CW_Support_For_AWS.html
代码思路:
-
通过读取配置文件,获取资源类型、监控指标、地区信息和账号信息;
-
获取相应资源的所有列表;
-
获取列表的相关监控信息;
-
生成Open-Falcon识别的格式数据,推送到Open-Falcon。
该工具已经作为Open-Falcon的插件开源,开源地址:
https://github.com/open-falcon/cloud-mon
具体实现代码以及参考文档可以去github查看。
首先把代码clone下来,按照你们的实际情况配置文件,就可以使用啦。
配置文件实例:
cloud下面是一个list,可以写的很长很长,想配什么配什么。下面是各项参数说明:
至此,小工具分享完啦,希望帮助大家提高效率。
完
这么好用的工具,在看一下呗~