from http://cio.it168.com/a2015/1128/1782/000001782714_all.shtml
【IT168技术】在运维工具大宝典系列第一篇文章《运维工具大宝典之运维需求篇》中,云智慧对上云企业的运维需求进行的汇总,其中第6条“对开源的强烈需求”主要是来自运维人员,特别是技术大牛,他们喜欢一切尽在掌握的感脚,而这就需要开源运维工具。
目前流行的开源运维工具如Zabbix、Nagios等大部分来自国外,虽然这些开源产品功能非常强大,但对技术要求很高,而且缺少足够的中文文档和本土服务支持,一般运维人员要想用好难度很大。
于是就有国内IT厂商小米、TalkingData对其自主开发的运维系统进行了开源,同时作为商用监控服务商代表的云智慧,也对其监控宝产品进行逐步开源,让运维、开发人员在获得便捷部署和易用性的同时,可根据自己的业务需求进行灵活的二次开发。
下面就是云智慧关于开源监控产品的详细评测:
Zabbix
推荐星级:★★★★★
Zabbix是一个基于WEB界面的提供分布式系统监控以及网络监控功能的企业级开源运维平台,也是目前国内互联网用户中使用最广的监控软件,云智慧遇到的85%以上用户在使用Zabbix做监控解决方案。
入门容易、上手简单、功能强大并且开源免费是云智慧对Zabbix的最直观评价。Zabbix易于管理和配置,能生成比较漂亮的数据图,其自动发现功能大大减轻日常管理的工作量,丰富的数据采集方式和API接口可以让用户灵活进行数据采集,而分布式系统架构可以支持监控更多的设备。理论上,通过Zabbix提供的插件式架构,可以满足企业的任何需求。
用户群:85%以上的泛互联网企业。
优点:
1. 支持多平台的企业级分布式开源监控软件;
2. 安装部署简单、管理方便;
3. 功能强大,监控灵活,可实现复杂多条件告警;
4. 多种数据采集插件,灵活集成;
5. 自带画图功能,得到的数据可以绘成图形;
6. 同时支持调用脚本,很方便;
7. 提供多种API接口,定制化最高的监控软件;
8. 出现问题时可自动远程执行命令(需对agent设置执行权限);
缺点:
1. 项目批量修改不方便;
2. 社区虽然成熟,但是中文资料相对较少,服务支持有限;
3. 入门容易,能实现基础的监控,但是深层次需求需要非常熟悉Zabbix并进行大量的二次定制开发,难度较大;
4. 系统级别报警设置相对比较多,如果不筛选的话报警邮件会很多;并且自定义的项目报警需要自己设置,过程比较繁琐;
5. 缺少数据汇总功能,如无法查看一组服务器平均值,需进行二次开发;
6. 数据报表需要特殊二次开发定义;
Nagios
推荐星级:★★★★☆
Nagios原名NetSaint,是一款开源的企业级监控系统,于1999年推出,由Ethan Galstad开发并维护至今。Nagios能够实现对系统CPU、磁盘、网络等方面参数的基本系统监控,而且还能监控包括SMTP,POP3,HTTP,NNTP等各种基本的服务类型。另外通过安装插件和编写监控脚本,用户可以实现应用监控,并针对大量的监控主机和多个对象部署层次化监控架构。
Nagios最大的特点是其开发者将Nagios设计成监控的管理中心,尽管其功能是监控服务和主机的,但是他自身并不包括这部分功能代码,所有的监控、告警功能都是由相关插件完成的。
用户群:全球超过100万用户。许多跨国企业和组织都在使用(西门子、飞利浦、雅虎、索尼、AOL等),尤为适合复杂IT环境的企业。
优点:
1. 自动化运维,出错的服务器、应用和设备会自动重启;
2. 配置灵活,监控项目很多,可以自定义shell脚本,通过分布式监控模式,非常适合大型网络;
3. 自动日志滚动;
4. 支持以冗余方式进行主机监控;
5. 在服务事件和主机事件之间良好的相关性;
6. 命令重新加载配置文件无需打扰Nagios的运行;
7. 报警设置多样性;
缺点:
1. 很弱的事件控制台;
2. 对性能、流量等指标的处理不给力;
3. 看不到历史数据,只能看到报警事件,很难追查故障原因;
4. 配置复杂,初学者投入的时间、精力比较大;
5. 插件的易用性不好;
Ganglia
推荐星级:★★★★☆
Ganglia是加州大学伯克利分校发起的一个开源集群监控项目,设计之初是用于监控数以千计的网络节点。Ganglia是一个跨平台可扩展的,高性能计算系统下的分布式监控系统。它已被广泛移植到各种操作系统和处理器架构上,目前世界各地成千上万的集群中应用。
用户群:适用于服务器集群用户。
优点:
1. 适合监控系统性能,通过曲线很容易见到每个节点的工作状态,对合理调整、分配系统资源,提高系统整体性能起到重要作用;
2. 支持浏览器方式访问,但不能监控节点硬件技术指标;
3. 适合大型集群环境;
4. 部署方便,不用逐台机器添加配置;
5. 一台服务器能够通过不同的分层管理上万台机器;
6. 可以自定义监控项,监控展示有表格和图像两种,支持手机版。
缺点:
1. 没有内置的消息通知系统;
2. 没有报警机制,出现问题不能够及时报警;
Zenoss
推荐星级:★★★★☆
Zenoss Core是Zenoss的开源版本,其商用版本为Zenoss Enterprise。作为企业级智能监控软件,Zenoss Core允许IT管理员依靠单一的WEB控制台来监控网络架构的状态和健康度。Zenoss Core的强大能力来自于深入的列表与配置管理数据库,以发现和管理公司IT环境的各类资产(包括服务器、网络、和其他结构设备)。Zenoss同时提供与CMDB关联的事件和错误管理系统,以协助提高各类事件和提醒的管理效率。
Zenoss做到了开源和商业化的较好结合,既吸收开源软件的优点,同时又通过商业化运作来保证提供可靠的后续软件服务。
优点:
1. Zenoss比较出色的地方在于它的Dashboard,可以配置很多portlet(即widget)。
2. 每个用户的界面都是分开管理的,自定义dashboard不会影响其他用户。
3. 强大监控功能(服务器、路由交换、防火墙、存储、数据库、中间件)
4. 在service pool里,用到最新的docker技术,便于用户对控制台进行更新与管理。
5. 数据存储的架构:采用基于HBASE的opentsdb存储任意时间段的数据
6. 较好的将状态监控,性能监控,资源管理,更好的报告机制进行有机的整合
7. 直观且专业的管理界面对于用户极具吸引力。
缺点:
1. 对资源要求较高,即使只管理少数几台设备、它也需要消耗大量硬件及内存等附加资源。
2. 针对windows系统,开源版只提供SNMP,通过WMI检测CPU,Disk,软硬件和性能只在收费版提供。
Hyperic HQ
推荐星级:★★★☆☆
Hyperic HQ是一个基于Java的Web基础设施监控和管理平台,提供监测生产环境中各技术栈的可视性。体系结构的关键要素是HQ Server,可用于集中管理和持久性存储,以及HQ Agent提供了对每个监测平台基础地监测和控制。
用户群:通常用于大型计算环境,其核心价值是能够自动并且轻松管理和控制数百台机器的上千软件资源。资源库包括:操作系统、应用服务器、应用组件及其他软件组件。
优点:
1. 自动发现功能出色。通过点击就能发现资产列表。
2. 监测9+系统,自带75+个资源插件。
3. 最大化可用性:在问题发生之前,警报、控制去纠正问题。
4. 可以追踪性能、配置、安全的变化。
缺点:
1. 指标都是默认提供的,无法自定义指标(在不开发的基础上)。
2. 基础功能比较缺乏,需要强大的二次开发能力。
OpenNMS
推荐星级:★★★☆☆
OpenNMS是一个企业级基于Java/XML的分布式网络和系统监控管理平台。OpenNMS是你管理网络的绝好工具,它能够显示你网络中各中终端和服务器的状态和配置,为你方便地管理网络提供有效信息。
OpenNMS专注于三个方面:服务轮询、数据收集、事件和提示管理。
优点:
1. 定制仪表板功能令人赞叹
2. 已经得到广泛普及,目前已经有超过15,000+款插件可供用户选择。
3. 搜索功能实用。如以节点为单位搜索DNS或者POP3等特定服务;对与资产(包括位置、操作系统及运行状态)相关的数据字段进行搜索。
4. 报表功能非常全面,其中包含大量预创建模板并能够运行临时报告。
缺点:
1. 界面对使用者不太直观
Cacti
推荐星级:★★★☆☆
Cacti是一套完整的网络流量监测图形分析解决方案,基于RRDTool的数据存储和图形功能实现网络监控。Cacti提供快速的数据查询,先进的图形模板,多种化数据采集方法和用户管理功能。通过一个直观、易于使用的界面,实现从局域网规模到数百台设备的复杂网络监控,可以指定每一个用户能查看树状结构、Host以及任何一张图,还可以与LDAP结合进行用户验证,同时也能自己增加模板,功能非常强大。
优点:
1. 界面比较好看,主要用途还是用来收集历史数据和画图;
2. 树图设置自由度高,可以调节经常看的图放在前面;
3. 用户权限设置细;
缺点:
1. 检验的频率是默认5分钟,增加频率会有一些Bug;
2. Web界面设置比较难找;
3. 添加自定义图表比较麻烦;
监控宝
推荐星级:★★★★★
监控宝是云智慧为用户提供IT性能监控(IT Performance Monitoring)的SaaS产品,包含网站监控、服务器监控、中间件监控、数据库监控、应用监控、API监控和页面性能监控等功能。包含免费版、畅享版和企业版,目前用户约40万,监控宝app也是国内唯一提供移动监控服务的产品。
用户群:覆盖电子商务、移动互联网、广告传媒、在线游戏、教育医疗等行业的几十万用户,小米、陌陌、高德、用友、金山、途牛、聚美优品、陆金所、中国平安、建行信用卡中心、春雨医生、畅游、国家电网、中国电信、滴滴打车、春秋航空、凤凰网等各行业领先企业和中国互联网百强企业超过30%在使用监控宝。
优点:
1、 作为国内最早提供基于SaaS服务的网络监控平台,监控宝不但为初级用户提供免费的标准服务,企业用户还可以按需购买所需的监控、告警资源,最大限度的节省企业运维成本;
2、 监控宝通过遍布全球的300多个分布式监测节点,对网络进行稳定性和可用性的主动监控和实时分析,支持http(https)、ftp、ping、udp、tcp、smtp、traceroute等多种协议,测量CDN效果及DNS状态,全网全地域性能趋势分析。
3、 实时捕捉服务器深层性能指标,支持Linux/Unix/Windows系统及云平台,支持CPU使用率、CPU平均负载、内存使用比例、磁盘IO、磁盘空间使用率、网络流量和系统进程数统计等物理指标及30多种应用服务,云主机监控端一键开启,无需复杂配置。对于应用服务的监控,监控宝已经支持常见的应用类型包括:Apache、Lighttpd、Nginx、Tomcat、IIS、Memcache和Redis,存储层监控支持Hadoop、MySQL、MongoDB、SQLServer、Oracle的健康状态及性能监控。
4、 监控宝是国内目前唯一支持API监控的网络监控产品,通过API接口调用模拟用户使用过程,支持对get、post、put、delete、head、options六种请求方式进行实时监控;支持JSON、XML、Text、Response Status验证及Postman脚本导入。
5、 Docker监控也是监控宝的独家功能,能够实时监控Docker容器的CPU、内存、网络流量及Swap状态,让开发者和运维人员在使用Docker时清晰掌握其资源消耗状况。
6、 监控宝提供页面性能管理,基于国际标准制定页面性能指数,识别加载元素的状态及正确性,对全网全用户加载响应时间分析,同时准确定位问题元素及优化建议。
7、 及时有效的告警通知对运维来说至关重要,监控宝可以根据SLA设置告警阈值,第一时间发送告警通知。监控宝覆盖最全面的告警通知方式:电子邮件、短信、电话语音、URL回调通知、App Push等。另外监控宝提供分级告警通知,能够根据告警事件的不同等级将不同的告警推送给不同的人员,支持企业分层管理!
8、 监控宝目前对其Smart Agent进行了开源,用户可以根据业务需求定制化开发Agent,同时用户的数据安全得到保障。
9、 监控宝提供私有化部署解决方案,满足政企、金融行业专有网络监控的需求。
10、 来自Compuware、CA、IBM等企业IT服务资深专家,超过5年的本土化企业级SaaS服务经验,以及超过百人的技术服务团队,为用户提供最佳的服务保障。
缺点:免费版只支持6个监控点,每月免费短信100条,监控频率为30分钟。
Open-falcon
推荐星级:★★★☆☆
Open-falcon是小米运维团队从互联网公司的需求出发,根据多年的运维经验,结合SRE、SA、DEVS的使用经验和反馈,开发的一套面向互联网的企业级开源监控产品。
Open-falcon架构
用户群:在2015年5月份发布并且形成了一个数百人的交流群,目前有几十家企业用户不同程度使用。
优点:
1. 强大灵活的数据采集:自动发现,支持falcon-agent、snmp、支持用户主动push、用户自定义插件支持、opentsdb data model like(timestamp、endpoint、metric、key-value tags)
2. 水平扩展能力:支持每个周期上亿次的数据采集、告警判定、历史数据存储和查询
3. 高效率的告警策略管理:高效的portal、支持策略模板、模板继承和覆盖、多种告警方式、支持callback调用
4. 人性化的告警设置:最大告警次数、告警级别、告警恢复通知、告警暂停、不同时段不同阈值、支持维护周期
5. 高效率的graph组件:单机支撑200万metric的上报、归档、存储(周期为1分钟)
6. 高效的历史数据query组件:采用rrdtool的数据归档策略,秒级返回上百个metric一年的历史数据
7. dashboard:多维度的数据展示,用户自定义Screen
8. 高可用:系统无核心单点,易运维,易部署,可水平扩展;
9. 插件式监控框架,通过各种插件目前支持Linux主机监控(指标更多)、Windows主机监控、Mysql监控、Redis监控、Memache监控、RabbitMQ监控和交换机监控。
缺点:由于小米公司的知名度、其运维水平能力很高,open-falcon的功能相对完整、开放性及免费特点,相信在未来会在国内监控运维领域占据一个很大很高的地位。不过由于其发布时间较短,很多基础的服务监控插件(如Tomcat、apache等)还不支持,很多功能还在不断完善中,另外由于缺少专门的支持,虽然有开放社区,但是解决问题的效率相对较低。
OWL
推荐星级:★★☆☆☆
OWL 是大数据公司Talkingdata运维部开发的一款分布式企业级监控解决方案。既能监控IT基础资源,又支持其他数据的监控,融合了运维人员喜闻乐见的语言和技术(如Python,Shell等),还能服务于开发人员,方便灵活地放入更多的业务监控指标。
OWL 体系架构
由于Talkingdata是做大数据分析的公司,因此在设计OWL 时,充分考虑了各种大数据算法及分布式存储,使得监控报警更加灵活,数据分析更加丰富,业务监控也比较方便。
用户群:Talkingdata自用,预计在年底开源,已有不少运维开始关注。
优点:
1. 基于复杂算法的浮动报警规则:OWL 不仅支持固定报警阈值,也支持浮动报警。即在到达预设的阀值后,自动追加阀值,这样一定程度上可以降低信息的发送量,在系统恢复正常之后,OWL 监控系统也能自动恢复到之前的阀值;
2. 灵活方便的用户自定义报表:监控系统的每个用户(如网络工程师,系统工程师,DBA,DevOps等)都可以定制自己的图表工作台;
3. 真正可视化的资产管理:OWL 最新版保持了先前的特色-模拟机柜图,现实资产的同时显示主机的监控状态,位置和状态一目了然;
4. 部署方便的Agent ,支持进程守护:OWL 的监控Agent 不依赖OS,方便部署,可支持多种插件,并借助于双生机制,实现了进程守护;
5. 可平行扩展的底层数据存储:选择了平行扩展性好的hbase,上层使用tsdb封装。这虽然丧失了灵活数据查询形式,但是对于数据存储,可以做到比较好的透明化;
缺点:由于产品尚未公开发布,所以只能从介绍信息判断,目前产品还不是很成熟,功能主要围绕Talkingdata自身的运维需求,包括可视化资产管理的内容。其它功能除了告警可能会更深入之外,与open-falcon比较类似。
以上是云智慧对国内流行的开源运维监控工具的对比评测,开源产品虽然拥有初始投入少、使用灵活等特点,但在管理成本、学习曲线和安全性方面很难得到大型企业和高速成长的互联网企业的认可,所以商用运维产品在国内企业级市场中仍占有很大比重,在后续文章《运维工具大宝典之商用软件篇》中,我们将为您对比分析商用运维工具的优劣。