云生态下的开源应用程序监控工具

栏目: IT技术 · 发布时间: 3年前

内容简介:Linux容器已经被业界广泛用于开发甚至生产系统。Docker和Kubernetes已经被开发运营人员广泛了解和熟悉。但是容器云架构下系统监控确实一个常常被忽略的问题。尽管容器部署主要涉及在每个容器内运行单个应用程序或服务,但是随着部署规模的扩大,对环境状态和运行状况的可见性变得越来越重要,而不仅仅是在操作系统或应用程序级别,而且在容器级别也是如此。云生态监控和日志处理领域分为实时数据库,度量标准收集器,可视化工具,轮询器,记录器等。过去几年中,开源产品和商业监控应用程序不断涌现,本文我介绍几个最受欢迎的开

Linux容器已经被业界广泛用于开发甚至生产系统。Docker和Kubernetes已经被开发运营人员广泛了解和熟悉。但是容器云架构下系统监控确实一个常常被忽略的问题。尽管容器部署主要涉及在每个容器内运行单个应用程序或服务,但是随着部署规模的扩大,对环境状态和运行状况的可见性变得越来越重要,而不仅仅是在操作系统或应用程序级别,而且在容器级别也是如此。

云生态监控和日志处理领域分为实时数据库,度量标准收集器,可视化工具,轮询器,记录器等。过去几年中,开源产品和商业监控应用程序不断涌现,本文我介绍几个最受欢迎的开源云应用监控工具。

Prometheus

云生态下的开源应用程序监控工具

Prometheus(普罗米修斯)是领先的开源云监视解决方案,除其他事项外,其数据以时间序列数据库存储,天然适合监控数据库存储。普罗米修斯是CNCF(Cloud Native Computing Foundation,原生云计算基金会)支持的九大项目之一,也是CNCF中,除了也是Kubernetes后第二大托管项目。普罗米修斯获得了包括谷歌,红帽,IBM等公司在内的众多云供应商的支持,是云应用首选监控程序。

普罗米修斯最初源于音乐托管网站SoundCloud,接着成为了 Docker 生态系统的重要组成部分。CoreOS团队还积极地使用Prometheus来改善Kubernetes的性能。

普罗米修斯已发展成为高级系统监控和告警 工具 箱,能够监视各种资源,包括容器,Hadoop集群,各语言运行时以及 Python 、Golang、JVM之类的应用程序堆栈。

云生态下的开源应用程序监控工具

简而言之,普罗米修斯是一个开源监控系统,时间序列数据库以及用于实现代码的框架。但是,普罗米修斯不能生成度量标准,需要要以HTTP可以解析的语言将度量标准提供给它。关于普罗米修斯参看虫虫之前文章,有详细介绍。

Graphite

云生态下的开源应用程序监控工具

Graphite是一种流行的开源工具,用于构建基于Web的仪表板以进行监视和分析。Graphite最初是由Orbitz的Chris Davis于2006年用python创建的一个辅助项目。用于监控和绘制计算机系统的性能,最终形成了一个基本监控系统,并于2008年以Apache 2.0 license的授权开源发布。目前已经获得了GitHub,Salesforce和Reddit等众多大公司提供和支持。

Graphite由三部分组成:

  • Carbon 时间序列数据的守护程序,用于接收数据;
  • Whisper(类似于RRDtool)数据库和存储;
  • Graphite-web的Web应用程序,可按需呈现图形。

云生态下的开源应用程序监控工具

Graphite在企业中仍然很流行,原因是由于其自动化程度很高,其中所有新数据点都能在数据库中自动创建。

云生态下的开源应用程序监控工具

Graphite本质上是三个相互耦合的独立工具,也可以单独使用并与其他工具集成。

Riemann

云生态下的开源应用程序监控工具

上面我们说了Graphite所有组件都耦合可以单独使用。Riemann就是用于替代Graphite中Carbon守护程序的。尽管Carbon会监听指标并将其写入whisper存储数据库,但由于Carbon是基于Python开发的,容易在性能上遇到瓶颈,这时候我们可以用Riemann代替它。Riemann使用 Clojure 语言实现以 "事件流(event streams)方式处理数据和汇总。但是,Riemann不是度量收集器。

Riemann的工作方式是从事件流(例如指标,日志,事件,主机和服务)收集数据,然后根据需要存储,图形或警报。基于事件流的一栈环境下一旦事件流停止流动,就能马上发现系统故障或网络断开。Riemann还能收集和处理各种形式的事件,事先监控。

Riemann具有超快速度和性能。其官方网站宣传的,Riemann可以在商用 x86 硬件条件下,Riemann 每秒就可以处理数百万次事件,延迟时间却只有亚毫秒,5 毫秒可以完成 99 次。

在云环境条件下,Riemann也可以容器化方式运行和组合:

  • Riemann 服务器进程,由 Clojure 语言编写,是主流处理引擎;
  • Riemann-health 程序,实现Riemann 集群的健康/使用指标报告;
  • Riemann-dash 程序,一个小型 Sinatra 应用,为 Riemann 提供网页控制台界面。
  • 作为云部件,Riemann也可将事件供应给Prometheus系统。

Riemann在Clojure开发人员中特别受欢迎,因为配置文件实际上是一些可执行的Clojure代码,可以高度定制和构建。

Grafana

云生态下的开源应用程序监控工具

Grafana是用Golang 开发的开源的度量分析与可视化套件,主要用于大规模指标数据的可视化展现方式,是网络架构和应用分析中最流行的时序数据展示工具。可以支持对Zabbix,Graphite,ElasticSearch,OpenTSDB,Prometheus和InfluxDB数据汇总、指标仪表板和图形编辑器。

云生态下的开源应用程序监控工具

Grafana可以让用户轻松创建和编辑仪表板。Grafana非常适合分布式数据存储环境下的数据汇总、查询和可视化,也能对接指标阈值设置和告警。特别适用于实现高质量的交互式可视化和图形。

Weave Scope

Weave Scope是容器生态中,可以自动进行容器APP映射,直观地理解、监视和控制基于容器化微服务的应用程序。Weave Scope涵盖监视,可视化,管理和故障排除。我们可以用Weave Scope可以在容器级别上监视和控制堆栈,并确切地了解容器在做什么以及原因,零配置并自动检测所有进程,容器和主机,该工具可以检查速度框,对于任何开发人员来说都是节省时间的工具。

Weave Scope可以监控kubernetes集群中的一系列资源的状态、资源使用情况、应用拓扑、scale、还可以直接通过浏览器进入容器内部调试等。

云生态下的开源应用程序监控工具

随着越来越多的工具针对更特定的工作流程进行开发,没有一种工具在堆栈中占据永久的位置,并且可以随时替换其中的任何一种以获得更好,更高效或更具自定义性的东西。但是就目前而言,这些开源监视工具在每个DevOps团队的监视工具中占据着至关重要的位置。

ELK Stack

Elasticsearch是ELK栈的一部分,全栈套件还有有Kibana,Beats和Logstash。尽管ELK栈被设计为集成解决方案,其中Elasticsearch通常用作支持工具。Elasticsearch是基于Luncene的 java 全文搜索引擎,也是最常用最强大的分布式可收缩日志存储和检索集群。Elasticsearch提供了RESTful广泛而且精巧的API供访问,该API可以支持近实时性的搜索用以支持数据发现。它几乎与所有内容兼容,并与其他工具一起广泛用于查询数据库。

云生态下的开源应用程序监控工具

Kibana是一个基于Elasticsearch的分析和可视化平台,可直观地浏览Elasticsearch集群中的数据。由于Kibana只是ELK栈中的可视化部分,因此也可以被替换为Grafana,Graphite或其他可视化工具。

云生态下的开源应用程序监控工具

Logstash是类似于Riemann的另一种流处理系统,可以从日志,指标,Web应用程序,数据存储和各种AWS服务中提取流数据。Logstash还具有一个输出插件,可以通过该插件将特定事件发送到Riemann,例如可警报的事件或需要Riemann采取措施的事件。

云生态下的开源应用程序监控工具

ELK栈已经被广泛地应用于运维实时日志处理架构中,通常用于日志系统的存储、处理和分析汇总。但是由于其实时性质,在云生态中,可以用于云集群的监控和故障排查分析。


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

浪潮之巅

浪潮之巅

吴军 / 电子工业出版社 / 2011-8 / 55.00元

近一百多年来,总有一些公司很幸运地、有意识或无意识地站在技术革命的浪尖之上。在这十几年间,它们代表着科技的浪潮,直到下一波浪潮的来临。 从一百年前算起,AT&T 公司、IBM 公司、苹果公司、英特尔公司、微软公司、思科公司、雅虎公司和Google公司都先后被幸运地推到了浪尖。虽然,它们来自不同的领域,中间有些已经衰落或正在衰落,但是它们都极度辉煌过。本书系统地介绍了这些公司成功的本质原因及科......一起来看看 《浪潮之巅》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具