prometheus 監控liunx主機

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

查看監控是否生效

prometheus 監控liunx主機

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)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章