公有云运维福利:开源监控小工具 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,可以写的很长很长,想配什么配什么。下面是各项参数说明:

至此,小工具分享完啦,希望帮助大家提高效率。


这么好用的工具,在看一下呗~

你可能感兴趣的:(dev)