Prometheus的语句

news2024/11/14 11:11:20

1、node_cpu_seconds_total:监控项数据、指标项

2、node_cpu_seconds_total{cpu="0"}:时间序列

node_cpu_seconds_total

监控项数据(指标项)

{cpu="0"}

标签

node_cpu_seconds_total{cpu="0"}:

node使用CPU的描述的统计,符合标签CPU=0的时间序列的查询结果

3、标签

1__address__:双下划线标签,是Prometheus系统的默认标签,不显示在target页面当中,只有把光标移动到label的字段上,才能显示默认标签

4、过滤

(1)node_cpu_seconds_total{mode="iowait"}

(2)node_cpu_seconds_total{cpu="1",mode="iowait"}

5、匹配标签值(操作符)

=

完全相等

!=

不等于,相当于取反

=~

正则表达式匹配

!~

正则表达式取反

数学运算符

+

加法

-

减法

*

乘法

/

除法

%

取余

^

幂运算

通配符

.

任意单个字符

.*

多个任意字符

.+

一个或者多个任意字符

1)node_cpu_seconds_total{cpu!="1",mode=~"iowait"}

6、数据类型

瞬时向量

一组时序,每个时序只有一个采样值

区间向量

一组时序,每个时序包含一段时间内的多个采样值

rate(container_cpu_load_average_10s{instance="node1"}[5m]):

展示container_cpu_load_average_10s指标的过去每5分钟的采样值,对应的标签是node1

时长的单位类型

s

seconds秒

m

minutes分

h

hour时

d

day日

w

weeks周

y

years年

标量数据

浮点数

字符串

一个字符串

counter

总数,在promQL语句中没有直接作用,由rate、topk、increase、irate函数生成样本数据的变化情况

topk(3,node_cpu_seconds_total):展示前三位数据

increase:结合区间向量一起使用,表示时间序列在一定范围内的增量

increase(node_cpu_seconds_total[5m]):展示数据在5分钟内的增量

irate:高灵敏度的函数,计算指标的瞬时速率,基于样本范围内的最后两个样本数据进行计算(相比),更适用于短时间内的变化速率分析,结合区间向量一起使用

irate(node_cpu_seconds_total[5m]):5分钟内的瞬时变化速率

大部分以total结尾的都是counter类型

gauge

用于存储值、可增可减的指标样本数据,求和、求平均数、取最小值和最大值,也会结合函数delta和predict_linear一起使用

delta:用于计算范围向量中的每个时间序列元素的第一个值和最后一个值之间的差,展示不同时间上样本值的差值

delta(container_memory_cache{instance="node1"}[5m])

predict_linear:可以预测时间序列在V点、在T秒之后的变化趋势,是对样本数据的变化数据做出预测

predict_linear(node_filesystem_files{instance="master"}[2h],4*3600):

node_filesystem_files:计算node节点上的文件数,选择的标签是master,过去两小时,4*3600未来4个小时。统计过去两个小时样本数据的变化,根据过去两个小时的数据变化预测未来4个小时的数据变化

histogram

对一定时间范围内的数据进行采样,通常是请求持续的时长和响应大小的类型这一类,计入一个可配的桶(bucket),通过区间对样本进行筛选,也可以统计求和

node_authorizer_graph_actions_duration_seconds_bucket{instance="20.0.0.71:6443",le="0.0002"}:观测桶的上边界,样本的统计区间,表示所有的样本值小于等于上边界值的所有样本数量

node_authorizer_graph_actions_duration_seconds_bucket{instance="20.0.0.71:6443",le="+Inf"}最大区间,包含的所有样本数量

apiserver_current_inflight_requests{instance="20.0.0.71:6443"} >=1快速的了解监控样本的分布情况

summary

分位数计算、类似于histogram,在客户端于一段时间内(默认是10分钟)的每个采样点进行统计,计算并且存储了分位数的值,服务端可以直接抓取响应的值

quantile="0.5",0——1的范围内,围绕中位数0.5进行比较

7、聚合操作符

sum

求和

sum(container_cpu_usage_seconds_total)

min

最小值

min(container_cpu_usage_seconds_total)

max

最大值

max(container_cpu_usage_seconds_total)

avg

平均值

avg(container_cpu_usage_seconds_total)

stddev

标准差

stdvar

方差

count

元素个数

count(container_cpu_usage_seconds_total)

count_values

等于某个值的元素个数

topk

最大的元素的个数

topk(3,container_cpu_usage_seconds_total)

bottomk

最小的元素的个数

bottomk(3,container_cpu_usage_seconds_total):取前三个最小的元素个数

topk和bottomk,需要带入数值,数值表示的是取前几位还是后几位

quantile

分位数

quantile(0.65,container_cpu_usage_seconds_total)

8、promQL语句的业务中使用

1计算某个节点的所有容器的使用内存的时间序列:单位GB
sum(container_memory_usage_bytes{instance="node1"})/1024/1024/1024

2某个节点最近1分钟内所有容器使用CPU的情况
sum(rate(container_cpu_usage_seconds_total{instance="node1"}[1m]))

(3)最近一分钟所有容器的使用率:

sum by (id )(rate(container_cpu_usage_seconds_total{id!="/"}[1m]))

4查询k8s集群中最近1分钟每个pod的CPU使用率:
sum by (name)(rate(container_cpu_usage_seconds_total{image!="",name!=""}[1m]))

计算 master01 节点所有容器总计内存:

sum(container_memory_usage_bytes{instance=~"master01"})/1024/1024/1024

计算 master01 节点最近 1m 所有容器 cpu 使用率:

sum (rate (container_cpu_usage_seconds_total{instance=~"master01"}[1m])) / sum (machine_cpu_cores{ instance =~"master01"}) * 100

计算最近 1m 所有容器 cpu 使用率

sum by (id)(rate (container_cpu_usage_seconds_total{id!="/"}[1m]))

查询 K8S 集群中最近 1m 每个 Pod 的 CPU 使用率

sum by (name)(rate (container_cpu_usage_seconds_total{image!="", name!=""}[1m]))

每台主机 CPU 在最近 5 分钟内的平均使用率

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

查询 1 分钟的 load average 的时间序列是否超过主机 CPU 数量 2 倍

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

计算主机内存使用率可用内存空间:空闲内存、buffer、cache 指标之和

node_memory_MemFree_bytes + node_memory_Buffers_bytes + node_memory_Cached_bytes

已用内存空间:总内存空间减去可用空间

node_memory_MemTotal_bytes - (node_memory_MemFree_bytes + node_memory_Buffers_bytes + node_memory_Cached_bytes)

使用率:已用空间除以总空间

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

计算所有 node 节点所有容器总计内存:

sum  by (instance) (container_memory_usage_bytes{instance=~"node*"})/1024/1024/1024

计算 node01 节点最近 1m 所有容器 cpu 使用率:

sum (rate(container_cpu_usage_seconds_total{instance="node01"}[1m])) / sum (machine_cpu_cores{instance="node01"}) * 100

#container_cpu_usage_seconds_total 代表容器占用CPU的时间总和

计算最近 5m 每个容器 cpu 使用情况变化率

sum (rate(container_cpu_usage_seconds_total[5m])) by (container_name)

查询 K8S 集群中最近 1m 每个 Pod 的 CPU 使用情况变化率

sum (rate(container_cpu_usage_seconds_total{image!="", pod_name!=""}[1m])) by (pod_name)

#由于查询到的数据都是容器相关的,所以最好按照 Pod 分组聚

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1423099.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

windows设置openDNS

windows环境搭建专栏🔗点击跳转 win系统环境搭建(十九)——windows设置openDNS 文章目录 win系统环境搭建(十九)——windows设置openDNS1.什么是openDNS?2.openDNS的ip是多少?3.设置DNS3.1 设置…

Android开发学习-中级控件

Drawable Android把所有能够显示的图形都抽象为Drawable类(可绘制的)。 这里的图形不止是图片,还包括色块、画板、背景等。 包含图片在内的图形文件放在res目录的各个drawable目录下,其中drawable目录一般保存描述性的XML文件,而图片文件一…

数据中心IP代理是什么?有何优缺点?海外代理IP全解

海外代理IP中,数据中心代理IP是很热门的选择。这些代理服务器为用户分配不属于 ISP(互联网服务提供商)且来自第三方云服务提供商的 IP 地址,是分配给位于数据中心的服务器的 IP 地址,通常由托管和云公司拥有。 这些 I…

搭建幻兽帕鲁需要什么样的服务器

作为一个开放世界生存制造类游戏《幻兽帕鲁》收获了空前绝后的热度,玩家们在游戏中通过在地图上捕捉收集到的“帕鲁”进行训练,合理利用他们的能力进行战斗,建立自己的家园、开辟新的世界、解锁新的冒险情节,获取更多游戏信息增加…

【JavaEE】UDP协议与TCP协议

作者主页:paper jie_博客 本文作者:大家好,我是paper jie,感谢你阅读本文,欢迎一建三连哦。 本文于《JavaEE》专栏,本专栏是针对于大学生,编程小白精心打造的。笔者用重金(时间和精力)打造&…

LabVIEW传感器通用实验平台

LabVIEW传感器通用实验平台 介绍了基于LabVIEW的传感器实验平台的开发。该平台利用LabVIEW图形化编程语言和多参量数据采集卡,提供了一个交互性好、可扩充性强、使用灵活方便的传感器技术实验环境。 系统由硬件和软件两部分组成。硬件部分主要包括多通道数据采集卡…

华为云WAF,开启web网站的专属反爬虫防护罩

背景 从保护原创说起 作为一个原创技术文章分享博主,日常除了Codeing就是总结Codeing中的技术经验。 之前并没有对文章原创性的保护意识,直到在某个非入驻的平台看到了我的文章,才意识到,辛苦码字、为灵感反复试验创作出来的文…

Java学习笔记(十一)——常用类

一、包装类 (一)包装类和基本数据类型的转换 ​编辑 (二)包装类型和String类型的相互转换 (三)Integer类和Character类的常用方法 二、String (一)创建String对象的两种方式 …

Redis核心技术与实战【学习笔记】 - 11.响应延迟的波动问题及解决方案

在 Redis 的实际应用中,有一个非常严重的问题,就是 Redis 突然变慢了。举个例子,在秒杀场景下,一旦 Redis 变慢了,大量的用户下单请求就会被拖慢,也就是说,用户提交了下单申请,确没有…

【C语言】【力扣】1.两数之和

一、个人思考过程 int* twoSum(int* nums, int numsSize, int target, int* returnSize) {for(int i0;i<numsSize;i){for(int j0;j<numsSize;j){if((nums[i]nums[j]target)&&(i!j)){}}} 完成度&#xff1a;实现对nums[]数组的遍历和两数之和的判断。 问题&…

基于Java SSM框架实现药品销售系统项目【项目源码+论文说明】

基于java的SSM框架实现药品销售系统演示 摘要 本论文主要论述了如何使用JAVA语言开发一个药品销售系统 &#xff0c;本系统将严格按照软件开发流程进行各个阶段的工作&#xff0c;采用B/S架构&#xff0c;面向对象编程思想进行项目开发。在引言中&#xff0c;作者将论述药品销…

介绍一款资料管理类浏览器

DT浏览器不同于普通意义上的浏览器&#xff0c;DT的含义就是数据资料的意思&#xff0c;更专注于资料的收集和管理&#xff0c;是一款资料管理类的浏览器&#xff0c;也是一款面向教育、培训、编程、技术和科研等资料收集领域的手机软件&#xff0c;主要有网络搜索、资料收藏&a…

Single-Head ViT;Faster Whisper;Transformer KF;Pick-and-Draw

本文首发于公众号&#xff1a;机器感知 Single-Head ViT&#xff1b;Faster Whisper&#xff1b;Transformer KF&#xff1b;Pick-and-Draw SHViT: Single-Head Vision Transformer with Memory Efficient Macro Design Recently, efficient Vision Transformers have shown …

Docker多节点部署Minio分布式文件系统并测试

文章目录 一、前提准备二、文件配置1. .env2. env/minio.env3. docker-compose-minio.yml 三、测试四、Java测试1. 引入依赖2. 增删改 一、前提准备 准备如下文件夹和文件 ./ ├── docker-compose-minio.yml ├── .env ├── env │ ├── minio.env ├── minio │…

windows安装oracle之后怎么连接使用

目录 1.打开SQl Developer 2.选择JDK 3.登录 4.创建表空间,用户 安装oracle的详细教程 WINDOWS安装Oracle11.2.0.4-CSDN博客 1.打开SQl Developer 找到 SQl Developer 2.选择JDK 根据你安装的oracle版本,因为我的oracle是安装的32位的,所以这里jdk也要选择32位 选择到ja…

熟悉MATLAB 环境

一、问题描述 熟悉MATLAB 环境。 二、实验目的 了解Matlab 的主要功能&#xff0c;熟悉Matlab 命令窗口及文件管理&#xff0c;Matlab 帮助系统。掌握命令行的输入及编辑&#xff0c;用户目录及搜索路径的配置。了解Matlab 数据的特点&#xff0c;熟悉Matlab 变量的命名规则&a…

【JAVA】Long类型返回到前端,精度丢失

一. 问题阐述 20位long类型的数字&#xff0c;从后端接口返回到前端后【四舍五入】 MYSQL端 &#xff08;1&#xff09;bigint (20) &#xff08;2&#xff09;具体某一条数据 JAVA端 &#xff08;1&#xff09;实体类 &#xff08;2&#xff09;服务类 &#xff08;3&…

DevExpress WinForms中文教程 - 如何创建可访问的WinForms应用?(一)

为用户创建易访问的Windows Forms应用程序不仅是最佳实践的体现&#xff0c;还是对包容性和以用户为中心的设计承诺。在应用程序开发生命周期的早期考虑与可访问性相关的需求可以节省长期运行的时间(因为它将决定设计决策和代码实现)。 一个可访问的WinForms应用程序提供了各种…

Unity之第一人称角色控制

目录 第一人称角色控制 &#x1f634;1、准备工作 &#x1f4fa;2、鼠标控制摄像机视角 &#x1f3ae;3、角色控制 &#x1f603;4.杂谈 第一人称角色控制 专栏Unity之动画和角色控制-CSDN博客的这一篇也有讲到角色控制器&#xff0c;是第三人称视角的&#xff0c;以小编…

The Sandbox 新赛事开启|参加VoxEdit 战士装备设计比赛吧!

来参加VoxEdit 迷你竞赛吧&#xff01; 按此下载 VoxEdit 即可开始。 https://www.sandbox.game/en/create/vox-edit/ 主题&#xff1a;设计以战士为主题的装备。你可以选择任何装备模板。你也可以选择制作动画&#xff0c;以更精彩地呈现你的创意。 你可以创建单件装备或整套…