本文并非原创,转自: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. 网络爬虫之使用pyppeteer替代selenium完美绕过webdriver检测

    1引言 曾经使用模拟浏览器操作(selenium + webdriver)来写爬虫,但是稍微有点反爬的网站都会对selenium和webdriver进行识别,网站只需要在前端js添加一下判断脚本,很容 ...

  2. MYSQL第二课

    创建数据库: 输入:CREATE DATABASE itcase;计算机输出: Query OK, 1 row affected 查看数据库:输入:SHOW DATABASES;计算机输出: +--- ...

  3. [日常] gitlab创建用户并把用户加入项目

    在gitlab里创建用户 默认密码是要求创建的用户自己去邮箱重置,也可以创建完成后直接点击编辑,就可以更改密码了 创建完用户,用户登录的时候需要去重置密码 创建完项目,就可以去使用了 也可以为这个项目 ...

  4. 2、mongoDB的基本操作

    数据写入和查询: show dbs (查看有哪些数据库) use imooc (使用数据库) db.dropDatabase() 删除数据库 备注:在use的时候如果use一个不存在的表,在mongo ...

  5. Java面试题-基础篇二(干货)

    11.是否可以从一个static方法内部发出对非static方法的调用? 不可以.因为非static方法是要与对象关联在一起的,必须创建一个对象后,才可以在该对象上进行方法调用,而static方法调用 ...

  6. client-go集群外认证k8s

    除了认证外,还判断了操作系统. 且根据不同的系统,生成不同的文件. 在集群外认证时,使用的是k8s官方的方式, 而不是第三方库. package main import ( "flag&qu ...

  7. (转)SpringMVC表单多对象传递小技巧——@InitBinder

    转:https://www.jianshu.com/p/59771cbf373d 1.问题情景 项目中前端后台的数据传递是必不可少的,比如说我们要在一张表单中提交对象,如果只是一个对象就就很好做,因为 ...

  8. django登录页面设计:

    urls: """day42 URL Configuration The `urlpatterns` list routes URLs to views. For mor ...

  9. Python网络编程基础 ❶ 计算机网络基础 初用socket模块

    1.计算机网络基础 C/S  客户端/服务器端 B/S  浏览器端/服务器端 mac地址,ip地址,子网掩码,与计算得到网段,端口号每台计算机的网卡都有全球唯一的地址,在生产时已经写进去了. ip地址 ...

  10. Codeforces Round #552 (Div. 3) EFG(链表+set,dp,枚举公因数)

    E https://codeforces.com/contest/1154/problem/E 题意 一个大小为n(1e6)的数组\(a[i]\)(n),两个人轮流选数,先找到当前数组中最大的数然后选 ...