node-exporter PromQL语句分析

本篇文章分析下Grafana 1860使用的PromQL来加深下对PromQL语法的理解

docker-compose

docker-compose可以快速搭建实验环境.

  • docker-compose.yaml
version: '3.2'
services:
  prometheus:
    image: prom/prometheus:latest
    container_name: prometheus
    ports:
    - 9090:9090
    command:
    - --config.file=/etc/prometheus/prometheus.yml
    volumes:
    - ./prom/prometheus.yml:/etc/prometheus/prometheus.yml:ro
  grafana:
    image: grafana/grafana-enterprise
    ports:
    - 3000:3000 
  node_exporter:
    image: prom/node-exporter:latest
    container_name: node_exporter
    command:
      - '--path.rootfs=/host'
    network_mode: host
    pid: host
    restart: unless-stopped
    volumes:
      - '/:/host:ro,rslave'

node_exporter docker: https://github.com/prometheus/node_exporter.git

  • /prom/prometheus.yml
scrape_configs:
- job_name: prom
  scrape_interval: 5s
  static_configs:
  - targets:
    - localhost:9090
- job_name: node_exporter
  scrape_interval: 5s
  static_configs:
  - targets:
    - 192.168.10.64:9100

运行下面命令启动:

docker-compose up -d

样例

可用内存百分比

100 - ((node_memory_MemAvailable_bytes{instance="$node",job="$job"} * 100) / 
        node_memory_MemTotal_bytes{instance="$node",job="$job"})

可用内存百分比= 可用内存/内存总量

node_memory_MemAvailable_bytes{instance="$node",job="$job"} 代表每个job每个node的可用内存,这里nodejob都是变量,属于指标项里的标签。

prometheus可以看到标签项:
在这里插入图片描述

jobnode属于graphna配置的变量:
在这里插入图片描述
可以在dashboard上通过下拉列表来切换:

在这里插入图片描述

CPU占比

每个实例cpu在system模式

sum by (instance)(rate(node_cpu_seconds_total{mode="system",instance="$node",job="$job"}
[$__rate_interval])) * 100
  • node_cpu_seconds_total是一个Counter类型,
  • rate(node_cpu_seconds_total{mode="system",instance="$node",job="$job"}[$__rate_interval]) 代表$__rate_interval时间内每秒cpu处于system调用的时间
  • sum by (instance) 标签中仅包含实例instance ,也就是每个实例每秒system调用时长
  • sum by (instance)(rate(node_cpu_seconds_total{mode="system",instance="$node",job="$job"}[$__rate_interval])) * 100 代表每个实例system调用百分比。
    假如每秒system调用是100ms=0.1s的话,0.1*100=10%, 即system调用占用10%的cpu.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值