Prometheus監控Linux服務器(三)


一、使用node-exporter用來監控linux指標

node-exporter它是使用go語言編寫的收集器

使用文檔:https://prometheus.io/docs/guides/node-exporter/

wget https://github.com/prometheus/node_exporter/releases/download/v1.0.0-rc.0/node_exporter-1.0.0-rc.0.linux-amd64.tar.gz
tar xf node_exporter-1.0.0-rc.0.linux-amd64.tar.gz -C /usr/local/
ln -s /usr/local/node_exporter-1.0.0-rc.0.linux-amd64/ /usr/local/node_exporter

# 可以直接執行node_exporter程序啟動服務
/usr/local/node_exporter/node_exporter

二、使用systemd來管理node_exporter服務

# vim /usr/lib/systemd/system/node_exporter.service
[Unit]
Description=https://prometheus.io

[Service]
Restart=on-failure
ExecStart=/usr/local/node_exporter/node_exporter

[Install]
WantedBy=multi-user.target
# systemctl daemon-reload 
# systemctl start node_exporter.service 

# 啟動服務后監聽端口9100
# netstat -lntp | grep node_export
tcp6       0      0 :::9100                 :::*                    LISTEN      2986150/node_export 

三、在prometheus服務端添加主機

前面已經配置了基於file_sd_configs的文件自動發現,所以添加完服務之后並不需要重啟prometheus服務

 [root@192-168-5-237 ~]# cd /usr/local/prometheus
 [root@192-168-5-237 prometheus]# vim sd_config/node.yml 
- targets:
  - 192.168.5.71:9100
  labels:
    app: nginx
 [root@192-168-5-237 prometheus]# ./promtool check config prometheus.yml 
Checking prometheus.yml
  SUCCESS: 0 rule files found

在status中查看targets中能看到新添加的主機

 

 四、promSQL獲取CPU、內存、磁盤使用率(臨時調試使用)

# 磁盤使用率
100 - (node_filesystem_free_bytes{mountpoint="/",fstype=~"ext4|xfs"} / node_filesystem_size_bytes{mountpoint="/",fstype=~"ext4|xfs"} * 100)

# cpu使用率
100 - (avg(irate(node_cpu_seconds_total{mode="idle"}[5m])) by (instance) * 100)

# 內存使用率
100 - (node_memory_MemFree_bytes+node_memory_Cached_bytes+node_memory_Buffers_bytes) / node_memory_MemTotal_bytes * 100

五、promSQL獲取系統服務運行狀態

5.1 查看node_exporter幫忙獲取需要的參數選項

# ./node_exporter --help
--collector.systemd                         # Enable the systemd collector (default: disabled).
--collector.systemd.unit-whitelist=".+"     # Regexp of systemd units to whitelist. Units must both match whitelist and not match blacklist to be included.

5.2 修改node_exporter服務啟動參數(監控sshd和nginx服務)

# cat /usr/lib/systemd/system/node_exporter.service 
[Unit]
Description=https://prometheus.io

[Service]
Restart=on-failure
ExecStart=/usr/local/node_exporter/node_exporter --collector.systemd --collector.systemd.unit-whitelist=(sshd|nginx).service 
[Install]
WantedBy=multi-user.target

# systemctl daemon-reload
# systemctl restart node_exporter.service 

  # ps aux | grep node
  root 2993957 0.2 0.5 115760 10216 ? Ssl 20:46 0:00 /usr/local/node_exporter/node_exporter --collector.systemd --collector.systemd.unit-whitelist=(sshd|nginx).service

5.3 查看prometheus端是否成功

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM