写点什么

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

评论

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

2021最新网易Java面经,面试必会

Java 程序员 面试 后端

kubernetes/k8s CRI 分析 - 容器运行时接口分析

良凯尔

Kubernetes 源码分析 Kubernetes Plugin #Kubernetes# cri-o

350道Java面试真题分享,王者笔记!

策划Java工程师

Java 程序员 面试 后端

35岁程序员半月4轮面试,HR的话扎心了

策划Java工程师

Java 程序员 面试 后端

来自跨越边界的急件,我推荐你用这三步,走出锁住你的圈套。

叶小鍵

中大型组织 DevOps 成熟度模型设计

Phodal

DevOps thoughtworks phodal

2021最新腾讯Java高级面试题总结,Java篇

Java 程序员 面试 后端

25K大牛甩出的超详细面试总结,砥砺前行!

策划Java工程师

Java 程序员 面试 后端

25K大牛甩出的超详细面试总结,已获万赞

策划Java工程师

Java 程序员 面试 后端

【Flutter 专题】131 图解 AnimatedList 动画列表

阿策小和尚

Flutter 小菜 0 基础学习 Flutter Android 小菜鸟 8月日更

2021谈一下当下最合适的Java架构,神操作!

Java 程序员 面试 后端

35岁以后的Java程序员出路在哪里?最全的BAT大厂面试题整理

策划Java工程师

Java 程序员 面试 后端

35岁的程序员被裁,电子版已问世

策划Java工程师

Java 程序员 面试 后端

Python 数值中的下划线是怎么回事?

Python猫

Python

🏆【Java技术之旅】教你如何使用异步神器CompletableFuture

码界西柚

Java 异步编程 8月日更 CompetableFuture

2021最新Java高频精选面试题讲解,绝对干货

Java 程序员 面试 后端

2021网易Java高级面试题总结,面试篇

Java 程序员 面试 后端

34岁Java开发大叔感慨,100%好评!

策划Java工程师

Java 程序员 面试 后端

Linux之vmstat命令

入门小站

Linux

2021最新华为Java校招面试题,看完直呼内行

Java 程序员 面试 后端

Vue进阶(幺捌零):JS 向 Vue 传值

No Silver Bullet

Vue 8月日更

如何做分库分表,常见方案汇总

架构精进之路

MySQL 分库分表 8月日更

在线生成制作Pornhub的微信公众号封面图

入门小站

工具

35岁程序员半月4轮面试,项目实战

策划Java工程师

Java 程序员 面试 后端

Vue进阶(幺柒幺):前端用户体验提升(五)Flex实现弹性布局

No Silver Bullet

Vue Flex 8月日更

2021谈一下当下最合适的Java架构,感悟分享

Java 程序员 面试 后端

20道高频面试题(含答案),看完豁然开朗

Java 程序员 面试 后端

35岁的程序员被裁,90%的人看完都说好

策划Java工程师

Java 程序员 面试 后端

恐惧和自我偏见 -- 成长的最大障碍

俞凡

认知

架构实战营 模块 4 作业

Geek_8c5f9c

架构实战营

2021最新阿里Java面经,一篇文章帮你解答

Java 程序员 面试 后端

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