[转]技术比较Agent和Agentless监控优缺点
正文:
在IT运维管理过程中,需要对服务器、应用和网络设备进行轮询和监控。对于网络设备,所有厂商都采用SNMP简单网络管理协议。
但是对于主机和应用的监控,各个厂商在软件的实现上却出现了分歧,有些厂商采用agent方式,有些厂商采用Agentless方式,各说各好。那么,下面我们从技术角度进行一下比较。
什么是Agent和Agentless?
所谓Agent监控方式,顾名思义,就是在被监控应用所在的主机上面,安装小的Agent软件,即代理软件,通过它,实现对数据的采集和管理。市面上Agent监控代理软件,一般都可以在一台主机上实现对主机和主机上应用的监控。
因为Agent代理软件运行在被监控主机和应用端,所以对Agent软件的性能和可靠性就提出了很高的要求,一般要求Agent代理软件占用系统资源(CPU、内存等)比较低,但是采集的数据量比较大。只有这样,才能很好的发挥Agent代理软件作用的同时,保证主机和应用的正常运行。从Agent代理软件的实现方式上看,各个厂商大多采用效率比较高的C代码,如Mocha BSM和BMC Patrol,但也有软件厂商采用效率不太高的JAVA等,如IBM,后者就对主机的系统资源占用比较大,因为JAVA程序一般占用比较多的内存。
所谓的Agentless监控方式,是指在被监控应用所在的主机上面,不安装代理软件采集相应的信息,而是通过一些标准的协议,这些包括主机使用的SNMP、Telnet、SSH、WMI等,以及应用使用的JMX、JDBC、ODBC等。
摩卡软件对监控方式的实现
摩卡软件在行业内具有十年的IT运维管理经验,在全国超过23家的大客户现场积累了深厚的应用平台运维管理经验。在实际的产品实现上,摩卡业务服务管理(Mocha Business Service Management ,简称Mocha BSM)产品采用了Agent方式和Agentless两种监控方式,在两种监控方式的优缺点方面,做了比较好的权衡,尽量做到扬长避短,这些措施包括:
Agent监控方式提供部署工具:
困扰Agent监控方式一个重要的问题就是Agent的部署问题,需要在每一台主机上都要安装相应的代理软件,大大地增大了项目实施的工作量。摩卡软件在实现Agent监控方式的同时,提供了Agent软件的远程部署工具,大大的降低了Agent部署的难度,提高了工作效率。下图为Mocha BSM提供的Agent软件远程部署工具。
Agent监控方式采用C代码:
Agent代理软件因为需要部署在主机上,所以必须有比较小的资源占用且相当可靠。因此,Mocha BSM在实现上完全采用效率很高的C语言实现,避免了JAVA实现对系统资源的占用。
Agentless监控方式支持协议丰富:
支持的协议包括SNMP、SSH、Telnet、WMI、JDBC、ODBC、JMX等等,大大方便了用户的快速应用。