promethues语句

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

匹配标签值 操作符号:

完全相等

!= 不等于,相当于取反

正则表达式匹配-

!- 正则表达式取反

数学运算:

+加法

-减法

*乘法

/除法

%取余

^幂运算

通配符:

. 任意单个字符

.* 多个任意资源

.+ 一个或者多个任意字符

数据类型:

1、瞬时向量(一组数据。每个时序只有一个采样值)

2、区间向量

3、标量数据

4、字符串

5、counter类型

总数,在promgl当中没有直接作用,rate topk increase irate函数来生成样本数据的变化情况。

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

Tirate:高灵敏度的函数,计算指标是瞬时速率,基于样本范围内的最后两个样本数据进行计算。irate更使用与短时间内的变化速率分析

6、gauge类型

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

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

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

predict linear(node filesystem filesfinstance="master01"32h],4*3600)

node filesystem_files 文件数,选择的标签是master01

2h过去两个小时,4*3600 未来4个小时

7、histogram类型

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

node authorizer graph actions duration seconds bucketlinstance="192.168.233.91:6443" le="0.0002"

观测桶的上边界,样本的统计区间,表示所有的样本值小于等于上边界值的所有样本数量.

le="+Inf”,最大区间,包含的所有样本数量。

apiserver_current inqueue requestsfinstance="192.168.233.91:6443 >=1

快速的了解监控样本的分布情况。

8、summary类型

rate(container_cpu load average_10sfinstance="node01"3[5m])

展示: container_cpu _load_average_10s指标的过去每5分钟的采样值。对应的标签是node01

sum(container_memory usage bytes instance="node01"1)/1024/1024/1024

#计算 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]))

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

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

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

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

(3)计算主机内存使用率

可用内存空间:空闲内存、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

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

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

(5)计算 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的时间总和

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

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

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

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

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

  • 11
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

91888888

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值