开源系统监控软件
Zabbix VS Nagios VS Open-Falcon
Zabbix
Zabbix是一个企业级的开源分布式监控解决方案,支持实施从数以万计的服务器、虚拟机、网络设备等收集百万的指标数据,具备常见的商业监控软件所具备的功能(主机的性能监控、网络设备性能监控、数据库性能监控、FTP等通用协议监控、多种告警方式、详细的报表图表绘制)支持自动发现网络设备和服务器;支持分布式,能集中展示、管理分布式的监控点;扩展性强,server提供通用接口,可以自己开发完善各类监控。 Zabbix重要组件说明: zabbix server:负责接收agent发送的报告信息的核心组件,所有配置、统计数据及操作数据都由它组织进行; database storage:专用于存储所有配置信息,以及由zabbix收集的数据; web interface:zabbix的GUI接口; proxy:可选组件,常用于监控节点很多的分布式环境中,代理server收集部分数据转发到server,可以减轻server的压力; agent:部署在被监控的主机上,负责收集主机本地数据如cpu、内存、数据库等数据发往server端或proxy端;
优点: All in One:部署相当便捷 Server对宿主机性能要求很低。 自动发现服务器与网络设备 分布式监控,以及WEB集中管理功能 同时支持agent采集和无agent采集,主机通过agent 或者ipmi采集数据,网络设备、存储设备等通过 SNMP 客户端采集数据,agent支持常用的UNIX和Windows操作系统 功能全面,数据采集、数据存储、数据展现、事件告警。 开放式接口,扩展性强,插件编写容易 不足: 数据库瓶颈,使用mysql作为底层存储,大数据读写的时候,对于数据库的压力非常大 需要在主机中安装agent 对容器监控支持不好,需要自己扩展。
Nagios
Nagios 全名为(Nagios Ain’t Goona Insist on Saintood),最初项目名字是 NetSaint。它是一款免费的开源 IT 基础设施监控系统,其功能强大,灵活性强,能有效监控 Windows 、Linux、VMware 和 Unix 主机状态,交换机、路由器等网络设置等。Nagios核心功能是监控报警,告警能力很不错,但是图形展示效果很差。同时nagios更加灵活,很多功能都要通过插件化来实现,对于技术能力没那么强的同学,上手会有些困难。当然,对于运维老手,上手会很快。
Nagios 的功能特性如下: 监控网络服务(SMTP、POP3、HTTP、NNTP、PING等); 监控主机资源(处理器负荷、磁盘利用率等); 简单地插件设计使得用户可以方便地扩展自己服务的检测方法; 并行服务检查机制; 具备定义网络分层结构的能力,用”parent”主机定义来表达网络主机间的关系,这种关系可被用来发现和明晰主机宕机或不可达状态; 当服务或主机问题产生与解决时将告警发送给联系人(通过EMail、短信、用户定义方式); 可以定义一些处理程序,使之能够在服务或者主机发生故障时起到预防作用; 自动的日志滚动功能; 可以支持并实现对主机的冗余监控; 可选的WEB界面用于查看当前的网络状态、通知和故障历史、日志文件等;
Open-Falcon
Open-Falcon是小米运维部门开源出来的互联网企业级监控系统,目前包括小米、金山云、美团、京东金融、赶集网等都在使用Open-Falcon。Open-Falcon 整体可以分为两部分,即绘图组件、告警组件。“绘图组件”负责数据的采集、收集、存储、归档、采样、查询、展示(Dashboard/Screen)等功能,可以单独工作,作为time-series data的一种存储展示方案。“告警组件”负责告警策略配置(portal)、告警判定(judge)、告警处理(alarm/sender)、用户组管理(uic)等,可以单独工作。 关键特性有: 数据采集免配置:agent自发现、支持Plugin、主动推送模式 容量水平扩展:生产环境每秒50万次数据收集、告警、存储、绘图,可持续水平扩展。 告警策略自发现:Web界面、支持策略模板、模板继承和覆盖、多种告警方式、支持回调动作。 告警设置人性化:支持最大告警次数、告警级别设置、告警恢复通知、告警暂停、不同时段不同阈值、支持维护周期,支持告警合并。 历史数据高效查询:秒级返回上百个指标一年的历史数据。 Dashboard人性化:多维度的数据展示,用户自定义Dashboard等功能。 架构设计高可用:整个系统无核心单点,易运维,易部署。 缺点: 支持的监控类型较少,不支持常用应用服务器如tomcat、apache、jetty等的监控。 没有专门的运维支持,代码更新较少,没有一个较大的社区来维护,后续想要有什么新的能力基本只能指望自己扩展。