2天时间,聊今年最热的 Agent、上下文工程、AI 产品创新等话题。2025 年最后一场~ 了解详情
写点什么

7 款你不得不了解的开源云监控工具

  • 2020-04-23
  • 本文字数:2690 字

    阅读完需:约 9 分钟

7款你不得不了解的开源云监控工具

云计算作为 IT 基础设施的交付和使用模式,通过网络以按需、易扩展的方式获得所需的资源。而云平台聚集了大量软硬件资源,并采用虚拟化技术实现动态按需提供需要服务,值得注意的是,随着企业上“云”风潮席卷而来的同时,为了确保云平台的正常运转,云监控工具为开发人员和管理员,监控和管理云应用程序提供了大大的帮助。


在云中,开源工具和应用程序能够提升 DevOps 的效率,日志记录和监视解决方案尤甚。监控云平台,应用程序和组件以及处理和分析日志对于确保高可用性、高性能、低延迟等至关重要。根据 RightScale“云计算状况调查报告”报告所指出的,最常见的云优化行为(由 45%的企业和中小型企业关注)就是监控。


但是,有些公有云平台提供的原生监控工具,往往存在着无法适当监控和管理云应用程序等不足,此时,开源云监控的优势便得以显现。本文将为大家盘点 7 款超实用开源云监控工具。

1、原生云应用程序中最受认可的时间序列监控解决方案——Prometheus

Prometheus 功能丰富,它提供一系列定制选项,可与第三方可视化工具(包括 Grafana)集成,还提供本地可视化引擎。并提供一个 API,用于将数据发送到外部工具,用户可以使用名为 PromQL 的特殊查询语言准备用于解释的监控数据。 毫不夸张的说,Prometheus 是当今最强大的开源云监控工具之一。


即将于本月 GA 的 Rancher 2.2 和 Prometheus 进行了增强集成,将为跨多个 Kubernetes 集群和多个隔离租户环境提供更高的可见性,也是唯一一个在多集群、多租户环境中支持 Prometheus 的解决方案。



Prometheus 也有自己的不足,例如它不是日志管理工具,不提供自动异常检测,同时,其原生可视化相对基础。但是,就像和 Rancher 集成一样,它可以通过集成其他工具或平台扩展用户的可视化选项。

2、开发者最熟悉的开源云监控工具——Graphite

Graphite 是应用程序监控度量值的可视化工具,包括三个组件 (Carbon, Whisper, 和 Graphite-web),它的开源特性使得它能被方便定制和改进。



Graphite 提供了强大的查询访问 API 和特性丰富的设置。它并不需要设置自身的度量,而是提供 Graphite metric protocol ,被多种度量采集器选择的事实协议格式。因此,输入给它的数据完全不是问题。使用 Graphite 能使你为你的应用创建各种视图。

3、互联网用户中使用最广的监控软件——Zabbix

Zabbix 是一个基于 WEB 界面的提供分布式系统监控以及网络监控功能的企业级开源运维平台,也是目前国内互联网用户中使用最广的监控软件,几乎 85%以上用户在使用 Zabbix 做监控解决方案。



其入门容易、上手简单、功能强大并且开源免费是用户对 Zabbix 的最直观评价,Zabbix 易于管理和配置,能生成比较漂亮的数据图,其自动发 现功能大大减轻日常管理的工作量,丰富的数据采集方式和 API 接口可以让用户灵活进行数据采集,而分布式系统架构可以支持监控更多的设备。理论上,通过 Zabbix 提供的插件式架构,可以满足企业的任何需求。


需要告知广大开发者,它也存在着一定的局限性。例如,项目批量修改不方便;社区虽然成熟,但是中文资料相对较少,服务支持有限;深层次需求需要非常熟悉 Zabbix 并进行大量的二次定制开发,难度较大;系统级别报警设置相对比较多,如果不筛选的话报警邮件会很多;并且自定义的项目报警需要自己设置,过程比较繁琐。当然,经过综合评测,这款开源监控软件仍被定义为五星级推荐。

4、鲜为人知但值得考虑的 cAdvisor

cAdvisor 提供了一目了然的单节点多容器的资源监控功能。Google 的 Kubernetes 中也缺省地将其作为单节点的资源监控工具,各个节点缺省会被安装上 cAdvisor。总结起来主要两点:展示 Host 和容器两个层次的监控数据;展示历史变化数据。



美中不足的是,由于 cAdvisor 提供的操作界面略显简陋,而且需要在不同页面之间跳转,并且只能监控一个 host,这不免会让人质疑它的实用性。但 cAdvisor 的一个亮点是它可以将监控到的数据导出给第三方工具,由这些工具进一步加工处理。我们可以把 cAdvisor 定位为一个监控数据收集器,收集和导出数据是它的强项,而非展示数据。

5、满足大部分人需求的 Riemann

Riemann 提供了一个单一直接的工具来监控分布式应用程序和基础设施。该开源软件使开发人员可定义需要监控的各种类型的事件,以及流—可在发生特定类型的事件时生成警报。开发人员还可配置流以发送电子邮件通知或通过 Slack 发送有关事件的警报。



拥有高定制化、事件处理低延迟、持多种语言的客户端、监控数据图形化、告警方式多样化等优点。但同样存在必须时间同步、内存消耗大、不支持集群等不足。

6、搜索功能最实用的 Elasticsearch

Elasticsearch 是一个实时的分布式搜索和分析引擎。它可以帮助你用前所未有的速度去处理大规模数据。它可以用于全文搜索,结构化搜索以及分析,也可以将这三者进行组合。作为建立在全文搜索引擎 Apache Lucene™ 基础上的搜索引擎,可以说 Lucene 是当今最先进,最高效的全功能开源搜索引擎框架。



因为 Elasticsearch 是分布式的,所以,它不需要其他组件,分发是实时的,除此,Elasticsearch 完全支持 Apache Lucene 的接近实时的搜索。处理多租户不需要特殊配置,而 Solr 则需要更多的高级设置。采用 Gateway 的概念,使得完备份更加简单。各节点组成对等的网络结构,某些节点出现故障时会自动分配其他节点代替其进行工作。


其缺点则是只有一名开发者(当前 Elasticsearch GitHub 组织已经不只如此,已经有了相当活跃的维护者),且还不够自动(不适合当前新的 Index Warmup API)。

7、拥有强大管理中心的 Nagios

Nagios 是一款开源的企业级监控系统,能够实现对系统 CPU、磁盘、网络等方面参数的基本系统监控,以及 SMTP,POP3,HTTP,NNTP 等各种基本的服务类型。适合用户群为复杂 IT 环境的企业,最大的特点是其强大的管理中心,尽管其功能是监控服务和主机的,但 Nagios 自身并不包括这部分功能代码,所有的监控、告警功能都是由相关插件完成的。



拥有诸多较为明显的优势,出错的服务器、应用和设备会自动重启,自动日志滚动;配置灵活,可以自定义 shell 脚本,通过分布式监控模式;并支持以冗余方式进行主机监控,报警设置多样,以及命令重新加载配置文件无需打扰 Nagios 的运行。


缺点为事件控制台功能很弱,插件易用性差;对性能、流量等指标的处理不给力;看不到历史数据,只能看到报警事件,很难追查故障原因;配置复杂,初学者投入的时间、精力和成本比较大。


总之,任何产品在有优点的同时,一定伴随着缺点,这也为开发者与管理者们提供了较为明确的选择方案。快速迭代的产品需求和良好的用户体验,不仅要求开发者们应加强对云平台的多方监管,更需要大家时刻保障核心业务的稳定。


2020-04-23 17:239218

评论

发布
暂无评论
发现更多内容

Alibaba内部“Java架构核心宝典”来袭,全新技术限时开源

Java 编程 程序员 架构 面试

金融级分布式事务解决方案DTC

tom

JavaScript进阶(七)call, apply, bind

Augus

JavaScript 9月日更

玩转TypeScript工具类型(下)

有道技术团队

typescript 大前端 网易有道

我愿意招什么样的产品经理?

石云升

产品经理 招聘 9月日更

与顶级互联网公司技术大佬面对面聊聊RocketMQ

阿里巴巴云原生

阿里云 RocketMQ 云原生

直播预告|如何节省30%人工成本,缩短80%商标办理周期?

京东科技开发者

商标 企业服务 灵活用工

iOS开发面试拿offer攻略之数据结构与算法篇附加安全加密

iOSer

ios 数据加密 iOS面试 iOS逆向 iOS算法

dubbo-go github action 集成测试

apache/dubbo-go

dubbo-go Apache Dubbo Dubbo3

区块链军事应用探析

CECBC

堡垒机作用之事后审计详细讲解-行云管家

行云管家

运维 网络安全 运维审计 事后审计

幻读是啥,会有什么问题?如何解决?

Java MySQL 数据库 面试 后端

通俗易懂 即时通讯初学者入门 WhatsApp技术架构

OpenIM

Go 语言网络库 getty 的那些事

apache/dubbo-go

dubbo Go 语言 Dubbo3

【音视频专题】音频质量评估方法那些事

声网

算法 音视频

和声是容介态——为《链政经济:区块链如何服务新时代治国理政》一书作序

CECBC

服务实体经济,银行区块链应用正在画一个更大的圆

CECBC

深入理解掌握零拷贝技术

Linux服务器开发

网络协议 零拷贝 Linux服务器开发 Linux内核 用户态

2021年公有云市场的5大趋势

云计算

Tapdata 实时数据中台在智慧教育中的实践

tapdata

Mp3文件结构全解析(一)

轻口味

android 音视频 9月日更

【初恋系列】那年的雨还在下...

人工智能~~~

千万级数据迁移与分表的技术方案-企业产品实战

谙忆

Java 后端 分库分表 引航计划

作为一线技术人员,如何更好地提升自己

谙忆

管理 成长 引航计划

低代码应用:软件开发的一体化最新形态!

优秀

低代码

银行数字化转型指南:《区域性银行数字化转型白皮书》完整版重磅发布

百度开发者中心

最佳实践 银行数字化转型

汽车之家基于dubbo-go云平台的探索和实践

apache/dubbo-go

dubbo dubbo-go dubbogo Dubbo3

基于Tensorflow + Opencv 实现CNN自定义图像分类

华为云开发者联盟

tensorflow KNN OpenCV CNN

二十不惑的年纪,我简直走了狗屎运(4面拿字节跳动offer)

Java 程序员 架构 面试 计算机

网络攻防学习笔记 Day144

穿过生命散发芬芳

高可用 9月日更

国庆高质量出行,可视化开启智慧旅游

ThingJS数字孪生引擎

大前端 物联网 可视化 旅游 数字孪生

7款你不得不了解的开源云监控工具_文化 & 方法_Rancher_InfoQ精选文章