👉 这是一个或许对你有用的社群

🐱 一对一交流/面试小册/简历优化/求职解惑,欢迎加入「芋道快速开发平台」知识星球。下面是星球提供的部分资料: 

87466c423502293a21fd386970cfac75.gif

👉这是一个或许对你有用的开源项目

国产 Star 破 10w+ 的开源项目,前端包括管理后台 + 微信小程序,后端支持单体和微服务架构。

功能涵盖 RBAC 权限、SaaS 多租户、数据权限、商城、支付、工作流、大屏报表、微信公众号等等功能:

  • Boot 地址:https://gitee.com/zhijiantianya/ruoyi-vue-pro

  • Cloud 地址:https://gitee.com/zhijiantianya/yudao-cloud

  • 视频教程:https://doc.iocoder.cn

来源:my.oschina.net/yunzhi
hui/blog/5394924

46192b4570e7eb1ec80db7d8ce2595a8.jpeg


前面介绍了 企业级监控概述及发展、企业监控运维、常见运维工具、数据库监控等相关的知识点,今天我将详细的为大家介绍企业常用监控 Nagios、Zabbix、Prometheus 等介绍与对比相关知识,希望大家能够从中收获多多!如有帮助,请点在看、转发朋友圈 支持一波!!!

在互联网信息爆炸式快速发展的今天,各类复杂多样的平台系统相继涌出。如何选择最佳的监控产品以更好地维护这些平台和系统是每个 IT 人员都需面临的难题。本文将从开源监控产品的起源和发展,详细解析各个时代热门监控产品的优势和劣势,并结合各个监控产品的使用场景,帮你选择出最适合自己的开源监控产品。

开源监控软件的前世今生

如下面谷歌趋势图所示(因有些单词有二义性,具体数值可忽略,只看趋势),与其他开源监控产品相比,2004 年的Nagios仍处在较高位置,但由于Nagios没有紧跟容器脚步、且配置复杂等缺点导致热度直线式下降。反观Zabbix,从2004年至今,由于其监控的全面性,使得其热度一直处于平稳上升阶段。

此外,基于RRD存储开发的Ganglia与Cacti由于产品自身的一些缺点,热度也在逐渐下降。下文我们将详细介绍各个产品的具体情况。

df1270fc2f2360b13fffe825227617eb.png

基于 Spring Boot + MyBatis Plus + Vue & Element 实现的后台管理系统 + 用户小程序,支持 RBAC 动态权限、多租户、数据权限、工作流、三方登录、支付、短信、商城等功能

  • 项目地址:https://github.com/YunaiV/ruoyi-vue-pro

  • 视频教程:https://doc.iocoder.cn/video/

古代(2000-2010)

Zabbix(2004)

Zabbix于1998年开发,2004年正式Release。较于其他开源监控产品,Zabbix拥有强大的指标数据存储功能、画图功能,并且真正地做到了All in One全面监控,解决了运维人力和时间成本上的问题

基于以上功能优点,以及大量完善的教程文档,Zabbix在国内迅速传播发展。现如今,Zabbix已经进入了5.X时代,前端界面的优化、ES及TimescaleDB等时序数据库的支持,使得Zabbix又步入了一个的新的时代。

1ba36423ffa77170fa165c00a3d97835.png
优势
  • 丰富的插件 。Zabbix拥有丰富的MiB库资源以及模版等850多个插件;

  • 易用性、依赖少 。基于PHP与MySQL搭建,可用性比较强;

  • 可进行一定颗粒度的权限控制

  • 文档完善 。Zabbix本身定位为企业级分布式监控系统,故拥有完善的文档,活跃的官方社区,且本身也更新得比较频繁,开发比较积极;

  • 国内市场有相关的商业支持。

劣势
  • MySQL数据量问题。当MySQL数据量比较大时,存储性能容易出现问题;

  • 可视化问题。自身可视化灵活性较差,需用Grafana等进行弥补;

  • 功能使用率低,80%的用户使用的仍为监控、看图、告警等基础功能,大部分高级功能未能被使用。

使用场景分析
  • 监控基础设施。主机、网络设备监控等;

  • 中小规模监控;

  • 对于大型场景的监控来说仍需注意数据问题。

Nagios(2002)

Nagios是一个主要用于监控系统运行状态和网络信息的监控系统。Nagios能监控所指定的本地或远程主机以及服务,同时提供异常通知等功能。

Nagios拥有4000多个插件,且在很早之前就开始拥有自己的官方插件社区。这里面包括很多应用级别的监控插件。此外,Nagios的通知虽然简单但能覆盖所有场景,以及本身拥有强大的监控任务调度的能力。

37ed9dbd6ad6b07ad3dc3cfabc696590.png
优势
  • 功能简单易用 ,主要的功能是主动检测。

劣势
  • 功能过于单一,只能通过主动检测告知结果是否匹配,被动检测功能原生功能较弱;配置复杂,配置修改主机、报警、阈值等时,在原生Nagios中只能通过修改配置文件来实现,操作较为复杂。

使用场景
  • 小场景简单监控。对于一些网站、端口等可进行简单监控;

  • 大型场景需要各种花式Hack,需要借助很多第三方的插件进行效率的提升和分布式的扩展。

Centreon(2005)

Centreon是一款开源的软件,主要用于对Nagios的一些功能增强。可通过页面管理Nagios,通过第三方插件实现对网络,操作系统,应用程序的监控。

6d08ad3e407682d6c4e3f0d414387ca5.png
优势
  • 界面友好

  • 维护方便

  • 统一管理

  • 性能数据可追溯

劣势
  • 修改配置需要重启或者重载Nagios主进程

  • MySQL依然存在数据问题

  • 文档资料较少

使用场景分析
  • 适用于百台规模的中等监控

  • 仍需要解决原生Nagios的一些弊端

Check_MK

Check_MK是一款通用的Nagios/Icinga增强工具集。其插件有着相当成熟的检测机制和对硬件服务器的检测手段。非常适合对硬件服务器进行“体检”。

7208121832428e365525220d3fda51cd.png
优势
  • 界面友好

  • 维护方便

  • 统一管理

  • 性能数据可追溯

劣势
  • 增加变更需要重启Nagios主进程。

  • 因后端存储使用RRD,导致分布式扩展较为困难。

  • 文档资料较少。

使用场景分析
  • 适用于百台到千台以内中等规模监控

  • 需要解决Nagios的一些弊端

Cacti(2001)

Cacti是用PHP语言实现的一个监控软件,它的主要功能是用SNMP服务获取数据,然后用RRD储存和更新数据,当用户需要查看数据的时候用RRD生成图表呈现给用户。

deceb579c444b5f199c9c3bf55e694ef.png
优势
  • 网络设备支持好

  • 有权限控制

  • 有汉化版

  • 早期在IDC覆盖广

劣势
  • SNMP依赖只适合特性场景

  • 资料老旧

使用场景分析
  • 简单的IDC托管

  • 网络运维

Ganglia(2001)

Ganglia是UC Berkeley发起的一个开源集群监视项目,设计用于测量数以千计的节点。主要是用来监控系统性能,如:CPU 、内存、硬盘利用率, I/O负载、网络流量情况等。

36230c389a2494f4e23851ee354baca5.png
优势
  • 数据集中,部署分布式

  • 适合大规模部署

  • 对集群热点观测性支持较好

劣势
  • 无告警

  • 集群内UDP广播问题多

使用场景分析
  • 大数据应用

  • 集群较多,关注整体资源使用率

基于 Spring Cloud Alibaba + Gateway + Nacos + RocketMQ + Vue & Element 实现的后台管理系统 + 用户小程序,支持 RBAC 动态权限、多租户、数据权限、工作流、三方登录、支付、短信、商城等功能

  • 项目地址:https://github.com/YunaiV/yudao-cloud

  • 视频教程:https://doc.iocoder.cn/video/

近代(2010-2015)

监控宝( 2010)

监控宝是云智慧推出的新一代用户体验监控工具,从全球节点主动模拟真实用户访问,提供网站性能监控、API监控等服务,持续监测应用程序、网站、网络和数字化服务的可用性和性能,提前诊断,实时告警,帮助客户提升网络应用效能。

0cbe007b44bfa061b0d75d59ec2d6bb4.png
优势
  • 全球分布式监测网络。200+ 分布式监测节点覆盖全球112个城市以及主要运营商网络,网络规模持续扩大中。

  • 主动监测。监测节点按照预设规则模拟真实用户发起主动监测,实时掌控网络性能,聚焦用户体验。

  • 立体化覆盖。HTTP/HTTPS/TCP/UDP/TR/DNS/PING等多种协议类型,全面问诊网络、业务健康。

  • 面向业务。通过包含多步请求的事物监控实现业务流程的监测,保障业务的稳定性和可用性。

  • 持续监控。24/7小时全天候监测网站和网络性能,多渠道服务支持,减少可能发生的中断。

  • 快照+MTR。先进的问题诊断与分析机制,问题发生之前和问题恢复之后的数据尽在掌握,快速定位故障。

  • 灵活告警。短信、邮件、微信、语音、API等多种告警方式,确保告警能够被即时送达。

  • 专业的分析报告。提供综合排名、竞品分析、同比/环比、日/周报等多维度的数据报告,满足专业化定制需求。

使用场景分析
  • 网络链路质量监控与评估。通过采集不同地区、不同运营商链路的时延、丢包、网络抖动情况,从时间、地域、运营商等维度综合分析网络链路质量及可用率,快速发现和准确定位网络问题,便于及时进行链路调整,保障全网用户的体验。

  • CDN监控。通过海量的分布式节点模仿真实用户访问,监控CDN性能,评估CDN的加速情况,确保最佳的用户体验,可用于CDN选型评估、CDN加速效果评估、CDN故障排查与定位等使用场景。

  • API接口监测。通过监控API接口的响应时间、可用性和正确性并及时告警来保证API服务的可靠性,可用于API接口性能优化、第三方API接口监控等使用场景。

Graphite(2008)

Graphite是一个开源实时的、显示时间序列度量数据的图形系统,通过其后端接收度量数据,然后以实时方式查询、转换、组合这些度量数据。

4ad955d2c5eb159c9e5ce00686ff2922.png
优势
  • 指标点分概念引入

  • Grafana支持较早的协议之一

  • 统计函数支持(140+)

劣势
  • 指标无Label支持

使用场景分析
  • 在做好数据归并时可用于大规模场景

现代(2015-2021)

Prometheus(2016)

Prometheus 是由 SoundCloud 开源的监控告警解决方案。存储的是时序数据,即按相同时序(相同名称和标签),以时间维度存储连续的数据的集合。

b9ed3533e2975fe3aa72f5a3f3d4c888.png
优势
  • 时序型存储、查询效率高。

  • 支持集群模式,扩展性强。

  • CNCF项目,社区活跃。

劣势
  • 一些Exporter采集的指标众多,需进行适当裁剪。

  • 自定义采集脚本需要脚本开发能力(Golang、Python),相比Shell脚本来说学习成本更高一些。

使用场景分析
  • 对于云计算、容器化场景更适合

夜莺(2018)

夜莺是一套分布式高可用的运维监控系统,前身是国内大名鼎鼎的open-falcon。基于一些国内特殊的运维场景和习惯,在运维圈中有着不俗的场景理解和用户体验。

cc7ff9b1be56b27d1b7b6b71b41ed31a.png
优势
  • 社区活跃,有open-falcon群众基础。

  • 产品设计灵活,人性化。

  • v4版本自带小型CMDB和自动化。

  • v5版本全面拥抱开源体系(Prometheus Telegraf)。

劣势
  • v5刚发布,仍然需要一定的时间积累

  • 后端存储的选型多样,需要根据场景进行选择

  • 缺少日志类和Tracing类的监控场景

使用场景分析
  • 所有指标类的监控

未来(2022-)

云原生的出现导致在k8s环境下的可观测性难度极具增加,因此出现了eBPF等新技术,但无奈市场上大部分的客户Linux内核还不足以支持相关的技术。但可以看到的是DataDog skywalking 云杉等目前都在向eBPF进行布局。

除了增强程序自身的可观测性之外,可以预见在不久的将来,随着Linux内核的不断的完善以及客户环境逐渐的成熟。在运维角度可以发力的可观测性的选择一定会越来越多。


欢迎加入我的知识星球,全面提升技术能力。

👉 加入方式,长按”或“扫描”下方二维码噢

8b6e47782b23968934bfd3665d1357ed.png

星球的内容包括:项目实战、面试招聘、源码解析、学习路线。

c625a6553995c116705c7a321a3c32ef.png

00616eb4a9eb49708e8f6f05b1ff755b.png483c140c423d0e5c52c727ae0fcc8511.png3027ad7280f67bf38d80d3f8c392d9aa.png96eb92a1cf62348744e747b3a74217a6.png

文章有帮助的话,在看,转发吧。
谢谢支持哟 (*^__^*)
Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐