node-exporter安裝和詳解-適用於物理機虛擬機的監控采集


node-exporter:    采集node節點(物理機、虛擬機、雲主機)監控指標數據,能夠采集到主機的運行指標如CPU, 內存,磁盤,網絡,文件數等信息

 

1.k8s環境部署node-exporter

把node-export_v0_16.tar.gz鏡像上傳到master節點和node節點,然后解壓鏡像

wget http://download.zhufunin.com/k8s_1.16/node-exporter_v0_16.tar.gz
docker load -i node-exporter_v0_16.tar.gz

 

 2.在k8s集群部署node-exporter組件

(1)在k8s-master節點生成一個node-export.yaml文件

wget http://download.zhufunin.com/k8s_1.16/node-export.yaml
cat node-export.yaml 
kubectl apply -f node-export.yaml 

 

2.通過node-export采集數據

curl http://192.168.124.16:9100/metrics

#node-export默認的監聽端口是9100,可以看到當前主機獲取到的所有監控數據,如下一段所示:

 

# HELP node_cpu_seconds_total Seconds the cpus spent in each mode.

# TYPE node_cpu_seconds_total counter

node_cpu_seconds_total{cpu="0",mode="idle"} 56136.98

 

# HELP node_load1 1m load average.

# TYPE node_load1 gauge

node_load1 0.58

 

#HELP:解釋當前指標的含義,上面表示在每種模式下node節點的cpu花費的時間,以s為單位

#TYPE:說明當前指標的數據類型,上面是counter類型

 

node_cpu_seconds_total{cpu="0",mode="idle"}

cpu0上idle進程占用CPU的總時間,CPU占用時間是一個只增不減的度量指標,從類型中也可以看出node_cpu的數據類型是counter(計數器)

 

node_load1該指標反映了當前主機在最近一分鍾以內的負載情況,系統的負載情況會隨系統資源的使用而變化,因此node_load1反映的是當前狀態,數據可能增加也可能減少,從注釋中可以看出當前指標類型為gauge(標准尺寸)

 

 

counter計數器:只是采集遞增的指標

gauge標准尺寸:統計的指標可增加可減少

 

3.列舉常見的監控指標:

node_boot_time:系統啟動時間

node_cpu:系統CPU使用量

nodedisk*:磁盤IO

nodefilesystem*:文件系統用量

node_load1:系統負載

nodememeory*:內存使用量

nodenetwork*:網絡帶寬

node_time:當前系統時間

go_*:node exporter中go相關指標

process_*:node exporter自身進程相關運行指標

 

4.使用PromQL語句查詢監控數據

rate(node_cpu[1m])

 

使用without表達式,可以將標簽CPU去除后聚合數據即可:

avg without(cpu) (rate(node_cpu[1m]))

 

那如果需要計算系統CPU的總體使用率,通過排除系統閑置的CPU使用率即可獲得:

1 - avg without(cpu) (rate(node_cpu{mode="idle"}[1m]))

 

5.PromQL總結

PromQL是Prometheus的查詢語言,通過PromQL我們可以對數據進行查詢,過濾,以及聚合,計算等操作。

 

 

 

 

 

 

 


免責聲明!

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



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