本文并非原创,转自:http://wenku.baidu.com/link?url=NGT2NA7Lf6fZSPmcOxFQqL4cYROHlIOJyiWCnGdwv3kljMqub-6zyjgsSwN1S2-lLU8w6C4haM-aUrKVkdLoPC3KZh_QbJbIBLbQ7vPneAS

 

正文:

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


图1 Agent和Agentless技术比较

摩卡软件对监控方式的实现

摩卡软件在行业内具有十年的IT运维管理经验,在全国超过23家的大客户现场积累了深厚的应用平台运维管理经验。在实际的产品实现上,摩卡业务服务管理(Mocha Business Service Management ,简称Mocha BSM)产品采用了Agent方式和Agentless两种监控方式,在两种监控方式的优缺点方面,做了比较好的权衡,尽量做到扬长避短,这些措施包括:

Agent监控方式提供部署工具:

困扰Agent监控方式一个重要的问题就是Agent的部署问题,需要在每一台主机上都要安装相应的代理软件,大大地增大了项目实施的工作量。摩卡软件在实现Agent监控方式的同时,提供了Agent软件的远程部署工具,大大的降低了Agent部署的难度,提高了工作效率。下图为Mocha BSM提供的Agent软件远程部署工具。


图2

Agent监控方式采用C代码:

Agent代理软件因为需要部署在主机上,所以必须有比较小的资源占用且相当可靠。因此,Mocha BSM在实现上完全采用效率很高的C语言实现,避免了JAVA实现对系统资源的占用。


图3

Agentless监控方式支持协议丰富:

支持的协议包括SNMP、SSH、Telnet、WMI、JDBC、ODBC、JMX等等,大大方便了用户的快速应用。

最新文章

  1. ajax 异步加载显示等待效果
  2. jenkins和docker 使用docker作为slave
  3. Qt 学习资料
  4. webDriver中的alert
  5. Exceeded maximum number of retries. Exceeded max scheduling attempts 3 for instance 7d90eb80-29e2-4238-b658-ade407ff9456. Last exception: [u'Traceback (most recent call last):\n', u' File "/usr/lib/py
  6. Firebird数据库相关备忘录
  7. Linux改变进程优先级的nice命令
  8. Yii2 分页类的扩展和listview引用
  9. js实现网页打印分页打印
  10. HBase Canary
  11. Java开发环境的搭建01——Eclipse篇(Windows)
  12. composer修改成国内镜像
  13. unity3d 射线的原理,基础用法
  14. Spring boot 启动配置原理
  15. 解决python3 UnicodeEncodeError: 'gbk' codec can't encode character '\xXX' in position XX(转)
  16. 深入理解SpringCloud之Eureka注册过程分析
  17. Cross compiling coreutils and generate the manpages
  18. 微信通过openID发送消息/后台post、get提交并接收数据
  19. Flutter 中 ListView 的使用
  20. classList

热门文章

  1. 计算机基础 python入门
  2. 配置同时使用 Gitlab、Github、Gitee(码云) 共存的开发环境
  3. rabbitmq多消费者
  4. js修改对象的key值
  5. 父组件调用子组件中的方法- this.$refs.xxx.子组件方法();
  6. Velocity与Jsp、Freemarker的对比
  7. docker 部署 HFish(集群部署)
  8. TCP的三次握手与四次挥手理解
  9. tomcat参数java_opts调整
  10. .NET Core 中间件之压缩、缓存