3. Node_export安裝部署


首先我們要知道什么是Node_export?因為Prometheus本身不具備監控功能,我們要通過Prometheus收集數據,需要安裝對應的export。如Node_export用於監控服務器狀態,如cpu、內存、網絡、磁盤等信息。

注意事項: node_exporter服務需要在兩台機器都安裝,這里我們以客戶端(192.168.229.138)為例

客戶端

1.創建運行用戶

[root@localhost opt]# groupadd -r prometheus
[root@localhost opt]# useradd -r -g prometheus -d / -s /sbin/nologin -c "prometheus user" prometheus

2.下載安裝

[root@localhost opt]# wget https://github.com/prometheus/node_exporter/releases/download/v0.18.1/node_exporter-0.18.1.linux-amd64.tar.gz
[root@localhost opt]# tar -xf node_exporter-0.18.1.linux-amd64.tar.gz
[root@localhost opt]# cp node_exporter-0.18.1.linux-amd64/node_exporter /usr/local/bin/

3.配置啟動腳本

[root@localhost opt]# vim /usr/lib/systemd/system/node_exporter.service
[Unit]
Description=node_export
Documentation=https://github.com/prometheus/node_exporter
After=network.target
 
[Service]
Type=simple
User=prometheus
ExecStart=/usr/local/bin/node_exporter
Restart=on-failure
[Install]
WantedBy=multi-user.target

4.啟動

[root@localhost opt]# systemctl daemon-reload
[root@localhost opt]# systemctl enable node_exporter
Created symlink from /etc/systemd/system/multi-user.target.wants/node_exporter.service to /usr/lib/systemd/system/node_exporter.service.
[root@localhost opt]# systemctl start node_exporter

5.監聽9100端口

[root@localhost opt]# netstat -anlptu|grep 9100
tcp        0      0 192.168.229.139:56874   192.168.229.138:9100    ESTABLISHED 8528/prometheus     
tcp        0      0 192.168.229.139:40074   192.168.229.139:9100    ESTABLISHED 8528/prometheus     
tcp6       0      0 :::9100                 :::*                    LISTEN      6064/node_exporter  
tcp6       0      0 192.168.229.139:9100    192.168.229.139:40074   ESTABLISHED 6064/node_exporter  

服務端

1.安裝node_exporter,參考客戶端安裝

2. 修改prometheus.yml

[root@localhost opt]# vim /etc/prometheus/prometheus.yml
scrape_configs:
  # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
  - job_name: 'prometheus'
    # metrics_path defaults to '/metrics'
    # scheme defaults to 'http'.
    static_configs:
    - targets: ['localhost:9090']
  - job_name: 'node'   ### 新增加job
    static_configs:
    - targets: ['192.168.229.139:9100','192.168.229.138:9100']  ### 主機列表

3.訪問Prometheus Status > targets

4.收集系統CPU監控信息

4.1 CPU使用率

公式:100 - (avg by (instance) (irate(node_cpu_seconds_total{mode="idle"}[5m])) * 100)

4.2 CPU負載

公式:

1分鍾負載:node_load1

5分鍾負載:node_load5

15分鍾負載:node_load15

5.收集系統內存監控信息

5.1 內存使用率

公式:(1 - (node_memory_MemAvailable_bytes / node_memory_MemTotal_bytes ))* 100

5.2 可用內存(單位:M)

公式:node_memory_MemAvailable_bytes / 1024 / 1024

6.收集系統磁盤監控信息

6.1 磁盤總大小(單位: G)

公式:node_filesystem_size_bytes {fstype=~"ext4|xfs"} / 1024 / 1024 / 1024

6.2 磁盤剩余大小(單位: G)

公式:node_filesystem_avail_bytes {fstype=~"ext4|xfs"} / 1024 / 1024 / 1024

6.3 磁盤使用率

公式:(1-(node_filesystem_free_bytes{fstype=~"ext4|xfs"} / node_filesystem_size_bytes{fstype=~"ext4|xfs"})) * 100

7.收集系統網絡監控信息(ip add 查看網卡信息)

7.1 網卡入網流量 (指定某一個網卡)

公式:irate(node_network_receive_bytes_total{device='ens33'}[5m])

7.2 網卡出網流量(指定某一個網卡)

公式:irate(node_network_transmit_bytes_total{device='ens33'}[5m])

說明:以上收集系統各信息,都是通過node_exporter服務進行數據的收集,然后通過prometheus內置的PromQL語句進行組合查詢,對於每一個公式,都可以在prometheus WEB界面測試查詢。關於具體的PromQL語句以及公式中函數的使用參考:PromQL語句

軟件測試汪簡書地址
軟件測試汪博客地址

歡迎關注微信公眾號:軟件測試汪。軟件測試交流群:809111560

轉載請注意出處,謝謝合作


免責聲明!

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



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