首页 > 其他分享 >04. Prometheus - 指标处理(PromQL)

04. Prometheus - 指标处理(PromQL)

时间:2022-08-21 00:34:12浏览次数:96  
标签:__ 04 样本 zA 指标 Prometheus PromQL 序列 total

指标(Metrics)

Prometheus 会将所有采集到的样本数据以时间序列(time-series)的方式保存在内存数据库中,并且定时保存到硬盘上。

时间序列按照时间戳和值的序列顺序存放,每条时间序列通过 指标名称(metrics name)和一组 标签集(labelset)命名。


在时间序列中的每一个点称为一个 样本(sample),样本由以下三部分组成:

  • 指标(metric):指标名称和描述当前样本特征的标签集。
  • 时间戳(timestamp):一个精确到毫秒的时间戳。
  • 样本值(value): 一个 float64 的浮点型数据表示当前样本的值。

一个规范的指标数据一般包含以下三个部分:

  • # HELP,说明该指标的用途。
  • # TYPE,说明该指标的数据类型。
  • 具体采集的指标。

比如以下数据示例:

# HELP node_cpu_seconds_total Seconds the CPUs spent in each mode.
# TYPE node_cpu_seconds_total counter
node_cpu_seconds_total{cpu="0",mode="idle"} 26855.45

其中具体的指标格式如下:

<指标名称>{<标签名称>=<标签值>, ...} 数据

它的具体含义如下:

  • 指标名称
    • 反映了被监控样本的含义。
    • 命名符合正则表达式 [a-zA-Z_:][a-zA-Z0-9_:]*
  • 标签
    • 大括号中的标签反映了当前样本的特征维度,用于对样本数据进行过滤,聚合等。
    • 命名符合正则表达式 [a-zA-Z_][a-zA-Z0-9_]*
    • __ 作为前缀的标签,是系统保留的关键字,只能在系统内部使用。
    • 标签的值则可以包含任何 Unicode 编码的字符。
  • 数据
    • 采集到的具体值。

在 Prometheus 的底层实现中,指标名称实际以 __name__=<指标名称> 的形式保存的。

因此以下两种方式均表示的同一条时间序列:

api_http_requests_total{method="POST", handler="/messages"}

等同于:

{__name__="api_http_requests_total",method="POST", handler="/messages"}

指标类型

标签:__,04,样本,zA,指标,Prometheus,PromQL,序列,total
From: https://www.cnblogs.com/ezops/p/16609098.html

相关文章

  • Vulfocus靶场 | Django SQL注入(CVE-2021-35042)
    漏洞复现这题通关比较简单,但是django这个漏洞还挺出名的,之前在ctf上也遇到过相关的题目\ 直接按照提示,进入了Django报错页面 flag就在里面,直接ctrl+F就能找到......
  • 03. Prometheus - 数据采集
    Exporter在Prometheus的架构设计中,PrometheusServer并不直接监控特定的目标,它主要任务是负责数据的收集,存储并且对外提供数据查询支持。为了获取监控指标,就需要Prom......
  • 在Kubuntu 22.04上查看HEIF图像
    介绍HEIF是目前智能手机上常见的高效图片格式。KDEFramework5.80.0正式支持了HEIF格式图像,但不知为何,开发者在编译相关的支持库时没有打开HEIF支持选项,导致目前最新的Ku......
  • Java数组04:下标越界及小结
    数组的四个基本特点:其长度是确定的。数组一旦被创建,它的大小就是不可以改变的其元素必须是相同类型,不允许出现混合类型;数组中的元素可以是任何数据类型,包括基本类......
  • Python小游戏——外星人入侵(保姆级教程)第一章 03 04
    系列文章目录第一章:武装飞船03:设置飞船图片04:创建Ship类——管理飞船行为的类一、设置飞船图片1.注意事项A.将图片设置为位图bmp格式最简单,因为pygame默认加载位图B......
  • javascript:null和undefined的区别(chrome 104.0.5112.101)
    一,js代码:<html><head><metacharset="utf-8"/><title>测试</title></head><body><buttononclick="test()">测试</button><script>functiontest......
  • 部署 prometheus + grafana + nacos
    linux环境部署prometheus+grafana+nacos对微服务监控IT学习道场 IT学习道场 2022-06-0619:34 发表于浙江收录于合集#IT学习道场靓文集锦34个自定义的prome......
  • 在Ubuntu20.04上使用kubeadm搭建k8s集群(2022年8月版本为v1.24.4)
    1.一些真心话在开始之前,需要将重要的事情说三遍:一定要认真阅读官方文档!一定要认真阅读官方文档!!一定要认真阅读官方文档!!!我在搭建k8s之前看了网上很多教程,也尝试的执行了......
  • 【小迪安全】04:基础入门-web源码扩展
    (XYCMS搬家公司建站系统)查找数据库文件路径: 发现后缀名为mdb文件——为asp网站特有的  打开mdb文件找到admin_user数据库可以找到用户名和密码 ......
  • 信2105-3班张少阳20213904第八周java学习总结
    本周进一步深入学习了类以及接口的用法,区别以及类似点1.3接口的成员特点1)成员变量:只能是常量,默认修饰符publicstaticfinal2)构造方法接口没有构造方法,因为接口主要是......