随着云计算和互联网的高速发展,大量应用需要横跨不同网络终端,并广泛接入第三方服务(如支付、登录、导航等),IT系统架构越来越复杂。快速迭代的产品需求和良好的用户体验,需要IT运维管理者时刻保障核心业务稳定可用,而企业运维中的痛点和难点也急需解决。
1.面向业务的运维,不但关心单点IT资源的运行状态,更关心整个业务系统的健康状态
2.如果企业使用了大量的API和模块化应用,那么关注每个接口的性能变化情况和指标
3.对于运维主管及企业管理层来说,特别需要上墙的监控大屏
4.运维需要每周、每月查看报告趋势分析,但传统运维工具数据导出困难
5.需要第一时间转雀和快速发现故障节点,减少业务中断带来的损失
本文对业内主流的开源运维监控系统和商业运维监控系统进行对比,分析各种产品的定位、目标用户和功能特点,希望帮助广大运维、开发和创业者找到最适合自己的运维工具。
一、开源运维监控产品篇
(一)Zabbix
推荐星级:★★★★★
Zabbix是一个基于Web界面的提供分布式系统监控以及网络监控功能的企业级开源运维平台,也是目前国内互联网用户中使用最广的监控软件,云智慧遇到的85%以上用户在使用Zabbix做监控解决方案。
入门容易、上手简单、功能强大并且开源免费是云智慧对Zabbix的最直观评价。Zabbix易于管理和配置,能生成比较漂亮的数据图,其自动发现功能大大减轻日常管理的工作量,丰富的数据采集方式和API接口可以让用户灵活进行数据采集,而分布式系统架构可以支持监控更多的设备。理论上,通过Zabbix 提供的插件式架构,可以满足企业的任何需求。
用户群:85%以上的泛互联网企业。
优点:
1.支持多平台的企业级分布式开源监控软件。
2.安装部署简单,多种数据采集插件灵活集成。
3.功能强大,可实现复杂多条件告警。
4.自带画图功能,得到的数据可以绘成图形。
5.提供多种API接口,支持调用脚本。
6.出现问题时可自动远程执行命令(需对agent设置执行权限)。
缺点:
1.项目批量修改不方便。
2.社区虽然成熟,但是中文资料相对较少,服务支持有限。
3.入门容易,能实现基础的监控,但是深层次需求需要非常熟悉Zabbix并进行大量的二次定制开发,难度较大。
4.系统级别报警设置相对比较多,如果不筛选的话报警邮件会很多;并且自定义的项目报警需要自己设置,过程比较繁琐。
5.缺少数据汇总功能,如无法查看一组服务器平均值,需进行二次开发。
6.数据报表需要特殊二次开发定义。
(二)Nagios
推荐星级:★★★★☆
Nagios 是一款开源的企业级监控系统,能够实现对系统CPU、磁盘、网络等方面参数的基本系统监控,以及SMTP,POP3,HTTP,NNTP等各种基本的服务类型。另外通过安装插件和编写监控脚本,用户可以实现应用监控,并针对大量的监控主机和多个对象部署层次化监控架构。
Nagios最大的特点是其强大的管理中心,尽管其功能是监控服务和主机的,但Nagios自身并不包括这部分功能代码,所有的监控、告警功能都是由相关插件完成的。
用户群:适合复杂IT环境的企业
优点:
1.出错的服务器、应用和设备会自动重启,自动日志滚动。
2.配置灵活,可以自定义shell脚本,通过分布式监控模式。
3.支持以冗余方式进行主机监控,报警设置多样。
4.命令重新加载配置文件无需打扰Nagios的运行。
缺点:
1.事件控制台功能很弱,插件易用性差。
2.对性能、流量等指标的处理不给力。
3.看不到历史数据,只能看到报警事件,很难追查故障原因。
4.配置复杂,初学者投入的时间、精力和成本比较大。
(三)Ganglia
推荐星级:★★★★☆