当前位置: 首页 > news >正文

【云原生 | Kubernetes 系列】---PromQL语句

PromQL语句

Prometheus提供一个函数式的表达式语言PromQL(Prometheus Query Language).可以使用户实时地查找和聚合时间序列数据.表达式计算结果可以在图表中展示,也可以在Prometheus表达式浏览器中以数据表格形式展示,或者作为数据源,以http api的方式提供给外部系统使用.

1. PromQL数据基础

1.1 数据分类

瞬时向量,瞬时数据(instan vector): 是一组时间序列,每个时间序列包含单个数据样本.比如node_memory_MemTotal_bytes查询当前剩余内存就是一个瞬间向量,该表达式的返回值中只会包含该时间序列中的最新的一个样本值,而相应的这样的表达式称为时间向量表达式.

范围向量,范围数据(range vector):是指任何一个时间范围内,抓取的所有度量指标数据.

标量,纯量数据(scalar): 是一个浮点数类型的数据值,使用Node_load1获取到一个瞬时向量,但是可使用内置函数scalar()将瞬时向量转换为标量.

字符串(string):字符串类型的数据

1.2 数据类型

  1. counter: 计数器.没有被重置之前数字只增不减
  2. gauge:仪表盘.动态任意变化的数值.CPU负载,连接数等
  3. histogram:累积直方图.在一段时间内对数据进行采样.
  4. summary:摘要.统计不同区间的个数

2. PromQL-指标数据

参数含义
node_memory_MemTotal_bytesnode节点内存总大小
node_memory_MemFree_bytesnode节点可用内存大小
node_memory_MemTotal_bytes{instance=“192.168.31.121:9100”}指定node节点内存总大小
node_memory_MemFree_bytes{instance=“192.168.31.121:9100”}指定node节点可用内存大小
node_disk_io_time_seconds_totalnode节点每秒磁盘io
node_filesystem_free_bytes{device=“/dev/sda2”,fstype=“xfs”,mountpoint=“/”}查看指定磁盘剩余空间
node_load11分钟CPU平均负载
node_load55分钟CPU平均负载
node_load1515分钟CPU平均负载

3. PromQL运算符

参数含义
+加法
-减法
*乘法
/除法
%
^

4. PromQL聚合运算

参数含义
max* 最大值
min最小值
avg平均值
sum* 求和
count* 计数
abs平均值
absent* 如果监控指标有值就返回空,没值就返回1
stddev标准差
stdvar方差
topk* 最大的X个值
bottomk最小的X个值
rate* 专门搭配conter数据类型使用,取counter数据类型再这个时间段中平均每秒的增量平均数.数据显示更平滑
irate专门搭配conter数据类型使用,取counter数据再这个时间段中平均每秒峰值
by* 匹配.值保留计算结果中by指定的变迁值,并移除其他所有
without取反.从计算结果中移除列举的instance,job标签,保留其他标签.

相关文章:

  • 谈谈Boost网络编程(3)—— 一些坑
  • 497. 返回随机非重叠矩形中的一个坐标点
  • Referer和Referrer Policy及图片防盗链
  • ISO7816-3标准ATR解析
  • 谨慎redis的timeout参数
  • PHP 实例 - AJAX 与 XML
  • 期货开户每日无负债结算制度
  • Redis、JVM、并发、MySQL、Java、网络等一个你都“啃”不完,何谈BAT?
  • 详解 docker save 与 docker export 的区别
  • 【华为账号服务】【FAQ】Account Kit常见咨询合集--获取帐号个人信息相关问题
  • 每个人都可以用的开源微信机器人
  • 一幅长文细学华为MRS大数据开发(四)——HBase
  • Vue2、Vue3知识总结---完整版✨
  • ISME| 南农大沈其荣院士团队最新揭示根际微生物组成变化可更早预测番茄青枯病
  • java基于 ssm+jsp的线上授课作业管理系统
  • .pyc 想到的一些问题
  • 【Linux系统编程】快速查找errno错误码信息
  • Akka系列(七):Actor持久化之Akka persistence
  • Android 控件背景颜色处理
  • echarts花样作死的坑
  • javascript数组去重/查找/插入/删除
  • Just for fun——迅速写完快速排序
  • Median of Two Sorted Arrays
  • MYSQL 的 IF 函数
  • Netty 4.1 源代码学习:线程模型
  • QQ浏览器x5内核的兼容性问题
  • vue从创建到完整的饿了么(18)购物车详细信息的展示与删除
  • 从0到1:PostCSS 插件开发最佳实践
  • 得到一个数组中任意X个元素的所有组合 即C(n,m)
  • 聊聊directory traversal attack
  • 我从编程教室毕业
  • 想写好前端,先练好内功
  • 关于Kubernetes Dashboard漏洞CVE-2018-18264的修复公告
  • # MySQL server 层和存储引擎层是怎么交互数据的?
  • ###STL(标准模板库)
  • #NOIP 2014# day.1 T2 联合权值
  • #Spring-boot高级
  • #经典论文 异质山坡的物理模型 2 有效导水率
  • (8)Linux使用C语言读取proc/stat等cpu使用数据
  • (C++20) consteval立即函数
  • (Java实习生)每日10道面试题打卡——JavaWeb篇
  • (pojstep1.1.1)poj 1298(直叙式模拟)
  • (补)B+树一些思想
  • (翻译)Entity Framework技巧系列之七 - Tip 26 – 28
  • (三分钟)速览传统边缘检测算子
  • (一)为什么要选择C++
  • (转)JAVA中的堆栈
  • (转)关于如何学好游戏3D引擎编程的一些经验
  • .bat批处理(四):路径相关%cd%和%~dp0的区别
  • .net 程序发生了一个不可捕获的异常
  • .NET 设计模式—适配器模式(Adapter Pattern)
  • .Net 转战 Android 4.4 日常笔记(4)--按钮事件和国际化
  • .NET/C# 推荐一个我设计的缓存类型(适合缓存反射等耗性能的操作,附用法)
  • @transaction 提交事务_【读源码】剖析TCCTransaction事务提交实现细节
  • [ vulhub漏洞复现篇 ] Celery <4.0 Redis未授权访问+Pickle反序列化利用