随着云计算和互联网的高速发展,大量应用需要横跨不同网络终端,并广泛接入第三方服务(如支付、登录、导航等),IT系统架构越来越复杂。快速迭代的产品需求和良好的用户体验,需要IT运维管理者时刻保障核心业务稳定可用,而企业运维中的痛点和难点也急需解决。
1、面向业务的运维,不但关心单点IT资源的运行状态,更关心整个业务系统的健康状态
2、如果企业使用了大量的API和模块化应用,那么关注每个接口的性能变化情况和指标
3、对于运维主管及企业管理层来说,特别需要上墙的监控大屏
4、运维需要每周、每月查看报告趋势分析,但传统运维工具数据导出困难
5、需要第一时间转换和快速发现故障节点,减少业务中断带来的损失
云智慧对业内主流的开源运维监控系统和商业运维监控系统进行对比,分析各种产品的定位、目标用户和功能特点,希望帮助广大运维、开发和创业者找到最适合自己的运维工具。
1、开源运维监控产品篇
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.配置复杂,初学者投入的时间、精力和成本比较大
Prometheus
推荐星级:★★★★☆
Prometheus基本原理是通过HTTP协议周期性抓取被监控组件的状态,这样做的好处是任意组件只要提供HTTP接口就可以接入监控系统,不需要任何SDK或者其他的集成过程。这样做非常适合虚拟化环境比如VM或者Docker
Prometheus应该是为数不多的适合Docker、Mesos、Kubernetes环境的监控系统之一。近几年随着k8s的流行,prometheus成为了一个越来越流行的监控工具。
用户群:Docker、Mesos、Kubernetes等大型互联网企业
优点:
1.自动发现服务负载化:数据的自动发现采用Consul作为服务主体,前端SLB方式引入Consul集群,以SLB作为数据的注册及取用点,可以很好的处理大批量节点的高注册(注销)请求
2.主机探针:系统层面的负载参数化,可以及时发现系统运行的异常,在系统层面消除隐患,配合消息推送机制,有问题及时处理
3.容器探针:容器层面的负载参数化,了解容器运行的负载情况,探知运行异常,可以配合消息机制进行告警
4.服务探针:将Mesos、kubernetes、MySQL、Redis、Jenkins等的运行情况参数化,比如调用、负载、登录等等
5.应用探针:定制专属服务探针,获取服务存活信息,端口存活信息,Api调用情况等等
6.ICMP探针:对于远端服务器存活,可以使用ping检测进行定期检测,确保服务器的存活
7.URL探针:对定制的URL地址群进行监测,可以有效发现404、502等错误码,同时可以检测到HTTPS加密证书的到期日期
8.告警通知:以邮件作为工作时的有效通知及事件记录手段,辅以短信、微信告警实现24小时最便捷的消息告知方式
缺点:
1.因为收集的数据可能不够详细和完整,需要百分之百精准统计(如:每次账单请求信息)对Prometheus而言是不适用的
Ganglia
推荐星级:★★★★☆
Ganglia是加州大学伯克利分校发起的一个开源集群监控项目,设计之初是用于监控数以千计的网络节点。Ganglia是一个跨平台可扩展的,高性能计算系统下的分布式监控系统。它已被广泛移植到各种操作系统和处理器架构上。
用户群:适用于大型服务器集群用户。
优点:
1.适合监控系统性能,通过曲线很容易见到每个节点的工作状态
2.可以自定义监控项,监控展示有表格和图像两种,支持手机版
3.部署方便,通过不同的分层管理上万台机器,无需逐个添加配置
缺点:
1.没有内置的消息通知系统
2.没有报警机制,出现问题不能够及时报警
Zenoss
推荐星级:★★★★☆
Zenoss Core是Zenoss的开源版本,其商用版本为ZenossEnterprise。作为企业级智能监控软件,Zenoss Core允许IT管理员依靠单一的WEB控制台来监控网络架构的状态和健康度。Zenoss Core的强大能力来自于深入的列表与配置管理数据库,以发现和管理公司IT环境的各类资产。Zenoss同时提供与CMDB关联的事件和错误管理系统, 以协助提高各类事件和提醒的管理效率。
优点:
1.Zenoss比较出色的地方在于它的Dashboard,可以配置很多portlet
2.每个用户的界面都是分开管理的,自定义dashboard不会影响其他用户
3.强大监控功能支持服务器、路由交换、防火墙、存储、数据库、中间件监控
4.采用基于HBASE的opentsdb存储任意时间段的数据
5.将状态监控,性能监控,资源管理,良好的报告机制进行有机的整合
缺点:
1.对资源要求较高,即使只管理少数几台设备,也需要消耗大量硬件及内存等附加资源。
2.针对windows系统,开源版只提供SNMP,通过WMI检测CPU,Disk,软硬件和性能只在收费版提供。
Open-falcon
推荐星级:★★★☆☆
Open-falcon是小米运维团队从互联网公司的需求出发,根据多年的运维经验,结合SRE、SA、DEVS的使用经验和反馈,开发的一套面向互联网的企业级开源监控产品。
Open-falcon架构
用户群:目前有几十家企业用户不同程度使用。
优点:
1.自动发现,支持falcon-agent、snmp、支持用户主动push、用户自定义插件支持
2.支持每个周期上亿次的数据采集、告警判定、历史数据存储和查询
3.高效的portal、支持策略模板、模板继承和覆盖、多种告警方式、支持callback调用
4.单机支撑200万metric的上报、归档、存储
5.采用rrdtool的数据归档策略,秒级返回上百个metric一年的历史数据
6.多维度的数据展示,用户自定义Screen
7.通过各种插件目前支持Linux、Windows、Mysql、Redis、Memache、RabbitMQ和交换机监控。
缺点:由于发布时间较短,很多基础的服务监控插件(如Tomcat、apache等)还不支持,很多功能还在不断完善中,另外由于缺少专门的支持,虽然有开放社区,但是解决问题的效率相对较低。
2、商用运维监控系统篇
监控宝
推荐星级:★★★★★
监控宝是云智慧为用户提供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服务经验,以及超过百人的技术服务团队,为用户提供最佳的服务保障。
360网站服务监控
推荐星级:★★☆☆☆
360网站服务监控是一款面向广大站长的网站监控产品,提供免费的网站、服务器监控。
用户群:个人站长
优点:
1.服务免费,支持网站HTTP监控、PING监控、域名DNS监控和服务器监控;
2.提供网站访问全景数据和简单配置信息。
缺点:
1.只支持简单的网站和服务器监控,历史数据保留15天,且免费监控点数量仅为四个;
2.最后一次产品更新是2014年9月,目前已停止更新和运营支持。
阿里云监控
推荐星级:★★★★☆
阿里云监控是一款免费网站监控产品,可监控站点和服务器,并提供多种告警方式:短信,旺旺,邮件。
用户群:阿里云用户
优点:
1.与阿里云服务捆绑紧密,允许用户自定义数据监控;
2.阿里云多IDC间内网数据传输,不占用客户公网资源;
3.支持对业务数据的通用统计,从各个角度反应服务的运行情况。
缺点:
1.所有服务基于阿里云,功能单一,扩展性差;
2.功能不够强大,只能满足基础监控需求。
百度云观测
推荐星级:★★☆☆☆
百度云观测是百度推出的一款云服务产品,类似于360云监控、阿里云监控,主要是为站长提供免费的一站式网站监测、预警服务,功能覆盖网站运行状况、安全和访问速度等多个方面。
用户群:个人站长
优点:
1.对于用户每日访问的站点进行安全检测;
2.国内各大城市云节点覆盖,支持CDN、DNS状态和主机监控。
缺点:
1.需要进行网站认证;
2.监控点少,功能简单,只能监测网站状态,不支持服务器、应用监控。
小蜜蜂网站监测
推荐星级:★☆☆☆☆
小蜜蜂网站监测是一款针对中小企业需求开发的综合测量网站运营情况线上工具,可以定时监控网站或服务器器的可用率(Uptime),一旦网站无法连结、或是服务器发生错误,即可发送告警通知。
优点:
1.小蜜蜂通过探测节点和Last Mile两种模式监测网站可用性,支持多种站点监控类型和不同的网络访问传输协议;
2.提供多样化监控告警设置,并支持站内实时告警消息,支持RSS。
缺点:
1.只支持基本的网站监控,监控点不可选,监控服务不稳定;
2.网站性能历史数据不够详细,且无法导出。
总结
随着新技术的不断发展,云服务已经互联网企业的必须,但是长期以来会存在传统物理主机和云主机、私有云和公有云并存的状态。此外,互联网企业的发展速度非常快,小米、滴滴出行等很多企业都是在短短几年内发展起来的,因此选择一款合适的云监控产品,伴随企业同步成长,是非常必要的。