Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Prometheus vs Grafana vs Graphite特征比较

Prometheus vs Grafana vs Graphite特征比较

作者头像
后场技术
发布于 2020-09-03 07:24:51
发布于 2020-09-03 07:24:51
3.9K0
举报
文章被收录于专栏:后场技术后场技术
什么是"时间序列"在现代监控中如何使用?

时间序列用于现代监控,作为表示随时间收集的度量数据的方式。这样,现代性能指标可以以智能和有用的方式存储和显示,帮助我们监控我们的服务器和服务。

许多解决方案(包括开源和私有专利的)已经在度量存储库及其可视化引擎中使用时间序列。最后一张图片来自Zabbix,它将所有时间序列数据存储在一个公共数据库中,然后将它们显示为时间度量图。其他例子包括古老的MRTG和Cacti。但在更现代化的基础架构中,尤其是AWS或OpenStack云计算基础架构中,使用了更强大且可配置的解决方案。

在本文中,我们将比较三种最常用的替代品(Grafana,Graphite和Prometheus),以确定它们的优点和缺点。我们将使用以下参数作为所有三个选项之间的一般比较点:

  • 可视化和仪表板编辑
  • 存储
  • 数据采集
  • 插件体系架构和可扩展性
  • 报警和事件跟踪
  • 云监控兼容性
  • 开源与商业产品

可视化和仪表板编辑: 这是您设计和构建指标/时间序列图并在仪表板中组织它们的部分。监控视图的中心在这里:

  • Grafana:在可视化和仪表板创建和定制方面,Grafana是最好的选择。它功能丰富,易于使用,而且非常灵活。
  • Graphite:良好的可视化选项,但其核心功能中不包含仪表板编辑。在现实世界中,Graphite与Grafana结合使用; Graphite进行数据存储,而Grafana进行可视化。
  • Prometheus:非常好,但通常很难使用图形和仪表板编辑功能。Prometheus利用控制台模板进行可视化和仪表板编辑,但这些控制台模板的学习曲线起初可能很难。在现实世界中,我的建议是首先使用Grafana进行图形和仪表板编辑,然后(当达到熟练程度时)转到Prometheus控制台模板。

获胜者是: Grafana在这里大获全胜,而Prometheus则获得第二名。

存储: 可视化是任务的一部分,但我们无法凭空想象时间序列。我们需要从源获取它们,并且此源需要以某种方式存储所有时间序列并提供查询它们的方法:

  • Grafana: 没有时间系列存储支持。Grafana只是一种可视化解决方案。时间序列存储不是其核心功能的一部分。
  • Graphite: 这是Graphite赢得Grafana的地方。Graphite可以存储从其他来源(通常是直接监控工具)获得的时间序列,并提供查询语言来获取存储的数据。同样,Grafana可以与Graphite一起使用,以便可视化存储在其存储后端的数据。
  • Prometheus: 很好。Prometheus存储时间序列的方式是迄今为止最好的方式(由于其维度模型,它使用时间序列中的键值标记来更好地组织数据并提供强大的查询功能)。如前所述,Grafana可以与Prometheus查询语言一起使用,以创建图形和仪表板。

获胜者是:Prometheus在这方面表现出色,Graphite名列第二,Grafana则是绝对的失败者。

数据采集: 好的,您既有存储又可视化,但是,您需要从服务中获取数据。这是直接监控进入现场的地方。通过使用旧方法(SNMP)或新方法(agents),您需要一种方法来获取最终将存储为时间序列的度量标准:

  • Grafana:没有数据收集支持。同样,Grafana只是一个可视化解决方案。无论是时间序列存储还是时间序列收集都不是其核心功能的一部分。
  • Graphite:也没有数据收集支持,至少不是直接支持。您需要包含statd,collectd等解决方案才能使数据收集部分正常运行。Graphite将从这些来源获取所有数据,并将此数据作为时间序列存储在其存储后端中。
  • Prometheus: 国王从数据收集战中回来了。是的,Prometheus可以与存储和可视化一起完成数据收集部分。这是一个非常完整的解决方案,就像街上的其他演员(Cacti,Nagios和Zabbix)。

获胜者是:Prometheus再次获胜,而Graphite和Grafana都输掉了这场比赛。

插件体系架构和可扩展性: 所有现代软件解决方案中最强大的一点是通过使用插件或其他类似方法进行扩展的能力。这样,您可以扩展已有的核心功能,并在解决方案中包含一组全新的功能:

  • Grafana:是的,支持,并且有大量插件应用于数据源,应用程序和仪表板编辑。更多信息:https://grafana.com/plugins 。
  • Graphite:是的,以某种方式。Graphite并不真正提供或拥有插件库。相反,有很多工具已经与Graphite兼容。更多信息,请访问以下链接: http://graphite.readthedocs.io/en/latest/tools.html。
  • Prometheus: 再一次,在某种程度上是的。Prometheus称他们为出口商(Exporters)。出口商(Exporters)允许第三方工具将其数据导出到Prometheus。此外,开源世界中的一些软件组件已经与Prometheus兼容。有关以下链接的更多信息:https://prometheus.io/docs/instrumenting/exporters/。

获胜者是:所有人,真的。Grafana可能是具有扩展其核心功能的真正插件的那个,但是有很多工具以这种或那种方式兼容Graphite和Prometheus。

报警和事件跟踪: 监控解决方案尚未完成,除非您在任何指标开始变得有趣时包含一种生成警报的方法。此外,事件跟踪是关联重复事件的好方法,可以帮助您更好地诊断基础架构中的问题:

  • Grafana: 不,或者至少不是直接的。Grafana只能对时间序列进行可视化,并且在此任务中优于其他任务,但警报管理和事件跟踪都不是其核心功能的一部分。间接地,有一些方法可以将日志事件转换为数字,这是一种跟踪事件的方法。
  • Graphite:它可以进行事件跟踪,但不能直接执行报警部分。
  • Prometheus:完全支持报警管理。虽然没有包含直接事件跟踪,但Prometheus非常强大的查询语言允许您执行一些魔术来间接执行事件跟踪部分。

获胜者是: Prometheus一路走来获胜。Graphite位居第二,Grafana甚至没有达到终点线。

云监控兼容性: 像AWS和OpenStack这样的云包括他们自己的监控基础架构,它收集和存储时间序列,在某些情况下,还提供基本的图形和仪表板编辑功能。我们不想在本文的这一部分中详细介绍,因此我们将使用AWS和使用OpenStack的私有云来讨论公共云。

AWS监控服务称为Cloudwatch,它不仅包括所有基于时间序列的指标的数据存储,还包括基本图表和仪表板编辑。

OpenStack(特别是在其最新版本中)包括Gnocchi,它是一种“时间序列即服务”解决方案,但尚未包含直接图形和编辑组件。让我们看看我们的三个竞争者如何将自己与AWS和OpenStack集成。

  • Grafana:迄今为止的最佳解决方案。由于云解决方案(AWS和OpenStack)已经进行了数据收集,数据存储甚至报警管理,因此您真正需要的只是可视化和仪表板创建。Grafana包括对AWS Cloudwatch和OpenStack Gnocchi的支持(通过插件)。如果您的部署完全基于云,并且包含监控解决方案(Cloudwatch或Gnocchi),请不要使用除Grafana之外的其他任何内容。
  • Graphite:GitHub中已有一些组件 可用于将AWS Cloudwatch数据推送到Graphite,但同样,这并不是必需的,而且考虑到Cloudwatch已经可用于Graphite将涵盖的功能,这是浪费时间。对于OpenStack,社区建议仅使用Gnocchi和Grafana。我建议你不要浪费你的时间,坚持使用云中已有的监控选项。
  • Prometheus:AWS Cloudwatch有一个官方导出器,因此如果您愿意,可以使用Prometheus监控所有AWS云组件,但OpenStack Gnocchi尚未提供支持。值得注意的是,虽然Gnocchi同时支持collectd和statsd(Prometheus中的出口商选项),但支持是单向的,这意味着您可以向Gnocchi发送collectd / statsd指标,但不是相反。

获胜者是: Grafana是真正的赢家,其他竞争者并列第二名。理想情况下,您应该坚持使用云中已有的监控产品,并且只在需要时进行补充。这就是为什么Grafana是这里最好的选择。Cloudwatch和Gnocchi已经涵盖了时间序列收集和存储。

开源 VS 企业

在许多开源项目中,通常的做法是包括某种企业/商业产品,其中包括额外的果汁。让我们回顾三个竞争者可以提供的额外内容:

  • Grafana:开源模型功能齐全,适合企业使用。没有商业特定版本,但Grafana提供并由他们管理的托管解决方案。有关此内容的更多信息,请访问以下链接:https://grafana.com/cloud/grafana。
  • Graphite:开源模型功能齐全,可以随时使用。
  • Prometheus:与其他两个一样,开源模型功能齐全,可以随时使用。

获胜者是: Grafana因其提供托管选项而被宣布为获胜者。但是,如果您认为所有选项在其开源产品中都是功能完备的,那么所有选项都将首先到达终点。

最后的结论:所有这一切都没问题,但现在我很困惑。对我来说什么是正确的解决方案?

阅读本文后,您可能会头痛得厉害。别担心; 我们现在要减轻它。

AWS和OpenStack等云服务: 如果您的基础架构完全基于云,并且您已经拥有Cloudwatch或Gnocchi等选项的可用指标,请不要过多考虑:选择Grafana。您不需要存储时间序列(这已经是云的一部分)或定义警报(同样,这是AWS和OpenStack上可用的另一个功能)。您需要的是克服从Cloudwatch和Gnocchi继承的图形限制,并以智能,可用和功能丰富的方式显示您的指标。这是Grafana优于所有其他选择的地方。

具有基本数据收集解决方案的经典基础架构: 如果您的基础架构使用诸如collectd,statd或其他类似的仅数据收集工具之类的东西,并且只要Graphite可以使用它们,那么使用Graphite来执行时间序列存储部分在中央服务器中,将Grafana添加到您的组合中,以便以适当的方式显示这些指标。请注意,Graphite可以进行事件跟踪,但这与警报生成不同,因此您需要其他东西来执行此任务。

没有任何监控的任何基础架构: 如果您从头开始,并且没有其他可用的监控选项(或者您不想使用Cloudwatch或Gnocchi等基于云的系统),那么请使用Prometheus。最初,您可以添加Grafana以简化图表和仪表板编辑,直到您完全熟练使用Prometheus控制台模板。

我们的最后一条建议很简单: 为正确的方案调整合适的工具。明确地确定您的优先事项,并与您手头的内容保持平衡。如果你真正需要的是降落在月球上,不要试图到达银河系的中心,但如果当前的情况发展并且需要根据基础设施监控需求改进监控堆栈,请准备好进一步。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-08-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 后场技术 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Prometheus vs. Graphite:时序数据监控工具选择
本文获文章作者授权翻译,转载需要注明来自公众号EAWorld 作者:Daniel Berman 译者:白小白 原题:Prometheus vs. Graphite: Which Should You Choose for Time Series or Monitoring原文:https://logz.io/blog/prometheus-vs-graphite/ 全文3742字,阅读约需要15分钟 任何系统、应用程序、产品或流程的关键性能指标之一是某些参数或数据点在一段时间内的表现。比如,如何在几秒钟
yuanyi928
2018/09/14
3.8K0
Prometheus vs. Graphite:时序数据监控工具选择
基础设施监控入门
译自 Getting Started with Infrastructure Monitoring 。
云云众生s
2024/03/28
2540
基础设施监控入门
Prometheus用户分享:Presslabs
继续我们对Prometheus用户的一系列访谈,来自Presslabs的Mile Rosu谈到了他们的监控之旅。
CNCF
2019/12/04
6320
Prometheus用户分享:Presslabs
使用Prometheus + Grafana + exporter监控测试环境
在之前公司搭建测试环境过程中会安装mysql、redis、kafak等数据库,在测试环境使用过程中经常会遇到服务挂了等问题,经过分析是因为数据库无法连接成功或者数据打满等异常问题。
测试加
2022/12/05
1.5K0
使用Prometheus + Grafana + exporter监控测试环境
性能测试:主流性能监控工具介绍
vmstat 和 top 都是 Linux 系统自带的命令,提供了实时的监控信息,对于系统管理员和开发人员来说非常有用。
霍格沃兹测试开发Muller老师
2024/07/03
3450
十大开源应用程序监控工具
Linux容器基本覆盖接管了企业,并且我们听到了很多关于Docker和Kubernetes的信息,以至于我们忘记了同样重要的监控和日志收集。Docker继续增长,随之而来的是围绕它构建的服务生态系统的增长。现在,尽管部署容器主要涉及在每个容器内部运行单个应用程序或服务,但随着部署变得越来越大,了解环境的状态和健康状况(不仅仅是操作系统或应用程序级别)变得越来越重要,但在容器层面也是如此。
后场技术
2020/09/03
4.3K0
十大开源应用程序监控工具
Prometheus 与 VictoriaMetrics (VM) 的比较 - 可扩展性、性能、可用性
时序数据库有很多,比如 Prometheus、M3DB、TimescaleDB、OpenTSDB、InfluxDB等等。Prometheus 和 VictoriaMetrics 是开源时间序列数据库,可为复杂 IT 环境中的监控和告警提供强大的解决方案。然而,它们的设计不同,并提供独特的功能,这些功能可能会影响其性能、可扩展性和监控工作负载的易用性。本文旨在分析 Prometheus 和 VictoriaMetrics 之间的差异,从而为寻求最适合其特定需求的解决方案(作为监控解决方案和可观察性或对系统进行故障排除)的用户提供见解。
用户5166556
2024/01/10
2.3K0
Prometheus 与 VictoriaMetrics (VM) 的比较 - 可扩展性、性能、可用性
最流行的云原生监控解决方案:Prometheus+Grafana
prometheus是由SoundCloud开源的CNCF旗下的监控系统,是Google BorgMon监控系统的开源版本,提供了完善的监控和告警功能.
MCNU云原生
2023/03/17
2.5K0
最流行的云原生监控解决方案:Prometheus+Grafana
Grafana官方文档翻译
Grafana是一个开源指标分析和可视化套件。 它最常用于可视化基础设施和应用程序分析的时间序列数据,但许多应用于其他领域,包括工业传感器,家庭自动化,天气和过程控制。
用户5760343
2022/05/14
4.1K0
Grafana官方文档翻译
使用 Prometheus 和 Grafana 监控 Spring Boot 应用程序
在本文中,我们将研究如何使用 Grafana 监控 Spring Boot 应用程序。我们将研究整个设置并创建一个简单的仪表板来查看一些指标。
低代码布道者
2022/07/15
1.4K0
使用 Prometheus 和 Grafana 监控 Spring Boot 应用程序
为什么说Prometheus是开源网络监控工具的后起之秀?优势有哪些?
网络监控是网络管理的重要组成部分,定期网络监控可以预防故障、优化性能、规划容量,确保网络的可用性、安全性等。相比较普通的监控工具,开源网络监控工具拥有可定制性、灵活性、可扩展性等优势,受到国内外众多企业的追捧,有哪些好用的开源网络监控工具,该如何选择呢?
星融元Asterfusion
2024/04/09
4990
为什么说Prometheus是开源网络监控工具的后起之秀?优势有哪些?
Grafana 系列-统一展示-1-开篇
Grafana 是 Grafana Labs 的第一款也是最重要的产品。它的定位是可视化, 用于监控展示 和 可观察性. 是当前最为完善、流行的云原生、公有云和企业监控可视化平台。
东风微鸣
2023/09/01
4480
Grafana 系列-统一展示-1-开篇
构建企业级监控平台系列(二十七):Grafana 基础入门与部署
Grafana 是一跨平台的开源的可视化分析工具。目前网络架构和应用分析中最流行的时序数据展示工具,主要用于大规模指标数据的可视化展示。
民工哥
2023/11/06
2.9K0
构建企业级监控平台系列(二十七):Grafana 基础入门与部署
2020年Kubernetes中7个最佳日志管理工具
Kubernetes在容器编排市场中占主导地位,通常用于托管微服务。但是,微服务的每个实例都会生成大量日志事件,这些日志事件很快就会变得难以管理。更糟糕的是,当出现问题时,由于服务间的复杂交互以及不可预知的故障模式,很难找到根本原因。
公众号: 云原生生态圈
2020/11/10
4.6K1
2020年Kubernetes中7个最佳日志管理工具
设备云||Grafana可视化组件及健康诊断应用
机器学习直接从数据中“学习”信息,利用云平台的分布式计算资源可以大大加速建模的速度,例如对CNC刀具故障的预测避免断刀故障的发生,对模具生产中质量波动的影响因素分析修正关键工序等。工业数据在云端的有效呈现是通过云平台的数据可视化组件完成的。目前大多数的云平台(例如AWS、阿里云等)都提供了基于Grafana的可视化组件。
SHOUT
2022/05/31
2K0
设备云||Grafana可视化组件及健康诊断应用
使用Prometheus+Grafana监控MySQL实践
Prometheus(普罗米修斯)是一套开源的监控&报警&时间序列数据库的组合,起始是由SoundCloud公司开发的。随着发展,越来越多公司和组织接受采用Prometheus,社会也十分活跃,他们便将它独立成开源项目,并且有公司来运作。Google SRE的书内也曾提到跟他们BorgMon监控系统相似的实现是Prometheus。现在最常见的Kubernetes容器管理系统中,通常会搭配Prometheus进行监控。
拓荒者
2019/03/11
3.3K0
使用Prometheus+Grafana监控MySQL实践
DevOps监控之Prometheus实施基础指南
Prometheus是一个开源系统监控和警报工具包,最初在SoundCloud上构建。自2012年成立以来,许多公司和组织都采用了Prometheus,该项目拥有非常活跃的开发人员和用户社区。
苦叶子
2024/04/19
2340
DevOps监控之Prometheus实施基础指南
Prometheus和Grafana监控Kubernetes以及未来
了解使用 Prometheus 和 Grafana 监控 Kubernetes 的优势和挑战,以及他们的潜在继任者。
云云众生s
2024/03/28
1710
Prometheus和Grafana监控Kubernetes以及未来
印尼医疗龙头企业Halodoc的数据平台转型之路:数据平台V1.0
数据是每项技术业务的支柱,作为一个健康医疗技术平台,Halodoc 更是如此,用户可以通过以下方式与 Halodoc 交互:
ApacheHudi
2022/05/18
2.3K0
印尼医疗龙头企业Halodoc的数据平台转型之路:数据平台V1.0
2020年最值得推荐的7种 Kubernetes 日志管理工具
Kubernetes 是容器编排市场的主导者,经常被用来托管微服务。微服务的每个实例都会生成大量的日志事件,并且这些事件很快就会变得难以管理。但是,更糟糕的是,当问题发生时,由于服务之间的复杂的交互以及几乎无穷无尽的可能故障模式,很难找到问题根源。这种潜在的问题推动了 Kubernetes 日志管理工具的流行。
深度学习与Python
2020/11/16
1.8K0
相关推荐
Prometheus vs. Graphite:时序数据监控工具选择
更多 >
领券
💥开发者 MCP广场重磅上线!
精选全网热门MCP server,让你的AI更好用 🚀
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档