我一直比较赞同的是主动请求式的监控模式,主要原因是被动探测会给监控结点带来很大的压力,就Cacti而言,用Spine轮询,共35个设备,每分钟轮询一次,能吃掉我35%的CPU。
相比之下,通过客户机主动发送请求给监控机的Ganglia,占用资源就非常小。一台监控机估计挂200台客户机监控不是问题。
区别就在于,主动请求式是客户机把自己的监控信息主动发送给监控机,监控机只要接收这些信息处理即可。
被动探测式是监控机把监控请求发送到客户机,客户机接到请求把需要的监控信息返回给监控结点。
所以,被动探测式会给监控机带来很大的压力,因为它要不断的发请求去获取信息。
但是监控宝的同志做了个很好的比方,让我想法有了些变化。
监控机好比警察,客户机好比×××。
不能因为警察忙,就不管×××,让×××主动报告自己的情况。
如果×××突然没信息了,警察就不知道×××是死了还是跑了。
并且如果警察调走了,×××不知道,这一群×××就不知道向谁报告了。
但是经常也不能老去一直问×××的情况,那样他的工作效率就太低了。
所以二者各有好处。
首先,警察很忙的时候,让×××主动报告自己的情况,他记着就行。
但是,一旦×××在规定的时间没报告,警察就要主动去联系了,看看×××到底是死了还是跑了。
还原到监控中,就是主动与被动两种方式结合起来。
一般情况下,让客户机比较高频地自己报告情况情况给监控机,同时,监控机间隔比较长的像客户机主动发送请求,检查客户机是否存活。
同时,一旦监控机在规定的时间内没收到客户机的信息,就要像客户机发请求去轮询,确认客户机的状态。
主动和被动在合适的时候都有合理的用处,像手机就是主动向基站报告自己加入,雷达又是向被监控区域发送探测信号。
任何方法都有其存在的理由,没有最好没有最坏,只有最合适
===============================================================================
下面是我自己对cacti,nagios的监控方式(主动-被动)
nagios :可以说既是主动方式监控,也是被动监控
主动监控:
我们需要在被监测主机上部署NRPE,他相当于一个守护进程负责监听。而监测主机使用check_nrpe并通过SSL连接访问这个daemon,然后调用被监测方的check_disk,check_load等脚本获取信息并将结果传递到监测主机,这样的好处是监控主机不会有很大的压力,负载。
被动监控:
有时候我们还需要监控,从监控主机到被监控主机之间的网络情况,如connect,ping hardware 以及各种应用程序,都是通过被动方式进行周期性监控的。
cacti:(被动监控方式)
就Cacti而言,用Spine轮询,每次都是通过监控主机来请求监控被监控机的监控状况,加入机器过多,肯定会造成监控机的负载过高、
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。