转载
随着云计算和互联网的高速发展,大量应用需要横跨不同网络终端,并广泛接入第三方服务(如支付、登录、导航等),IT系统架构越来越复杂,面对如此复杂的体系结构,运维监控就显得至关重要了,今天就来介绍一下开源监控软件中的“五大郎”。
Zabbix
Zabbix是一个基于WEB界面的提供分布式系统监控以及网络监控功能的企业级开源运维平台,也是目前国内互联网用户中使用最广的监控软件,85%以上用户在使用Zabbix做监控解决方案,“入门容易、上手简单、功能强大并且开源免费”是对Zabbix的最直观评价。
优点:支持多平台的企业级分布式开源监控软件安装部署简单,多种数据采集插件灵活集成功能强大,可实现复杂多条件告警自带画图功能,得到的数据可以绘成图形提供多种API接口,支持调用脚本出现问题时可自动远程执行命令(需对agent设置执行权限)
缺点:
项目批量修改不方便社区虽然成熟,但是中文资料相对较少,服务支持有限入门容易,能实现基础的监控,但是深层次需求需要非常熟悉Zabbix并进行大量的二次定制开发,难度较大系统级别报警设置相对比较多,如果不筛选的话报警邮件会很多;并且自定义的项目报警需要自己设置,过程比较繁琐缺少数据汇总功能,如无法查看一组服务器平均值,需进行二次开发数据报表需要特殊二次开发定义
Nagios
Nagios是一款开源的企业级监控系统,能够实现对系统CPU、磁盘、网络等方面参数的基本系统监控,以及 SMTP,POP3,HTTP,NNTP等各种基本的服务类型。另外通过安装插件和编写监控脚本,用户可以实现应用监控,并针对大量的监控主机和多个对象部署层次化监控架构。
优点:出错的服务器、应用和设备会自动重启,自动日志滚动配置灵活,可以自定义shell脚本,通过分布式监控模式支持以冗余方式进行主机监控,报警设置多样命令重新加载配置文件无需打扰Nagios的运行
缺点:
事件控制台功能很弱,插件易用性差对性能、流量等指标的处理不给力看不到历史数据,只能看到报警事件,很难追查故障原因配置复杂,初学者投入的时间、精力和成本比较大
Ganglia
Ganglia是加州大学伯克利分校发起的一个开源集群监控项目,设计之初是用于监控数以千计的网络节点,Ganglia是一个跨平台可扩展的,高性能计算系统下的分布式监控系统。它已被广泛移植到各种操作系统和处理器架构上。
优点:适合监控系统性能,通过曲线很容易见到每个节点的工作状态可以自定义监控项,监控展示有表格和图像两种,支持手机版部署方便,通过不同的分层管理上万台机器,无需逐个添加配置
缺点:
没有内置的消息通知系统没有报警机制,出现问题不能够及时报警
Zenoss
Zenoss Core是Zenoss的开源版本,其商用版本为ZenossEnterprise,作为企业级智能监控软件,Zenoss Core允许IT管理员依靠单一的WEB控制台来监控网络架构的状态和健康度。Zenoss Core的强大能力来自于深入的列表与配置管理数据库,以发现和管理公司IT环境的各类资产,Zenoss同时提供与CMDB关联的事件和错误管理系统, 以协助提高各类事件和提醒的管理效率。
优点:Zenoss比较出色的地方在于它的Dashboard,可以配置很多portlet每个用户的界面都是分开管理的,自定义dashboard不会影响其他用户强大监控功能支持服务器、路由交换、防火墙、存储、数据库、中间件监控采用基于HBASE的opentsdb存储任意时间段的数据将状态监控,性能监控,资源管理,良好的报告机制进行有机的整合
缺点:
对资源要求较高,即使只管理少数几台设备,也需要消耗大量硬件及内存等附加资源针对windows系统,开源版只提供SNMP,通过WMI检测CPU,Disk,软硬件和性能只在收费版提供
Open-falcon
Open-falcon是小米运维团队从互联网公司的需求出发,根据多年的运维经验,结合SRE、SA、DEVS的使用经验和反馈,开发的一套面向互联网的企业级开源监控产品。
优点:自动发现,支持falcon-agent、snmp、支持用户主动push、用户自定义插件支持支持每个周期上亿次的数据采集、告警判定、历史数据存储和查询高效的portal、支持策略模板、模板继承和覆盖、多种告警方式、支持callback调用单机支撑200万metric的上报、归档、存储采用rrdtool的数据归档策略,秒级返回上百个metric