广告
返回顶部
首页 > 资讯 > 前端开发 > VUE >怎么理解Prometheus
  • 753
分享到

怎么理解Prometheus

2024-04-02 19:04:59 753人浏览 八月长安
摘要

本篇内容主要讲解“怎么理解prometheus”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么理解Prometheus”吧!日常监控假设需要监控 WEBSer

本篇内容主要讲解“怎么理解prometheus”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么理解Prometheus”吧!

日常监控

假设需要监控 WEBServerA 每个api的请求量为例,需要监控的维度包括:服务名(job)、实例IP(instance)、API名(handler)、方法(method)、返回码(code)、请求量(value)。

怎么理解Prometheus

如果以sql为例,演示常见的查询操作:

查询 method=put 且 code=200 的请求量(红框)

SELECT * from Http_requests_total WHERE code=”200” AND method=”put” AND created_at BETWEEN 1495435700 AND 1495435710;

查询 handler=prometheus 且 method=post 的请求量(绿框)

SELECT * from http_requests_total WHERE handler=”prometheus” AND method=”post” AND created_at BETWEEN 1495435700 AND 1495435710;

查询 instance=10.59.8.110 且 handler 以 query 开头 的请求量(绿框)

SELECT * from http_requests_total WHERE handler=”query” AND instance=”10.59.8.110” AND created_at BETWEEN 1495435700 AND 1495435710;

通过以上示例可以看出,在常用查询和统计方面,日常监控多用于根据监控的维度进行查询与时间进行组合查询。如果监控100个服务,平均每个服务部署10个实例,每个服务有20个API,4个方法,30秒收集一次数据,保留60天。那么总数据条数为:100(服务) 10(实例) 20(API) 4(方法) 86400(1天秒数)* 60(天) / 30(秒)= 138.24 亿条数据,写入、存储、查询如此量级的数据是不可能在Mysql类的关系数据库上完成的。因此 Prometheus 使用 TSDB 作为 存储引擎

存储引擎

TSDB 作为 Prometheus 的存储引擎完美契合了监控数据的应用场景

  • 存储的数据量级十分庞大

  • 大部分时间都是写入操作

  • 写入操作几乎是顺序添加,大多数时候数据到达后都以时间排序

  • 写操作很少写入很久之前的数据,也很少更新数据。大多数情况在数据被采集到数秒或者数分钟后就会被写入数据库

  • 删除操作一般为区块删除,选定开始的历史时间并指定后续的区块。很少单独删除某个时间或者分开的随机时间的数据

  • 基本数据大,一般超过内存大小。一般选取的只是其一小部分且没有规律,缓存几乎不起任何作用

  • 读操作是十分典型的升序或者降序的顺序读

  • 高并发的读操作十分常见

那么 TSDB 是怎么实现以上功能的呢?

"labels": [{  "latency": "500"  }]  "samples":[{  "timestamp": 1473305798,  "value": 0.9  }]

原始数据分为两部分 label, samples。前者记录监控的维度(标签:标签值),指标名称和标签的可选键值对唯一确定一条时间序列(使用 series_id 代表);后者包含包含了时间戳(timestamp)和指标值(value)。

series  ^  │. . . . . . . . . . . . server{latency="500"}  │. . . . . . . . . . . . server{latency="300"}  │. . . . . . . . . . . server{}  │. . . . . . . . . . . .  v  <-------- time ---------->

TSDB 使用 timeseries:doc:: 为 key 存储 value。为了加速常见查询查询操作:label 和 时间范围结合。TSDB 额外构建了三种索引:Series, Label Index 和 Time Index。

以标签 latency 为例:

Series

存储两部分数据。一部分是按照字典序的排列的所有标签键值对序列(series);另外一部分是时间线到数据文件的索引,按照时间窗口切割存储数据块记录的具体位置信息,因此在查询时可以快速跳过大量非查询窗口的记录数据

Label Index

每对 label 为会以 index:label: 为 key,存储该标签所有值的列表,并通过引用指向 Series 该值的起始位置。

Time Index

数据会以 index:timeseries:: 为 key,指向对应时间段的数据文件

数据计算

强大的存储引擎为数据计算提供了完美的助力,使得 Prometheus 与其他监控服务完全不同。Prometheus 可以查询出不同的数据序列,然后再加上基础的运算符,以及强大的函数,就可以执行 metric series 的矩阵运算(见下图)。

怎么理解Prometheus

如此,Promtheus体系的能力不弱于监控界的“数据仓库”+“计算平台”。因此,在大数据的开始在业界得到应用,就能明白,这就是监控未来的方向。

一次计算,处处查询

当然,如此强大的计算能力,消耗的资源也是挺恐怖的。因此,查询预计算结果通常比每次需要原始表达式都要快得多,尤其是在仪表盘和告警规则的适用场景中,仪表盘每次刷新都需要重复查询相同的表达式,告警规则每次运算也是如此。因此,Prometheus提供了 Recoding rules,可以预先计算经常需要或者计算量大的表达式,并将其结果保存为一组新的时间序列, 达到 一次计算,多次查询的目的。

到此,相信大家对“怎么理解Prometheus”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

--结束END--

本文标题: 怎么理解Prometheus

本文链接: https://www.lsjlt.com/news/84460.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 怎么理解Prometheus
    本篇内容主要讲解“怎么理解Prometheus”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么理解Prometheus”吧!日常监控假设需要监控 WebSer...
    99+
    2022-10-19
  • 怎么配置Prometheus文件列表
    这篇文章主要介绍“怎么配置Prometheus文件列表”,在日常操作中,相信很多人在怎么配置Prometheus文件列表问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么配置Prometheus文件列表”的疑...
    99+
    2023-06-03
  • Prometheus中怎么实现集群监控
    Prometheus中怎么实现集群监控,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。 1、Prometheus 对比 Zabbix和...
    99+
    2022-10-19
  • 怎么在CentOS7系统中搭建Prometheus 监控
    今天就跟大家聊聊有关怎么在CentOS7系统中搭建Prometheus 监控,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。 简介prometheus可以拆分成多个节点进行指...
    99+
    2023-06-07
  • Prometheus时序数据库怎么插入数据
    本篇内容主要讲解“Prometheus时序数据库怎么插入数据”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Prometheus时序数据库怎么插入数据”吧!前言在...
    99+
    2022-10-18
  • Golang程序中怎么使用Prometheus的client_golang库
    本文小编为大家详细介绍“Golang程序中怎么使用Prometheus的client_golang库”,内容详细,步骤清晰,细节处理妥当,希望这篇“Golang程序中怎么使用Prometheus的client_golang库”文章能帮助大家...
    99+
    2023-07-05
  • Prometheus时序数据库中怎么查询数据
    今天就跟大家聊聊有关Prometheus时序数据库中怎么查询数据,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。Promql一个Promql表达式可以...
    99+
    2022-10-18
  • 怎么使用Prometheus采集SAP ABAP的应用日志数据
    这篇文章主要介绍“怎么使用Prometheus采集SAP ABAP的应用日志数据”,在日常操作中,相信很多人在怎么使用Prometheus采集SAP ABAP的应用日志数据问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对...
    99+
    2023-06-04
  • 怎么理解Redux原理
    这篇文章主要介绍“怎么理解Redux原理”,在日常操作中,相信很多人在怎么理解Redux原理问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么理解Redux原理”的疑惑有所帮...
    99+
    2022-10-19
  • 怎么理解Svpwm原理
    这篇文章主要讲解了“怎么理解Svpwm原理”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么理解Svpwm原理”吧!SVPWMSVPWM是空间矢量脉宽调制(...
    99+
    2022-10-19
  • CAP定理怎么理解
    本篇内容主要讲解“CAP定理怎么理解”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“CAP定理怎么理解”吧!计算机界有很多高大上又难于理解的术语,CAP就是其中之一, 什么一致性(Consiste...
    99+
    2023-06-05
  • 怎么理解tsconfig.json
    本篇内容介绍了“怎么理解tsconfig.json”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、tsc...
    99+
    2022-10-19
  • 怎么理解HTTPS
    这篇文章主要介绍“怎么理解HTTPS”,在日常操作中,相信很多人在怎么理解HTTPS问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么理解HTTPS”的疑惑有所帮助!接下来,...
    99+
    2022-10-19
  • 怎么理解Redux
    这篇文章主要介绍“怎么理解Redux”,在日常操作中,相信很多人在怎么理解Redux问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么理解Redux”的疑惑有所帮助!接下来,...
    99+
    2022-10-19
  • 怎么理解Xtrabackup
    怎么理解Xtrabackup,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。就Xtrabackup谈一下自己的经历Xtrabackup包括inn...
    99+
    2022-10-19
  • 怎么理解SQL
    这篇文章主要介绍“怎么理解SQL”,在日常操作中,相信很多人在怎么理解SQL问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么理解SQL”的疑惑有所帮助!接下来,请跟着小编一...
    99+
    2022-10-19
  • 怎么理解SecurityConfigurer
    这篇文章主要讲解了“怎么理解SecurityConfigurer”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么理解SecurityConfigurer”...
    99+
    2022-10-19
  • 怎么理解shell
    怎么理解shell,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。Shell是系统的用户界面,提供了用户与内核进行交互操作的一种接口。它接收用户输入的命令并把它送入内核去执行...
    99+
    2023-06-04
  • javascript怎么理解
    这篇文章将为大家详细讲解有关javascript怎么理解,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。JavaScript可以做什么1.可以使网页具有交互性,例如响应用户点击,给用户提供更好的体验。2.可...
    99+
    2023-06-14
  • 怎么理解SVM
    这篇文章主要介绍“怎么理解SVM”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“怎么理解SVM”文章能帮助大家解决问题。SVM分类两个点。已知两个样本点,如果用SVM模型,决策边界就是线g,它的斜率为...
    99+
    2023-06-19
软考高级职称资格查询
推荐阅读
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作