前言:

node_exporter用于监控*nux系统,使用go编写的收集器

prometheus服务器:192.168.199.222

监控服务器 192.168.199.221


在192.168.199.221下载node_exporter

wget https://github.com/prometheus/node_exporter/releases/download/v*/node_exporter-*.*-amd64.tar.gz
tar xvfz node_exporter-*.*-amd64.tar.gz
cd node_exporter-*.*-amd64
./node_exporter

起来后node_exporter会监控在9100端口,

可通过curl http://localhost:9100/metrics 或者浏览器输入http://192.168.199.221:9100/metrics查看收集到的数据指标


使用文件服务发现的模式监控node_exporter,prometheus.yml添加配置如下(scrape_configs块下添加):

- job_name: 'node'
    file_sd_configs:
    - files: ['/usr/local/prometheus/sd_config/node.yml']
      refresh_interval: 5s

添加/usr/local/prometheus/sd_config/node.yml文件如下:

- targets:
  - 192.168.199.221:9100


来看prometheus ui

blob.png

使用promql

监控192.168.199.221服务器cpu 5分钟内的平均利用率

100-irate(node_cpu_seconds_total{job="node",mode="idle"}[5m])*100

blob.png

blob.png


内存使用率

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

blob.png



磁盘使用率

100-node_filesystem_free_bytes{mountpoint="/"}/node_filesystem_size_bytes{mountpoint="/"}*100


修改node_exporter启动命令,监控linux服务器的运行状态

nohup ./node_exporter  --collector.systemd --collector.systemd.unit-whitelist=(docker|sshd).service &

启动后promql中会有node_systemd_unit_state。如图

blob.png