最近在折腾metric监控的东西,再加上到这里后逼格提升了不少,所以想写点关于构建metric系统的文章,用来装逼,找喷… …

能不能别把文章转走,标记下原文地址    xiaorui.cc

      我自己是个臭屁的人,尝尝装逼为乐!正题开始, 我工位左面的那个同事以前是在阿里和高德负责过开发和改进监控系统的。  说实话他对于从头开发监控系统和常见系统的优缺点比我这个曾经专业的运维了解的多的多…. ….  尤其是关于数据量到了一个级别后,架构的调优及其数据落地存储的改进… …    话说,我以前也是开发过监控系统的人,虽然有打杂的嫌疑,但是一直都没有他遇到的那个量级所能遇到的问题和考虑到的问题…. …. 


      有一种监控叫做metric监控平台,看过我以前文章的朋友,应该清楚metric监控的意义,他其实更多的不是在于报警,而是在于性能的监控. 如果你非要做成包含报警,那我也没得说….  O(∩_∩)O~


xiaorui.cc

    xiaorui.cc

        xiaorui.cc

            xiaorui.cc

opentsdb用的是hbase做底层的存储,没有坏点的问题 。如果你用mysql存数据,在数据量大了后,会出现各种各样的问题,这是很烦恼的, 以前就经常针对mysql进行分库分表,还要自己改程序加一层关于key的分片。 十分的蛋疼…. …   如果你用的是Mongdb这样的文档型数据库,那问题也不小,虽然mongodb的副本集可以很容易的扩展成集群,但是他的坑,是你需要了解的…. …  


前段时间用了Influxdb时序数据库,是golang语言开发的,底层数据存数用的是leveldb或者是rocksdb, 但是还不支持存储hbase,跟influxdb有过邮件的交流,他们没有考虑hbase的原因是不太想把监控系统做的太复杂,毕竟像leveldb和rocksdb安装特简单,hbase不是那种随意rpm就可以了,还是需要整个hadoop集群进行配合的。 


还有ganglia是个不错的东西,一直也很喜欢… …  rrdtool是可以预先聚合计算的,这样极大的提高了mean效率.  缺点就是因为是用rrdtool存入的,不方便做分布式,当然你可以把rrdtool分离在不同的server上,我个人懒的动弹,所以我放弃… … 





shell 模式很简单….

下面的是github中使用potsdb模块操作的opentsdb的一个demo ~

大家可以看看potsdb的python源码,其实真的很简练,没啥东西…. ….  主要就是利用socket模块进行数据的send 。 

写不下去了,要出去健身了,回来再写 ~ 







对Python及运维开发感兴趣的朋友可以加QQ群 : 478476595 !!!

另外如果大家觉得文章对你有些作用!   帮忙点击广告. 一来能刺激我写博客的欲望,二来好维护云主机的费用.
如果想赏钱,可以用微信扫描下面的二维码. 另外再次标注博客原地址  xiaorui.cc  ……   感谢!
暂无相关产品