prometheus之PromQL详解

news/2024/5/18 22:21:49 标签: prometheus, 数据库

文章目录

  • 一、指标类型
    • Counter和Gauge
    • Histogram
    • Summary
  • 二、11个聚合函数
  • 三、二元运算符的优先级
  • 四、基础资源
    • 5分钟内CPU使用率
    • 1分钟平均负载超过主机CPU数量两倍的时间序列
    • 计算CPU的数量
    • 内存使用率
    • 磁盘使用率
  • 五、正则匹配
  • 六、函数
    • hour()
    • rate()
  • 七、其他
    • [5m]
    • [5m] offset 1d
  • 参考


一、指标类型

在这里插入图片描述

Counter和Gauge

在这里插入图片描述

Histogram

在这里插入图片描述
在这里插入图片描述

Summary

在这里插入图片描述

二、11个聚合函数

在这里插入图片描述

三、二元运算符的优先级

在这里插入图片描述

四、基础资源

5分钟内CPU使用率

100 - avg(irate(node_cpu_seconds_total{mode="idle"}[5m])) by(instance)*100

在这里插入图片描述

1分钟平均负载超过主机CPU数量两倍的时间序列

node_load1 > on(instance) 2 * count(node_cpu_seconds_total{mode="idle"}) by(instance)

计算CPU的数量

count by (instance)(node_cpu_seconds_total{mode="idle"})

内存使用率

((node_memory_MemTotal_bytes - (node_memory_MemFree_bytes + node_memory_Buffers_bytes + node_memory_Cached_bytes)) / node_memory_MemTotal_bytes) * 100

在这里插入图片描述

磁盘使用率

(node_filesystem_size_bytes{mountpoint="/"} - node_filesystem_free_bytes{mountpoint="/"}) / node_filesystem_size_bytes{mountpoint="/"} * 100
#使用正则表达式匹配多个挂载点
(node_filesystem_size_bytes{mountpoint="/|/run"} - node_filesystem_free_bytes{mountpoint="/|/run"}) / node_filesystem_size_bytes{mountpoint="/|/run"} * 100
#使用 predict_linear 函数来构建在未来什么时候会耗尽磁盘空间
predict_linear(node_filesystem_free_bytes{mountpoint="/"}[1h], 4* 3600) < 0

五、正则匹配

node_cpu_seconds_total{mode=~'s.*'}		#匹配以s开头的

六、函数

hour()

on() hour() >= 14 <= 23		# 表示时间范围为北京时间:8点—21点,严格时间为7:59—21:59

那么是如何计算的呢?
上面表示的是14点—23点,这是UTC时间,而北京时间要在这个基础上+8小时,也就是
>=22和<=7,但这里没有分钟,带上分钟应该为>=21:59和<=7:59,取反后,最终表达的北京时间为:7:59—21:59,也就是我们说的8点到21点

rate()

每一个时间点的值与前面的值作差,全部相加求平均值,得到一个即时向量,适用于变化比较慢的指标

七、其他

[5m]

代表过去5分钟内的范围向量

[5m] offset 1d

获取距此刻1天之前5分钟内的所有样本

参考

https://www.bilibili.com/video/BV1PT4y1P7bX/?p=3&vd_source=0467ab39cc5ec5940fee22a0e7797575


http://www.niftyadmin.cn/n/5375873.html

相关文章

LeetCode、739. 每日温度【中等,单调栈】

文章目录 前言LeetCode、739. 每日温度【中等&#xff0c;单调栈】题目链接及分类思路单调栈 资料获取 前言 博主介绍&#xff1a;✌目前全网粉丝2W&#xff0c;csdn博客专家、Java领域优质创作者&#xff0c;博客之星、阿里云平台优质作者、专注于Java后端技术领域。 涵盖技…

使用二分查找优化时间复杂度

二分查找&#xff0c;也称为折半查找&#xff0c;是一种效率较高的查找方法。但是&#xff0c;折半查找要求线性表必须采用顺序存储结构&#xff0c;而且表中元素按关键字有序排列。我们应该如何用在具体问题中呢&#xff1f; 题目链接&#xff08;力扣&#xff08;LeetCode&am…

TCP 和 UDP的区别

文章目录 概述区别UDPTCPTCP与UDP的选择UDP和TCP编程区别 概述 TCP&#xff08;Transmission Control Protocol&#xff0c;传输控制协议&#xff09;和 UDP&#xff08;User Datagram Protocol&#xff0c;用户数据报协议&#xff09;是互联网中两种最常用的传输层协议 总的来…

compile error ESP32cam.h no such file or directory

解决方法 可以参考这篇文章&#xff1a; But first, you will need to download the esp32cam.h library. For this go to Github and download the esp32cam Zip. GitHub - yoursunny/esp32cam: OV2640 camera on ESP32-CAM, Arduino library 具体就是下面的这篇重要的文章 …

ChatGPT高效提问—prompt实践(智能开发)

ChatGPT高效提问—prompt实践&#xff08;智能开发&#xff09; ​ 如果你是一名程序员&#xff0c;一定有过这样的经历&#xff1a;排查某个bug话费好几个小时&#xff0c;在各个搜索引擎尝试搜索&#xff0c;浏览了几十甚至上百个网站&#xff0c;结果搜到的答案千篇一律&am…

C#系列-C#EF框架实现增删改查(27)

在C#中&#xff0c;Entity Framework (EF) 是一个流行的对象关系映射器 (ORM)&#xff0c;它使得开发者可以使用面向对象的方式来操作数据库。使用EF&#xff0c;你可以将数据库表映射到C#类&#xff0c;并使用EF提供的方法来执行数据库操作&#xff0c;如增加、删除、修改和查…

【Java程序设计】【C00268】基于Springboot的CSGO赛事管理系统(有论文)

基于Springboot的CSGO赛事管理系统&#xff08;有论文&#xff09; 项目简介项目获取开发环境项目技术运行截图 项目简介 这是一个基于Springboot的赛事管理系统 本系统分为系统功能模块、管理员功能模块、参赛战队功能模块以及合作方功能模块。 系统功能模块&#xff1a;在系…

十、java 接口

文章目录 接口1.1 接口的概念1.2 接口定义1.3 实现接口1.4 使用接口1.5 接口的细节1.6 Java 8 和Java 9 对接口的增强 接口 本文为书籍《Java编程的逻辑》1和《剑指Java&#xff1a;核心原理与应用实践》2阅读笔记 很多时候&#xff0c;我们将对象看作属于某种数据类型&#…