对于资源管理者,监控系统&服务 是整个运维环节,乃至整个产品生命周期中最重要的一环,事前及时预警发现故障,事后提供翔实的数据用于追查定位问题,分析业务指标。
在正式的说 监控系统之前,先给大家讲一个 故事。
由故事说起:宠物 与 养殖场
我曾经有一只宠物猫,我给他起名叫“奥利奥”,它简直是我的天使。
我很爱很爱他,定期给他洗澡,上美容院,看病等等,享受独一无二的 监护,是否生病等等。
后来 我接手一个养殖场,里面有10000只猪,10000只牛,10000只羊。
我发现,按照我养宠物的方式来对待他们已经不适合了,为什么呢?我没有那么多精力来起30000个名字,而且还要记住这30000个牲口对应哪个名字,更加不可能为每一只都制定一个vip式的 个人监护方案(准确点说是 个牛个羊个猪:-D)。
于是我为了更好的管理监护养殖场的动物们,做了如下的事情:
根据牲口们的种类分成3类,“牛哞哞”,“猪哼哼”,“喜羊羊”。
为每一类动物各自打上编号,如“牛1号”,“牛2号”。。。。。。
根据动物的不同制定三类 不同的监护方案。
好了,剩下的我只需要坐在办公室,看着我完成的 管理&监护方案,乐呵呵的笑了。
---------------------------------------------------华丽丽的分割线---------------------------------------------------------------------
监控实施
好了,以上是个不算故事的故事, 对于管理者来说,不管是管理人还是管理服务器,甚至于管理任何一类抽象的资源,都会从中得到些什么感悟呢?
去个性化: 牛一号和牛2号在我眼中并没有不同,夸张点说,在我眼中那一万头牛只是一头牛,剩下的9999头不过是第一头的克隆体,他们的结构一样、功能一样、特征一样;
归类:根据
为每个类别制定对应的策略。
这样,上面故事中的 30000只动物,实际上就只是三只而已: 一只牛,一只羊,一只猪。那管理的难易度而言就方便容易的多。
那么如何做好分类,如何管理分类,就成了最核心的问题,对于 监控系统 来说则更是重中之重,做好了分类 & 对每个分类进行长期有效的管理工作,在整个监控体系运作过程中无论是时间还是经理都占据了绝大部分,对于这部分的操作,又可以引出 一个大家耳熟能详的系统 —— CMDB(Configuration Management Database), 不过 在这里不是描述重点,不做过多阐述,之后会专门写篇博文来对CMDB进行心得描述。
好了,做完聚类,对于监控来说,接下来 便是 具体的实施过程:
数据采集;
数据落地;
监控策略定制;
数据展示;
报警下发;
报警处理;
等等。
在公司内部,监控系统我们之前采用的是zabbix,因为某些原因,后来替换为了出自小米的open-falcon,但是不管实现方式是哪个,其流程大同小异,数据流大致如下:
数据经 “采集模块” 汇总到 “汇总模块”, 同时下发给 “判断模块” & “落地模块”,数据模块将数据落地共展示使用。策略模块从“配置模块”处获取对应报警策略和拿到的数据做对比,如果触发报警测数据流向 “报警模块”, 将报警通过sms或者mail发送给对应的报警接收人。
到这里,监控系统基本说完了,在这里并不对个中细节做过多描述,因为万变不离其宗,这里也只记录本人对监控的心得体会。其中花了大部分的时间花在了阐述 聚类操作,也足以看出其重要性。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。