liunx 基础资源监控使用 exporter
什么是exporter
exporter 是一个采集监控数据并通过 prometheus 监控对外提供数据的组件,exporter 主要通过被监控对象提供的监控相关接口获取监控数据
安装部署
wget https://github.com/prometheus/node_exporter/releases/download/v0.18.1/node_exporter-0.18.1.linux-amd64.tar.gz
安装到对应目录
制作标准启动服务
cat /etc/systemd/system/node_exporter.service
[Unit]
Description=node_export
[Service]
ExecStart=/op/xxx/node_export
[Install]
WantedBy=multi-user.target
启动
systemctl enable node_exporter.service
systemctl start node_exporter.service
在prometheus server 添加主机信息
scrape_configs:
# The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
- job_name: ‘shanghai‘
static_configs:
- targets: [‘x.x.x.x:9090‘]
relabel_configs:
- action: replace
source_labels: [‘job‘]
regex: (.*)
replacement: $1
target_label: idc
- job_name: ‘node1‘
static_configs:
- targets: [‘x.x.x.x:9100‘]
重启prometheus 或者重载配置文件 kill -hup $pid
查看监控是否生效
exporter 常见的监控项
node_disk 磁盘
node_cpu cpu
node_memory 内存
node_network 网络
node_load1 系统负载
常用查询语句
cpu 使用率
100 - (avg by (instance) (irate(node_cpu{instance="xxx:9100", mode="idle"}[5m])) * 100)
机器平均负载
网卡接收
sum(rate(node_network_receive_bytes_total{instance="xxx:9100",job="server",device!="lo"}[5m]))
网卡出量
sum(rate(node_network_transmit_bytes{instance="xxx:9100",job="server",device!="lo"}[5m]))
系统负载
node_load1{instance="xxx:9100"} // 1分钟负载
node_load5{instance="xxx:9100"} // 5分钟负载
node_load15{instance="xxx:9100"} // 15分钟负载
内存使用率
round((node_memory_MemTotal_bytes-(node_memory_MemFree_bytes+node_memory_Buffers_bytes+node_memory_Cached_bytes))/node_memory_MemTotal_bytes * 100)
原文地址:https://blog.51cto.com/sdsca/2471398