获取 各种状态 CPU 的使用率

  • 所有 CPU 状态下,每分钟的使用率
  • System 用户 每分钟的使用率
  • User 下每分钟的使用率
  • idle 每分钟的使用率
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    # HELP node_cpu_guest_seconds_total Seconds the cpus spent in guests (VMs) for each mode.
    # TYPE node_cpu_guest_seconds_total counter
    node_cpu_guest_seconds_total{cpu="0",mode="nice"} 0
    node_cpu_guest_seconds_total{cpu="1",mode="nice"} 0
    node_cpu_guest_seconds_total{cpu="2",mode="nice"} 0
    node_cpu_guest_seconds_total{cpu="3",mode="user"} 0

    # HELP node_cpu_info CPU information from /proc/cpuinfo.
    # TYPE node_cpu_info gauge
    node_cpu_info{cachesize="8192 KB",core="0",cpu="0",family="6",microcode="0xae",model="142",model_name="Intel(R) Core(TM) i7-8565U CPU @ 1.80GHz",package="0",stepping="11",vendor="GenuineIntel"} 1
    node_cpu_info{cachesize="8192 KB",core="0",cpu="2",family="6",microcode="0xae",model="142",model_name="Intel(R) Core(TM) i7-8565U CPU @ 1.80GHz",package="1",stepping="11",vendor="GenuineIntel"} 1
    node_cpu_info{cachesize="8192 KB",core="1",cpu="1",family="6",microcode="0xae",model="142",model_name="Intel(R) Core(TM) i7-8565U CPU @ 1.80GHz",package="0",stepping="11",vendor="GenuineIntel"} 1
    node_cpu_info{cachesize="8192 KB",core="1",cpu="3",family="6",microcode="0xae",model="142",model_name="Intel(R) Core(TM) i7-8565U CPU @ 1.80GHz",package="1",stepping="11",vendor="GenuineIntel"} 1
    # HELP node_cpu_seconds_total Seconds the cpus spent in each mode.
    # TYPE node_cpu_seconds_total counter
    # 主机实际的 CPU 指标

    # CPU 0 的空闲的 CPU
    node_cpu_seconds_total{cpu="0",mode="idle"} 1370.51
    # CPU 的 IO 使用量
    node_cpu_seconds_total{cpu="0",mode="iowait"} 2.87
    node_cpu_seconds_total{cpu="0",mode="irq"} 0
    node_cpu_seconds_total{cpu="0",mode="nice"} 0
    # CPU 的 中断请求
    node_cpu_seconds_total{cpu="0",mode="softirq"} 1.05
    node_cpu_seconds_total{cpu="0",mode="steal"} 0
    node_cpu_seconds_total{cpu="0",mode="system"} 24.61
    node_cpu_seconds_total{cpu="0",mode="user"} 6.06

    相关的计算

    CPU 使用时间

    1
    2
    3
    4
    # 空闲的 CPU 的使用时间
    node_cpu_seconds_total{mode=“idle”}
    # 所有 CPU 的使用时间
    node_cpu_seconds_total

    一分钟之内的使用增量

    1
    2
    3
    4
    # 空闲CPU一分钟内的增量
    increase(node_cpu_seconds_total{mode=“idle”}[1m])
    # 全部CPU一分钟内的增量
    increase(node_cpu_seconds_total[1m])
    将多个 核 聚合起来
    1
    sum(increase(node_cpu_seconds_total{mode=“idle”}[1m]))
    根据实例,做分组
    1
    sum(increase(node_cpu_seconds_total{mode=“idle”}[1m])) by (instance)

CPU 使用率

1
(1-(sum(increase(node_cpu_seconds_total{mode="idle"}[1m]))by(instance))/(sum(increase(node_cpu_seconds_total[1m]))by(instance)))*100

CPU 核数

1
count(node_cpu_seconds_total{mode='system'})