我的编程空间,编程开发者的网络收藏夹
学习永远不晚

第02期:Prometheus 数据采集(一)

短信预约 信息系统项目管理师 报名、考试、查分时间动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

第02期:Prometheus 数据采集(一)

第02期:Prometheus 数据采集(一)

上篇文章(第01期:详解 Prometheus 专栏开篇)介绍了 Prometheus 的架构,本文开始将介绍 Prometheus 数据采集。本文首先会介绍采集数据的格式和分类,然后会给出一些使用上的建议。

一、采集数据格式及分类

1.1 采集数据的格式x`

Prometheus 使用 metric 表示监控度量指标,它由 metric name (度量指标名称)和 labels (标签对)组成:

{

metric name 指明了监控度量指标的一般特征,比如 http_requests_total 代表收到的 http 请求的总数。metric name 必须由字母、数字、下划线或者冒号组成。冒号是保留给 recording rules 使用的,不应该被直接使用。

labels 体现了监控度量指标的维度特征,比如 http_requests_total{method="POST", status="200“} 代表 POST 响应结果为 200 的请求总数。Prometheus 不仅能很容易地通过增加 label 为一个 metric 增加描述维度,而且还很方便的支持数据查询时的过滤和聚合,比如需要获取所有响应为 200 的请求的总数时,只需要指定 http_request_total{status="200"}

Prometheus 将 metric 随时间流逝产生的一系列值称之为 time series(时间序列)。某个确定的时间点的数据被称为 sample(样本),它由一个 float64 的浮点值和以毫秒为单位的时间戳组成。

1.2 采集数据的分类

在了解过 Prometheus 采集数据的格式之后,我们来了解一下它的分类。Prometheus 将采集的数据分为 CounterGaugeHistogramSummary 四种类型。

需要注意的是,这只是一种逻辑分类,Prometheus 内部并没有使用采集的数据的类型信息,而是将它们做为无类型的数据进行处理。这在未来可能会改变。

下面,我们将具体介绍着四种类型。

Counter

Counter 是计数器类型,适合单调递增的场景,比如请求的总数、完成的任务总数、出现的错误总数等。它拥有很好的不相关性,不会因为重启而重置为 0。

Gauge

Gauge 用来表示可增可减的值,比如 CPU 和内存的使用量、IO 大小等。

Histogram

Histogram 是一种累积直方图,它通常用来描述监控项的长尾效应。

举个例子:

假设使用 Hitogram 来分析 API 调用的响应时间,使用数组 [30ms, 100ms, 300ms, 1s, 3s, 5s, 10s] 将响应时间分为 8 个区间。那么每次采集到响应时间,比如 200ms,那么对应的区间 (0, 30ms], (30ms, 100ms], (100ms, 300ms] 的计数都会加 1。最终以响应时间为横坐标,每个区间的计数值为纵坐标,就能得到 API 调用响应时间的累积直方图。

Summary

Summary 和 Histogram 类似,它记录的是监控项的分位数。什么是分位数?举个例子:假设对于一个 http 请求调用了 100 次,得到 100 个响应时间值。将这 100 个时间响应值按照从小到大的顺序排列,那么 0.9 分位数(90% 位置)就代表着第 90 个数。

通过 Histogram 可以近似的计算出百分位数,但是结果并不准确,而 Summary 是在客户端计算的,比 Histogram 更准确。不过,Summary 计算消耗的资源更多,并且计算的指标不能再获取平均数或者关联其他指标,所以它通常独立使用。

二、使用建议

2.1 Metric 的命名

  • Metric 名字应该以它所属的领域开头,比如关于进程的 metric 以 process 开头:process_cpu_seconds_total。
  • Metric名字的结尾应该带有描述性的复数形式的基本单位。如果是总数类的 metric,还可以在结尾加上 total,比如:http_requests_total

2.2 Label 的选择

Label 应该用来描述 metric 的典型特征,比如使用 operation="create|update|delete" 描述不同类型的 http 请求。需要特别注意:不能将用户 ID、邮件地址这种取值范围非常广泛的值作为 label,否则会显著的增加数据存储量。同时,一个 metric 的 label 数量也不应该过多,单个 metric 的 label 数量尽量保持在 10 个以内。

2.3 Histogram 与 Summary 的选择

  • 如果需要使用聚合函数,使用 Histogram
  • 如果对于观测值的分布有大致的预期,使用 Histogram,否则使用 Summary

2.4 应该监测什么?

  • 从服务的类型来讲,应该监测所有类型的服务:在线服务、离线服务和批处理任务
  • 从单一服务的实现来讲,应该监测服务的关键逻辑,比如关键逻辑执行的总数、失败次数、重试次数等
  • 从服务的质量来讲,应该监测服务的请求总数、请求错误率和请求响应时间
  • 从系统资源上来讲,应该监测资源的利用率、饱和度和错误

扩展阅读: 【recording rules】https://prometheus.io/docs/prometheus/latest/configuration/recording_rules/#recording-rules)

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

第02期:Prometheus 数据采集(一)

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

下载Word文档

猜你喜欢

第02期:Prometheus 数据采集(一)

上篇文章(第01期:详解 Prometheus 专栏开篇)介绍了 Prometheus 的架构,本文开始将介绍 Prometheus 数据采集。本文首先会介绍采集数据的格式和分类,然后会给出一些使用上的建议。一、采集数据格式及分类1.1 采集数据的格式x`Pr
第02期:Prometheus 数据采集(一)
2022-04-30

第03期:Prometheus 数据采集(二)

本期作者:罗韦爱可生上海研发中心成员,研发工程师,主要负责 DMP 平台监控告警功能的相关工作。上篇文章(第02期:数据采集一)介绍了 Prometheus 数据采集的格式和分类,本文会对采集过程进行详细的介绍。Prometheus 数据采集过程介绍Prome
第03期:Prometheus 数据采集(二)
2021-09-25

MySQL 实战笔记 第02期:MySQL 元数据锁

当我们在 MySQL 中执行 DDL 语句时,经常会发现语句没有在你预期的时间完成,这时候我们通常会使用 show full processlist ,来看看发生了什么状况。当你看到 waiting for table metadata l

Prometheus系统的数据采集器如何工作

Prometheus系统的数据采集器通过展示和存储监控数据来帮助用户了解系统的性能和健康状况。它工作的基本原理如下:数据源:Prometheus数据采集器会定期从被监控的目标系统中获取指标数据,这些目标系统可以是服务器、应用程序、数据库等。
Prometheus系统的数据采集器如何工作
2024-03-04

Prometheus的数据采集频率可以调整吗

是的,Prometheus的数据采集频率是可以调整的。用户可以通过修改Prometheus配置文件中的scrape_interval参数来调整数据采集的频率。默认情况下,Prometheus会每隔15秒进行一次数据采集,用户可以根据自己的需
Prometheus的数据采集频率可以调整吗
2024-03-04

数据采集实战(一)-

概述最近在学习python的各种数据分析库,为了尝试各种库中各种分析算法的效果,陆陆续续爬取了一些真实的数据来。顺便也练习练习爬虫,踩了不少坑,后续将采集的经验逐步分享出来,希望能给后来者一些参考,也希望能够得到先驱者的指点!采集工具其实基本没用过什么现成的采
数据采集实战(一)-
2017-02-11

第02期:MySQL 数据类型的艺术-大对象字段

我以前分享过一篇《MySQL 大对象一例》,今天就来详细说下大对象的优缺点以及使用场景。我们把 MySQL 的大对象类型分 TEXT / BLOB 和 JSON 两部分来说明。一、TEXT / BLOB 类型TEXT 和 BLOB 的区别非常简单。TEXT 存
第02期:MySQL 数据类型的艺术-大对象字段
2021-10-23

怎么使用Prometheus采集SAP ABAP的应用日志数据

这篇文章主要介绍“怎么使用Prometheus采集SAP ABAP的应用日志数据”,在日常操作中,相信很多人在怎么使用Prometheus采集SAP ABAP的应用日志数据问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对
2023-06-04

克服网络障碍:Prometheus如何通过间接方式采集目标服务数据

如何获取服务器 A 的指标?答案就是采用Pushgateway,这里Pushgateway充当了一个桥接的作用,把Pushgateway服务暴漏一个公网地址,然后服务器 A 与Prometheus都能连接即可。服务器 把数据 Push到Pu

学习python的第十一天(集合数据类型

1.集合数据类型1.定义用{}中间值用,隔开,且集合中元素排列是无序的,而且如果有相同元素会只保留一个2.算法1.必须掌握1.长度lenset_1 = {1,2,3,4,5}print(len(set_1))#52.成员运算in和not i
2023-01-31

一文详解WebAudio浏览器采集麦克风音频数据

这篇文章主要为大家介绍WebAudio浏览器采集麦克风音频数据实现详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
2023-03-09

人工智能教程(六):Keras 和第一个数据集

在本文中我们将继续学习概率论的知识。

齐向东:数字经济开采“数据富矿”要安全第一、守住红线

“数据富矿”的开采,网络空间是土壤,数字技术是工具,这个过程危机四伏,稍不留神就会导致严重的安全事故。

第一期特色产业集群数字化转型提升培训班成功举办

2024年4月9日-12日,在山东省工业和信息化厅指导下,华为(山东)ICT学院联合山东信息职业技术学院举办的第一期特色产业集群数字化转型提升培训班在成都成功举办。山东省各级工业和信息化主管部门负责人、省内高端装备制造和先进材料等特色产业集

再下一城,神州数码入选中移动服务器集中采购第二批次公示

根据招标公告显示,本次PC服务器采购规模为47845台,划分为6个标包,包含均衡型、存储型服务器。

编程热搜

目录