文章目录

  • 1.Prometheus基础
  • 2.表达式
  • 2.1 指定namespace所属容器CPU使用率
  • 2.2 磁盘读取速率(单位:字节/秒)
  • 2.3 磁盘写入速率(单位:字节/秒)
  • 2.4 网络接收速率(单位:字节/秒)
  • 2.5 网络发送速率(单位:字节/秒)
  • 2.6 指定namespace当前内存使用总量(单位:字节)


1.Prometheus基础

时间序列 是指将同一统计指标的数值按其发生的时间先后顺序排列而成的数列

表达式

描述

=

选择正好相等的字符串标签

!=

选择不相等的字符串标签

=~

选择匹配正则表达式的标签(或子标签)

!~

选择不匹配正则表达式的标签(或子标签)

单位

描述

s

seconds(秒)

m

minutes(分)

h

hours(时)

d

days(天)

w

weeks(周)

y

years(年)

: [1m]指过的去1分钟内

名称

类型

单位

说明

container_cpu_usage_seconds_total

counter

秒数

该容器服务针对每个CPU累计消耗的CPU时间。如果有多个CPU,则总的CPU时间需要把各个CPU耗费的时间相加

container_cpu_user_seconds_total

counter

秒数

该容器服务累计消耗的用户(user)CPU时间

container_cpu_system_seconds_total

counter

秒数

该容器服务累计消耗的系统(system)CPU时间

container_cpu_cfs_throttled_seconds_total

counter

秒数

cfs 是完全公平调度器(Completely Fair Scheduler)的缩写,是Linux的一种控制CPU资源占用的机制,可以按指定比例分配调度CPU 的使用时间。这个指标指的是该容器服务被限制使用的CPU时间

container_cpu_cfs_throttled_periods_total

counter

个数

文档注释是:“Number of throttled period intervals.”,解释为被限制/节流的CPU时间周期数

container_cpu_cfs_periods_total

counter

个数

文档注释是:“Number of elapsed enforcement period intervals。”,应该解释为已经执行的CPU时间周期数

container_cpu_load_average_10s

gauge

文档注释是:“Value of container cpu load average over the last 10 seconds.”应该解释为过去10秒内的CPU负载的平均值

2.表达式

2.1 指定namespace所属容器CPU使用率

表达式:namespace:container_cpu_usage_seconds_total:sum_rate{namespace=“default”}
含义:namespace下CPU的使⽤率 = (namespace下所有应用⾮空闲状态的CPU使⽤时间总和 )/ (namespace下所有应用状态CPU时间的总和)

kube prometheus 对接企业微信_文档注释

2.2 磁盘读取速率(单位:字节/秒)

表达式:sum(rate(container_fs_reads_bytes_total{namespace=“default”}[5m]))
含义:获取namespace({namespace=“default”})下所有应用5分钟(5m)内从容器文件系统(磁盘)读取字节平均每秒增量之和
比如:(5分钟namespace="default"下所有应用磁盘读取字节增量)/(5*60)

kube prometheus 对接企业微信_正则表达式_02

2.3 磁盘写入速率(单位:字节/秒)

表达式:sum(rate(container_fs_writes_bytes_total{namespace=“default”}[5m]))
含义:获取namespace({namespace=“default”})下所有应用5分钟(5m)内从容器文件系统(磁盘)写入字节平均每秒增量之和
比如:(5分钟namespace="default"下所有应用磁盘写入字节增量)/(5*60)

kube prometheus 对接企业微信_正则表达式_03

2.4 网络接收速率(单位:字节/秒)

表达式:sum(irate(container_network_receive_bytes_total{namespace=“default”}[5m]))
含义:获取namespace({namespace=“default”})下所有应用5分钟(5m)内接收的累计字节平均每秒增量之和
比如:(5分钟namespace="default"下所有应用网络接收字节增量)/(5*60)

kube prometheus 对接企业微信_正则表达式_04

2.5 网络发送速率(单位:字节/秒)

表达式:sum(irate(container_network_transmit_bytes_total{namespace=“default”}[5m]))
含义:获取namespace({namespace=“default”})下所有应用5分钟(5m)内发送的累计字节平均每秒增量之和
比如:(5分钟namespace="default"下所有应用网络发送字节增量)/(5*60)

kube prometheus 对接企业微信_文档注释_05

2.6 指定namespace当前内存使用总量(单位:字节)

表达式:sum(container_memory_usage_bytes{namespace=“default”})
含义:获取namespace({namespace=“default”})下所有应用当前内存使用情况,以字节为单位,包括所有内存

kube prometheus 对接企业微信_文档注释_06