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]))
系統負載