Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1067062
  • 博文数量: 186
  • 博客积分: 4939
  • 博客等级: 上校
  • 技术积分: 2075
  • 用 户 组: 普通用户
  • 注册时间: 2010-04-08 17:15
文章分类

全部博文(186)

文章存档

2018年(1)

2017年(3)

2016年(11)

2015年(42)

2014年(21)

2013年(9)

2012年(18)

2011年(46)

2010年(35)

分类:

2010-11-23 13:51:22

原文链接

这文章写的挺好的。

 

我一直比较赞同的是主动请求式的监控模式,主要原因是被动探测会给监控结点带来很大的压力,就Cacti而言,用Spine轮询,共35个设备,每分钟轮询一次,能吃掉我35%的CPU。
相比之下,通过客户机主动发送请求给监控机的Ganglia,占用资源就非常小。一台监控机估计挂200台客户机监控不是问题。
区别就在于,主动请求式是客户机把自己的监控信息主动发送给监控机,监控机只要接收这些信息处理即可。
被动探测式是监控机把监控请求发送到客户机,客户机接到请求把需要的监控信息返回给监控结点。
所以,被动探测式会给监控机带来很大的压力,因为它要不断的发请求去获取信息。

但是监控宝的同志做了个很好的比方,让我想法有了些变化。
监控机好比警察,客户机好比犯人。
不能因为警察忙,就不管犯人,让犯人主动报告自己的情况。
如果犯人突然没信息了,警察就不知道犯人是死了还是跑了。
并且如果警察调走了,犯人不知道,这一群犯人就不知道向谁报告了。
但是经常也不能老去一直问犯人的情况,那样他的工作效率就太低了。
所以二者各有好处。

首先,警察很忙的时候,让犯人主动报告自己的情况,他记着就行。
但是,一旦犯人在规定的时间没报告,警察就要主动去联系了,看看犯人到底是死了还是跑了。

还原到监控中,就是主动与被动两种方式结合起来。
一般情况下,让客户机比较高频地自己报告情况情况给监控机,同时,监控机间隔比较长的像客户机主动发送请求,检查客户机是否存活。
同时,一旦监控机在规定的时间内没收到客户机的信息,就要像客户机发请求去轮询,确认客户机的状态。

主动和被动在合适的时候都有合理的用处,像手机就是主动向基站报告自己加入,雷达又是向被监控区域发送探测信号。
任何方法都有其存在的理由,没有最好没有最坏,只有最合适!

阅读(2889) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~