很多开源的,推荐几个:
Zabbix
官方网站:/
Zabbix是一个基于WEB界面的提供分布式系统监控以及网络监控功能的企业级开源运维平台,也是目前国内互联网用户中使用最广的监控软件,云智慧遇到的85%以上用户在使用Zabbix做监控解决方案。
入门容易、上手简单、功能强大并且开源免费是云智慧对Zabbix的最直观评价。Zabbix易于管理和配置,能生成比较漂亮的数据图,其自动发 现功能大大减轻日常管理的工作量,丰富的数据采集方式和API接口可以让用户灵活进行数据采集,而分布式系统架构可以支持监控更多的设备。理论上,通过 Zabbix提供的插件式架构,可以满足企业的任何需求。
优点:
1. 支持多平台的企业级分布式开源监控软件
2. 安装部署简单,多种数据采集插件灵活集成
3. 功能强大,可实现复杂多条件告警,
4. 自带画图功能,得到的数据可以绘成图形
5. 提供多种API接口,支持调用脚本
6. 出现问题时可自动远程执行命令(需对agent设置执行权限)
缺点:
1. 项目批量修改不方便
2. 入门容易,能实现基础的监控,但是深层次需求需要非常熟悉Zabbix并进行大量的二次定制开发,难度较大;
3. 系统级别报警设置相对比较多,如果不筛选的话报警邮件会很多;并且自定义的项目报警需要自己设置,过程比较繁琐(但是网上的模板比较,也可以使用模板导入的方法);
4. 缺少数据汇总功能,如无法查看一组服务器平均值,需进行二次开发;
5. 数据报表需要特殊二次开发定义;
Prometheus
Prometheus是由SoundCloud开发的开源监控报警系统和时序列数据库(TSDB)。Prometheus使用Go语言开发,是Google BorgMon监控系统的开源版本。由Google发起Linux基金会旗下的原生云基金会(Cloud Native Computing Foundation), 将Prometheus纳入其下第二大开源项目。Prometheus目前在开源社区相当活跃。Prometheus和Heapster(Heapster是K8S的一个子项目,用于获取集群的性能数据。)相比功能更完善、更全面。Prometheus性能也足够支撑上万台规模的集群。
Prometheus的特点
多维度数据模型。灵活的查询语言。不依赖分布式存储,单个服务器节点是自主的。通过基于HTTP的pull方式采集时序数据。可以通过中间网关进行时序列数据推送。通过服务发现或者静态配置来发现目标服务对象。支持多种多样的图表和界面展示,比如Grafana等。
Nagios
官方网站:/
Nagios是一款开源的企业级监控系统,能够实现对系统CPU、磁盘、网络等方面参数的基本系统监控,以及 SMTP,POP3,HTTP,NNTP等各种基本的服务类型。另外通过安装插件和编写监控脚本,用户可以实现应用监控,并针对大量的监控主机和多个对象 部署层次化监控架构。
Nagios最大的特点是其强大的管理中心,尽管其功能是监控服务和主机的,但Nagios自身并不包括这部分功能代码,所有的监控、告警功能都是由相关插件完成的。
用户群:适合复杂IT环境的企业
优点:
1. 出错的服务器、应用和设备会自动重启,自动日志滚动
2. 配置灵活,可以自定义shell脚本,通过分布式监控模式
3. 支持以冗余方式进行主机监控,报警设置多样
4. 命令重新加载配置文件无需打扰Nagios的运行
anglia
官方网站:http://ganglia.info/
Ganglia是加州大学伯克利分校发起的一个开源集群监控项目,设计之初是用于监控数以千计的网络节点。Ganglia是一个跨平台可扩展的,高性能计算系统下的分布式监控系统。它已被广泛移植到各种操作系统和处理器架构上。
优点:
1. 出错的服务器、应用和设备会自动重启,自动日志滚动
2. 配置灵活,可以自定义shell脚本,通过分布式监控模式
3. 支持以冗余方式进行主机监控,报警设置多样
4. 命令重新加载配置文件无需打扰Nagios的运行
缺点:
1. 事件控制台功能很弱,插件易用性差
2. 对性能、流量等指标的处理不给力
3. 看不到历史数据,只能看到报警事件,很难追查故障原因
4. 配置复杂,初学者投入的时间、精力和成本比较大
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的使用经验和反馈,开发的一套面向互联网的企业级开源监控产品。
优点:
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等)还不支持,很多功能还在不断完善中,另外由于缺少专门的支持,虽然有开放社区,但是解决问题的效率相对较低。