PromQL
Prometheus提供一个函数式的表达语言PromQL(Prometheus Query Language),可以使用户实时地查找和聚合时间序列数据,表达式计算结果可以在图表中展示,也可以在Prometheus浏览器中以表格形式展示,或作为数据源以HTTP API方式提供给外部系统使用。
https://prometheus.io/docs/prometheus/latest/querying/basics/
PromQL查询数据类型
https://prometheus.io/docs/prometheus/latest/querying/basics/#expression-language-data-types
instant vector
瞬时向量、瞬时数据:是对目标实例查询到的同一个时间戳的一组时间序列数据(按照时间的推移对数据进行存储和展示),每个时间序列包含单个数据样本,如node_memory_MemFree_bytes
查询的是当前剩余内存(可用内存)就是一个瞬时向量,该表达式的返回值中只会包含该时间序列的最新的一个样本值,而相应这样的表达式称之为瞬时向量表达式,如Prometheus_http_requests_total
prometheus API查询瞬时数据命令,在没有指定匹配条件的前提下,会返回所有包含此指标数据的实例数据
range vector
范围向量、范围数据:是指在任何一个时间范围内,抓取的所有度量指标数据,比如最近一天的网卡流量趋势图,如:prometheus_http_requests_total[5m]
scalar
标量、纯量数据:是一个浮点数据类型的数据值,使用node_load1
获取到一个瞬时向量后,在使用prometheus的内置函数scalar()将瞬时向量转换为标量,如:scalar(sum(node_load1))
string
字符串:简单的字符串类型的数据,目前未使用,(a simple string value;currently unused)
数据指标类型
https://prometheus.io/docs/concepts/metric_types/
Counter
计数器,Counter类型代表一个累积的指标数据,在没有被重启的前提下只增不减,比如磁盘I/O总数、Nginx/API的请求总数、网卡流经的报文总数等。
Gauge
仪表盘,Gauge类型代表一个可以任意变化的指标数据,值可以随时增高或减少,如带宽速率、CPU负载、内存利用率、nginx活动连接数等。
Histogram
累积直方图,Histogram会在一段时间范围内对数据进行采样(通常是请求持续时间或响应大小等),假如每分钟产生一个当前的活跃连接数,那么一天24小时*60分钟=1440分钟会产生1440个数据,查看数据的每间隔的绘图跨度为2小时,那么2点的柱状图会包含0点到2点两个小时的数据,而4点的柱状图则会包含0点到4点的数据,而6点的柱状图则包含0点到6点的数据,可用于统计从当天零点开始到当前时间的数据统计结果,如http请求成功率、丢包率等。
Summary
摘要,也是一组数据,默认统计选中的指标最近10分钟内的数据的分位数,可以指定数据统计范围。
分位数,也称分位点,是指用分割点将随机数据统计并划分为几个具有相同概率的连续区间,常见的为四分位,即将数据样本统计后分为四个区间,将范围内的数据进行百分比的占比统计,从0到1,表示是0%-100%,(0%-25%,25%-50%,50%-75%,75%-100%),利用四分位数,可以快速了解数据的大概统计结果。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek “源神”启动!「GitHub 热点速览」
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 我与微信审核的“相爱相杀”看个人小程序副业
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· DeepSeek R1 简明指南:架构、训练、本地部署及硬件要求