本文并非原创,转自: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等等,大大方便了用户的快速应用。

[转]技术比较Agent和Agentless监控优缺点的更多相关文章

  1. 【zabbix】自动注册,实现自动发现agent并添加监控(agent不需要任何配置)

    更新: 后来在实际使用中发现,与其使用zabbix自动注册,不如直接调用zabbix的api主动发起添加服务器的请求,这样就不需要在zabbixserver上配置host信息了.实现全自动.具体调用方 ...

  2. Agentless监控实践中的预警指标采集

    很多公司已经开发了监控解决方案,解决了指标收集.展示.预警发送等一系列问题. 本文介绍的监控解决方案由高性能时序数据库InfluxDB.时序分析监控工具Grafana及Agentless自动化工具An ...

  3. (37)zabbix snmp类型 无需安装agent也能监控

    概述 如果我们需要监控打印机.路由器.UPS等设备,肯定不能使用zabbix agentd,因为他们不能安装软件的,还好他们一般都支持SNMP协议,这样我可以使用SNMP来监控他们.如果你希望使用SN ...

  4. 快速安装zabbix agent并部署监控

    1.准备yum源: epel源:yum install -y zabbix22-agent 2.上传脚本: 上传脚本事先写好的监控脚本到/script/下面 3.修改配置文件:Server=10.10 ...

  5. JVM插码之五:Java agent+ASM实战--监控所有方法执行时间

    本文建立在对instrumentation和agent有初步的了解的前提下阅读,关于这2个类的讲解在其它文章中. 这是一个maven项目,pom中需要的配置,lib中有asm的jar包 pom.xml ...

  6. nmon +java nmon Alalizy agent 动态交互监控

    下载地址:1. Download and install nmon. - for linux platform, you can download form: http://nmon.sourcefo ...

  7. 001_谈阿里核心业务监控平台SunFire的技术架构

    <1>阿里全球运行指挥中心(GOC)的SunFire出品 <2>在2016年双11全球购物狂欢节中,天猫全天交易额1207亿元,前30分钟每秒交易峰值17.5万笔,每秒支付峰值 ...

  8. 大厂偏爱的Agent技术究竟是个啥

    搜索关注微信公众号"捉虫大师",后端技术分享,架构设计.性能优化.源码阅读.问题排查.踩坑实践. hello大家好,我是小楼,今天给大家分享一个关于Agent技术的话题,也是后端启 ...

  9. 运维监控-Open-Falcon安装Agent实战篇

    运维监控-Open-Falcon安装Agent实战篇 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本文参考链接来自:http://book.open-falcon.org/zh/ ...

随机推荐

  1. [android]system.img文件的打包和解包

    1:system.img的两种格式 system2_0.img: Linux rev 1.0 ext4 filesystem data, UUID=57f8f4bc-abf4-655f-bf67-94 ...

  2. redis 进程使用root用户启动 -- 整改方案

    最近内部风险整改, 各种进程使用root身份进行启动不符合要求, 于是各路神仙各施其法,为的就是让 某进程不以root 启动: 先以 redis 为例: 原有进程如下: #超一流标准的执行文件位置及配 ...

  3. 爬虫 crawlSpider 分布式 增量式 提高效率

    crawlSpider 作用:为了方便提取页面整个链接url,不必使用创参寻找url,通过拉链提取器,将start_urls的全部符合规则的URL地址全部取出 使用:创建文件scrapy startp ...

  4. json.loads() json解码

    有些json数据里面套着json    一次json.loads()后还是会有数据是json格式 { "result": { "error_code": 0, ...

  5. linux 下安装 python ngix 项目发布流程

    1.安装python #1.安装python3.7所需要的依赖包yum -y groupinstall "Development tools"yum -y install zlib ...

  6. 了解css

    css指层叠样式表(Cascading Style Sheets) 1.样式定义如何显示HTML元素 2.样式通常存储在样式表中 把样式添加到HTML4.0中,是为了解决内容与表现分离的问题 外部样式 ...

  7. C语言第2

    今个那老哥替我刷题,然后遇到一个打印中文编码得问题,我多嘴一问,为啥 用 unsiged 然后他让我换成char试试:然后出现了以下结果 #include <stdio.h> #inclu ...

  8. Vue中MVVM模式的双向绑定原理 和 代码的实现

      今天带大家简单的实现MVVM模式,Object.defineProperty代理(proxy)数据   MVVM的实现方式: 模板编译(Compile) 数据劫持(Observer) Object ...

  9. 【cf比赛记录】Codeforces Round #606 (Div. 2, based on Technocup 2020 Elimination Round 4)

    比赛传送门 只能说当晚状态不佳吧,有点头疼感冒的症状.也跟脑子没转过来有关系,A题最后一步爆搜没能立即想出来,B题搜索没有用好STL,C题也因为前面两题弄崩了心态,最后,果然掉分了. A:简单数学 B ...

  10. ThreadPoolExecutor 线程池 简单解析

    jdk1.8 ThreadPoolExecutor ThreadPoolExecutor实际就是java的线程池,开发常用的Executors.newxxxxx()来创建不同类型和作用的线程池,其底部 ...