前言:
node_exporter用于监控*nux系统,使用go编写的收集器
prometheus服务器:192.168.199.222
监控服务器 192.168.199.221
在192.168.199.221下载node_exporterwget 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端口,
使用文件服务发现的模式监控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
使用promql
监控192.168.199.221服务器cpu 5分钟内的平均利用率100-irate(node_cpu_seconds_total{job="node",mode="idle"}[5m])*100
内存使用率100-(node_memory_MemFree_bytes+node_memory_Cached_bytes+node_memory_Buffers_bytes)/node_memory_MemTotal_bytes*100
磁盘使用率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。如图