【AICon】探索八个行业创新案例,教你在教育、金融、医疗、法律等领域实践大模型技术! >>> 了解详情
写点什么

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:237511

评论

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

基于 Qt Quick Plugin 快速构建桌面端跨平台组件

网易云信

音视频 qt

飞桨前沿升级、顶级开源项目、产教融合育人,WAVE SUMMIT论坛内容先睹为快!

百度大脑

深度学习 飞桨

千万级学生管理系统考试试卷存储方案设计

Hesher

架构 Architecture 架构实战营 存储系统

2、kafka 2.8.0 源码环境搭建

杨四正

大数据 kafka 消息队列 kafka2.8

iOS开发底层原理技术~RAC深度解析

ios cocoa 程序员 移动开发

聊聊那些小而美的开源搜索引擎

代码先生

搜索引擎 elasticsearch meilisearch

详解JQuery框架的五大选择器

华为云开发者联盟

jquery 选择器 层级选择器 属性选择器 过滤选择器

看完了京东年薪150万的大佬扔给我的“阿里内部Java 成长笔记”,差距不止一点点

Java 程序员 架构 面试 计算机

DEMO WORLD分论坛聊些啥?高端制造、未来出行、皮肤科技、未来产业……

创业邦

创新

普通代码块 静态代码块 构造代码块......傻傻分不清

麦洛

Java

膜拜!Github访问量破百万,阿里内部首次公布的Java10W字面经有多强?

Java 程序员 架构 面试

阿里分布式大神亲码“redis核心技术笔记”,没有废话,全是干货!

Java架构追梦

Java redis 阿里巴巴 架构 架构分布式

BitMap 转置算法:不一样的 Count 求解方式

GrowingIO技术专栏

BitMap

前端实操案例丨如何实现JS向Vue传值

华为云开发者联盟

Vue 大前端 js Promise Vuex state

看MindSpore加持下,如何「炼出」首个千亿参数中文预训练语言模型?

华为云开发者联盟

框架 mindspore 盘古 NLP 大模型 中文预训练模型

深入浅出分布式存储性能优化方案

焱融科技

云计算 分布式 高性能 云存储 超融合

支付中心设计

try catch

支付 支付中心

架构实战营模块3课后作业-基于“自研集群+MySQL存储”的消息队列架构设计方案

吴建中

架构实战营

测试开发网络篇-网络协议简介

禅道项目管理

软件测试 自动化测试 测试开发

Flume的负载均衡load balancer

大数据技术指南

flume 5月日更

520 单身福利|获奖名单公布~

InfoQ写作社区官方

520单身福利 热门活动

Why WebRTC|前世今生

声网

WebRTC RTC

java性能分析与问题定位 实战

try catch

Java 性能分析

SparkStreaming知识点总结

五分钟学大数据

大数据 5月日更

Serverless:这真的是未来吗?(二)

Serverless Devs

Serverless 运维 云原生 后端 无服务器

从酷睿双核到Tiger Lake-H,英特尔如何帮游戏笔记本完成蜕变

E科讯

多线程 VS 多进程(一)

若尘

多线程 多进程 Python编程 5月日更

基础设施设施即代码(IaC)平台 Pulumi | 混合云管理利器

郭旭东

基础设施即代码 IaC

HIVE跑个insert into select xxx 为什么CPU飙高

InfoQ_Springup

hadoop

JavaScript+TensorFlow.js让你在视频中瞬间消失

不脱发的程序猿

JavaScript 人工智能 开源 TensorFlow.js

测试开发专题-开篇

禅道项目管理

软件测试 自动化测试 测试开发

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