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)
来源: http://www.bubuko.com/infodetail-3424302.html