满堂花醉三千客,一剑霜寒十四洲。这篇文章主要讲述常用开源监控系统分析推荐(必备知识)相关的知识,希望能为你提供帮助。
作者:Ethan Chen ,云智慧解决方案架构师,拥有丰富的运维理论及实战经验。致力于将客户需求有效地转化为公司产品场景,让客户更有效率地理解公司产品并为其提供优质的技术支撑。
开源监控软件的前世今生如下面谷歌趋势图所示(因有些单词有二义性,具体数值可忽略,只看趋势),与其他开源监控产品相比,2004 年的Nagios仍处在较高位置,但由于Nagios没有紧跟容器脚步、且配置复杂等缺点导致热度直线式下降。反观Zabbix,从2004年至今,由于其监控的全面性,使得其热度一直处于平稳上升阶段。此外,基于RRD存储开发的Ganglia与Cacti由于产品自身的一些缺点,热度也在逐渐下降。下文我们将详细介绍各个产品的具体情况。
文章图片
古代(2000-2010) Zabbix(2004)Zabbix于1998年开发,2004年正式Release。较于其他开源监控产品,Zabbix拥有强大的指标数据存储功能、画图功能,并且真正地做到了All in One全面监控,解决了运维人力和时间成本上的问题。
基于以上功能优点,以及大量完善的教程文档,Zabbix在国内迅速传播发展。现如今,Zabbix已经进入了5.X时代,前端界面的优化、ES及TimescaleDB等时序数据库的支持,使得Zabbix又步入了一个的新的时代。
文章图片
优势
- 丰富的插件。Zabbix拥有丰富的MiB库资源以及模版等850多个插件;
- 易用性、依赖少。基于php与mysql搭建,可用性比较强;
- 可进行一定颗粒度的权限控制;
- 文档完善。Zabbix本身定位为企业级分布式监控系统,故拥有完善的文档,活跃的官方社区,且本身也更新得比较频繁,开发比较积极;
- 国内市场有相关的商业支持。
- MySQL数据量问题。当MySQL数据量比较大时,存储性能容易出现问题;
- 可视化问题。自身可视化灵活性较差,需用Grafana等进行弥补;
- 功能使用率低,80%的用户使用的仍为监控、看图、告警等基础功能,大部分高级功能未能被使用。
- 监控基础设施。主机、网络设备监控等;
- 中小规模监控;
- 对于大型场景的监控来说仍需注意数据问题。
Nagios拥有4000多个插件,且在很早之前就开始拥有自己的官方插件社区。这里面包括很多应用级别的监控插件。此外,Nagios的通知虽然简单但能覆盖所有场景,以及本身拥有强大的监控任务调度的能力。
文章图片
优势
- 功能简单易用,主要的功能是主动检测。
- 功能过于单一,只能通过主动检测告知结果是否匹配,被动检测功能原生功能较弱;
- 配置复杂,配置修改主机、报警、阈值等时,在原生Nagios中只能通过修改配置文件来实现,操作较为复杂。
- 小场景简单监控。对于一些网站、端口等可进行简单监控;
- 大型场景需要各种花式Hack,需要借助很多第三方的插件进行效率的提升和分布式的扩展。
文章图片
优势
- 界面友好
- 维护方便
- 统一管理
- 性能数据可追溯
- 修改配置需要重启或者重载Nagios主进程
- MySQL依然存在数据问题
- 文档资料较少
- 适用于百台规模的中等监控
- 仍需要解决原生Nagios的一些弊端
文章图片
优势
- 界面友好
- 维护方便
- 统一管理
- 性能数据可追溯
- 增加变更需要重启Nagios主进程。
- 因后端存储使用RRD,导致分布式扩展较为困难。
- 文档资料较少。
- 适用于百台到千台以内中等规模监控
- 需要解决Nagios的一些弊端
文章图片
优势
- 网络设备支持好
- 有权限控制
- 有汉化版
- 早期在IDC覆盖广
- SNMP依赖只适合特性场景
- 资料老旧
- 简单的IDC托管
- 网络运维
文章图片
优势
- 数据集中,部署分布式
- 适合大规模部署
- 对集群热点观测性支持较好
- 无告警
- 集群内UDP广播问题多
- 大数据应用
- 集群较多,关注整体资源使用率
文章图片
优势
- 全球分布式监测网络。200+ 分布式监测节点覆盖全球112个城市以及主要运营商网络,网络规模持续扩大中。
- 主动监测。监测节点按照预设规则模拟真实用户发起主动监测,实时掌控网络性能,聚焦用户体验。
- 立体化覆盖。HTTP/HTTPS/TCP/UDP/TR/DNS/PING等多种协议类型,全面问诊网络、业务健康。
- 面向业务。通过包含多步请求的事物监控实现业务流程的监测,保障业务的稳定性和可用性。
- 持续监控。24/7小时全天候监测网站和网络性能,多渠道服务支持,减少可能发生的中断。
- 快照+MTR。先进的问题诊断与分析机制,问题发生之前和问题恢复之后的数据尽在掌握,快速定位故障。
- 灵活告警。短信、邮件、微信、语音、API等多种告警方式,确保告警能够被即时送达。
- 专业的分析报告。提供综合排名、竞品分析、同比/环比、日/周报等多维度的数据报告,满足专业化定制需求。
- 网络链路质量监控与评估。通过采集不同地区、不同运营商链路的时延、丢包、网络抖动情况,从时间、地域、运营商等维度综合分析网络链路质量及可用率,快速发现和准确定位网络问题,便于及时进行链路调整,保障全网用户的体验。
- CDN监控。通过海量的分布式节点模仿真实用户访问,监控CDN性能,评估CDN的加速情况,确保最佳的用户体验,可用于CDN选型评估、CDN加速效果评估、CDN故障排查与定位等使用场景。
- API接口监测。通过监控API接口的响应时间、可用性和正确性并及时告警来保证API服务的可靠性,可用于API接口性能优化、第三方API接口监控等使用场景。
文章图片
优势
- 指标点分概念引入
- Grafana支持较早的协议之一
- 统计函数支持(140+)
- 指标无Label支持
- 在做好数据归并时可用于大规模场景
文章图片
优势
- 时序型存储、查询效率高。
- 支持集群模式,扩展性强。
- CNCF项目,社区活跃。
- 一些Exporter采集的指标众多,需进行适当裁剪。
- 自定义采集脚本需要脚本开发能力(Golang、python),相比Shell脚本来说学习成本更高一些。
- 对于云计算、容器化场景更适合
文章图片
优势
社区活跃,有open-falcon群众基础。
产品设计灵活,人性化。
v4版本自带小型CMDB和自动化。
v5版本全面拥抱开源体系(Prometheus Telegraf)。
劣势
v5刚发布,仍然需要一定的时间积累
后端存储的选型多样,需要根据场景进行选择
缺少日志类和Tracing类的监控场景
使用场景分析
所有指标类的监控
未来(2022-)云原生的出现导致在k8s环境下的可观测性难度极具增加,因此出现了eBPF等新技术,但无奈市场上大部分的客户Linux内核还不足以支持相关的技术。但可以看到的是DataDog skywalking 云杉等目前都在向eBPF进行布局。
除了增强程序自身的可观测性之外,可以预见在不久的将来,随着Linux内核的不断的完善以及客户环境逐渐的成熟。在运维角度可以发力的可观测性的选择一定会越来越多。
推荐阅读
- 17个显示彩色字符的批处理代码
- Ubuntu使用smbclient
- 简单介绍PostgreSQL解析URL的方法
- 零声dpdk网络协议栈
- ES相关的操作语句
- 爱今天,迎明天,过好今生每一天
- 深度学习优化算法总结与实验
- 一无所长的情况下可以学点自己想干的技能
- 五险一金对工薪族讲十分重要