Agent和Agentless监控的优缺点(1)


主机应用监控的两种方式

在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等。

Agent和Agentless技术比较

对比项                              监控方式

Agent方式

Agentless方式

对监控资源的影响

占用一定的CPU和内存运行Agent代理软件本身。

CPU和内存的影响,除了对telnet/SSH/wmi的影响,其它几乎可忽略。

对监控服务器的影响

大部分工作通过监控资源端的Agent代理软件完成,对监控服务器的影响相对较小

所有工作通过监控服务器远程连接监控资源端实现,对监控服务器的影响相对较大

通讯对网络带宽的影响

在监控资源端采集的数据,经过压缩处理后,传输给监控服务器,故对网络带宽的占用较低

监控服务器采集的信息直接传输给监控服务器,数据都未经压缩和汇总,故数据量相对较大。

监控指标

Agent代理监控方式一般都支持二次开发,监控用户关心的独特的指标

Agentless实现方式所限,一般监控指标相对固定,不支持二次开发

部署方式

部署相对麻烦,需要每台主机部署安装。

只需要开通相应的协议和端口,几乎不需要部署


相关内容