个人简介
台湾大学资讯工程硕士,年加入后开始从半导体跨足到互联网行业。年加入世纪互联,现任快网台湾研发中心负责人,同时也是Open-Falcon组织成员,主导快网监控平台开发。
内容简介快网从年开始着手改造内部监控运维体系,并且在年五月底投入研发资源到Open-Falcon成为第一批企业用户。本次分享将向大家介绍快网内部监控平台的演进历程,以及未来对于Open-Falcon的展望。
大家好,我是来自台湾的快网台湾研发中心的负责人欧曜玮Kordan。今天来,主要是跟大家分享一下我们快网在OpenFalcon上做的一些改进,以及对社区的一些展望。
今天从以下四点开始讲。首先我会跟大家介绍一下快网在OpenFalcon之前,介绍一下快网的简史。在OpenFalcon之前我们用的是什么样的监控系统?为什么我们选择了OpenFalcon?以及最后我们在OpenFalcon上做了哪些事情?还有未来我们大家可以如何一起努力?
首先,快网在过去监控上,基本上就是由这三个构成的:
特别是Zabbix,相信大家多多少少都会用过。Zabbix在我们之前的占比大概是70%。那它的好处跟坏处,我想大家都比我还清楚,我特别讲一个,就是说大家都觉得Zabbix好用,好用在哪里?我们在做UI的重新设计,做了一些问卷调查。调查结果告诉我们Zabbix在图上的这个时间轴操作相当自觉,还有一些触发器以及Template,除此之外,因为Zabbix历史非常悠久,很多东西都是有现成的可以直接用。
接下来介绍的是Cacti,因为快网是做CND服务,我们一直很重视网络相关的指标。Cacti它有一个好处就是它有一个类似目录树的侧边栏,可以快速切换平台、服务,然后去看我们每一个设备的带宽,使用量。Cacti的使用量大概占比是20%。
最后我们还有用WhatsupGOLD,Whatsup跟前两个监控系统的差别在它是Windows上的应用程序,不是网页形式的。使用占比就是剩下的10%。那我们觉得Whatsup哪里好用呢?其实在于它有一些声音的告警提示,它会不断的变色,有红色、绿色、黄色、紫色,不断的去提示,让你可以很清楚的知道,告警状态的变化。这是我们觉得Whatsup做得还不错的地方。接着我们总结一下快网到底想要什么样的监控系统,为什么我们决定导入OpenFalcon并投入资源开发?
第一个就是我们希望,因为用三套系统,所以不管对开发人员,对运维人员,或者对管理人员来说它都是一个负担,为什么?你加一台设备,因为不是所有的系统都有自动发现的,你加一台设备,你等于说在Zabbix,Cacti,与Whatsup上,都要加。如果你是用Cacti,把设备加入目录树,可能会让你非常非常头痛,因为往上移一个,就要重新刷新网页。所以我们希望降低这个成本,第一件事就是统一这三个监控系统,让平台统一化。那再来就是,我们运维人员,或者开发人员在解决问题后,一定都会有他针对该问题的解决办法,如果可以把这些解决问题的思路或方法记录在系统中积累起来,我们就可以降低值班人员的学习成本和技术门槛,进而让整体投入成本降低。
另外,这三个系统都有一个问题,就是它的扩展性很低,可用性差,效率也差。所以简单来说就是我希望好用,只有系统好用,你才有办法让这个系统产生它的效果,否则没有人会用。我刚才提过,我们希望是可以去符合我们至少一万台服务器的这种规模。因为Zabbix这样用,就像刚才丹博提到,Zabbix不是不能用,但是它要用在这么多的服务器数量上,你势必得依各种应用去分组,就是说你可能某服务你用Zabbix的服务器,另外一个再加另外一个服务器,这对我们来说是不切实际的。再来,我们会有内部二次开发的需求。之前小米有分享过,他们尝试在Zabbix做二次开发,那种痛苦,大家可以去看一下,Open-Falcon文档里面有提到。
话讲回来,我们为什么选择OpenFalcon?
我们综合以下几点,就是首先要换监控系统,或者要自己从无到有去开发,我们第一个会做的事情就是什么,当然就是看有没有现成的开源解决方案,我们看了这么多,有列出来的这是我们有去调研过的。
那也看了这么多商业监控系统。其实我们看了非常多套,也评估非常多套。我昨天额外把Stackdriver补上,这是谷歌在上个礼拜推出了一套他们自己的监控系统,是付费的,有兴趣的话,大家可以看一下,做得还不错。
好,那我们最后决定选择在开源项目上做二次开发,为什么?因为其实那些商业的监控,它收费不便宜,而且加上你要做二次定制开发,基本上如果没有大到一定的规模,他可能速度上没有办法配合上公司的开发时程。那我们决定选择开源项目之后,我们就要在想说,到底要选哪一套?哪一套可以满足我们的需求?那我们基本上就是依照这四个来去做选择。第一个,它的设计够不够现代化?Zabbix我看了丹博那个简史我才知道,18年了!如果看过他的代码,他基本上上层是PHP,底层是C。那不管是PHP还是C,其实都已经不是很现代化的程式语言了。而且Zabbix的架构耦合度非常高,前后端无法很好地分离,扩展性低,没办法做分布式集群,这是第一点。
第二点,你开源项目要能存活下来,很大的关系就是,你够不够活跃,你有没有大公司的支持,不管是人或者钱的支持。再来就是,我们二次开发,够不能模块化,可扩展性高不高,也是我们北京到哪家治疗白癜风最好北京看白癜风哪里医院疗效最好