zabbix、Cacti、Nagios、open-falcon、Ganglia、Prometheus开源监控比较
阅读原文时间:2021年06月03日阅读:1

Zabbix

一个基与WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案(普遍)

  能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题

    优点

   1、支持多平台的企业级分布式开源软件

2、安装简单、多种数据采集方式灵活集成

3、可以实现复杂的多条告警

4、自带画图功能

5、支持API接口、支持调用脚本

6、出现问题时可以自动执行远程命令

缺点

1、项目多项修改不方便

2、没有告警收敛功能

3、缺少数据汇总功能、数据报表要二次开发

4、数据量大时、展示需直接读取数据库易卡慢

  

  zabbix 主要由2部分构成 zabbix server和 zabbix agent

  zabbix proxy是用来管理其他的agent,作为代理

  1、zabbix server:负责接收 agent 发送的报告信息的核心组件,所有配置、统计数据及操作数据都由它组织进行;

  2、database:专用于存储所有配置信息,以及由 zabbix 收集的数据;

  3、web:zabbix 的 GUI 接口;

  4、proxy:可选组件,常用于监控节点很多的分布式环境中,代理 server 收集部分数据转发到 server,可以减轻 server 的压力;

  5、agent:部署在被监控的主机上,负责收集主机本地数据如 cpu、内存、数据库等数据发往 server 端或 proxy 端;

Cacti

  一套基于 PHP、MySQL、SNMP 及 RRDTool 开发的网络流量监测图形分析工具

优点

1、基于RRDtool使效率提高

 Cacti基于RRDtool存储监控数据,在查询指定时间段的监控数据时候不用浏览整个数据文件,和 mrtg 的文本log相比具有更高的效率。监控曲线图片的生成并不想 mrtg 那样和数据采集同步并定时成生,而是通过RRDtool提供的图片生成工具使用PHP脚本来生成动态web图片

2、监控项目曲线图多样化

RRDtool的图片生成工具提供了多种参数,这样可以动态设置更多样式的曲线图,也可以将若干监控项目集中显示在一张图片中,例如我们如果要同时显示http/ftp/dns多种协议的流量时就可以派上用场了。当然,其他如颜色,曲线样式,图片大小格式,说明文字等都可以定制产生

3、可扩展性

 Cacti支持超过二十种的插件,丰富的插件资源,大大提高了cacti的功能

4、基于web配置与监控,操作简单

 Cacti是一种web方式的软件,监控项目的新建、配置、管理、监控都是基于web方式来操作的,这对于使用者来说是非常舒服的 

缺点

1、新建模板还是获取OID值都非常繁琐,很不方便

2、SNMP协议的安全性不高

  

  基于SNMP协议,被监控端是服务器,或一些网络设备,网络管理工作站,采用Linux或Freebsd操作系统,并且安装Net-SNMP工具,使用RRDTOOL采集数据,存储数据,并用Cacti调用rrdtool显示出来

Nagios

  一款开源的免费网络监视工具,能有效监控Windows、Linux和Unix的主机状态,交换机路由器等网络设备,打印机等

  在系统或服务状态异常时发出邮件或短信报警第一时间通知网站运维人员,在状态恢复后发出正常的邮件或短信通知

    优点

1、出错的服务器、应用和设备会自动重启、自动日志滚动

2、配置灵活、可以自定义shell脚本、通过分布式监控模式

3、支持以冗余方式进行主机监控、报警设置多样

4、命令重新加载配置文件无需打扰Nagios的运行

缺点

1、事务控制台功能弱、插件易用性差

2、对性能、流量等指标处理不给力

3、无历史数据、难追查故障原因

4、配置复杂、初学者费时长

 

  NSCA:Nagios服务检查接收器

  从一个或多个Nagios实例导出当前和历史数据到MySQL数据库。

  1、Nagios执行安装在它里面的check_nrpe插件,并告诉check_nrpe去检测那些服务。

  2、通过SSL,check_nrpe链接远端机子上的NRPE 的deamon

  3、NRPE 运行本地的各种插件去检测本地的服务和状态(check…disk…etc)

  4、最后,NRPE把检测的结果传给主机端的check_nrpe,check_nrpe再把结果送到Nagios状态队列中。

  5、Nagios依次读物队列中的信息,再把结果显示出来。

open-falcon

  小米开源监控

  一款企业级,高可用,可拓展的开源监控解决方案

   优点

1、自动发现、支持 falcon-agent、snmp、支持用户主动 push、用户自定义插件支持

2、支持单周期亿次的数据采集、告警判定、历史数据存储和查询

3、支持策略模版、模版继承和覆盖、多种告警方式、支持 callback调用

4、单机支撑200万 metric 的上报、归档、存储

5、采用 rrdtool 的数据归档策略

6、多维度数据展示、用户自定义Screen

缺点

1、发布时间较短、部分功能有待完善

2、dashbord 上报为时间维度(分钟粒度)、不支持其他维度统计

3、不支持很多基础的服务监控插件

 https://www.cnblogs.com/xiaonq/p/10550370.html详情可点击

Ganglia

  一个跨平台可扩展的,高性能计算系统下的分布式监控系统,如集群和网格

  是基于分层设计,它使用广泛的技术,如XML数据代表,便携数据传输,RRDtool用于数据存储和可视化

    优点

1、rrd文件存储、可以结合分布式文件系统存储更多历史数据

2、安装配置简单、不用每台机器添加配置

3、工具是2000年作者分享了源码、经历了岁月的打磨

4、支持分层管理上万机器

5、可以自定义监控项、表格图像两种、支持手机版

缺点

1、没有告警机制和消息通知机制

  1、gmond用于节点信息的收集和存储

    收集:一般用于收集本节点,用gmond.conf的udp_rev_channel来配置

    存储:并不是所有的gmond的都用来存储,可以找出其中的一台或者几台来存储即可,用gmond.conf的udp_send_channel来配置。

    各个gmond节点之间的信息发送接收主要用udp协议

  2、gmetad 用于轮询gmond节点存储的信息,可以配置轮询的gmond节点,通过source 参数配置。

    这里的gmond节点就是上面udp_send_channel所配置的节点,可以是hostname或者ip

  3、rrdtool 用于存储数据,和画图 rrdtool 把gmetad轮询收集到的数据持久化磁盘文件中,并且还可以利用这些数据画图,更好的展示这些数据

Prometheus

  一个开源的服务监控系统和时间序列数据库

   优点

1、go编写、性能好

2、支持多客户端(sdk)

    3、支持pull和push模式

4、支持多种数据展示(grafana)

5、服务自动发现

6、设计思路只要 for分布式系统与微服务

    7、存储使用监控比较流行的时序数据库

缺点

1、dashboard 页面渲染速度较慢

2、相关材料文档描述不全面

  

  Prometheus server 收集和存储时间序列数据主服务器

  client libraries 用于检测应用程序代码客户端库

  push gateway 支持短期工作的推送网关

  alertmanager 用于处理警报的警报管理器

手机扫一扫

移动阅读更方便

阿里云服务器
腾讯云服务器
七牛云服务器

你可能感兴趣的文章