1、CPU指標(biāo)
CPU負(fù)載
node_load1
node_load5
node_load15
以上三個指標(biāo)為主機(jī)的CPU平均負(fù)載,分別對應(yīng)一分鐘、五分鐘和十五分鐘的時間間隔。CPU負(fù)載是指某段時間內(nèi)占用CPU時間的進(jìn)程和等待CPU時間的進(jìn)程數(shù)之和。一般來說,cpu負(fù)載數(shù)/cpu核數(shù)如果超過0.7,應(yīng)該開始關(guān)注機(jī)器性能情況 ,如果超過1的話,運(yùn)維人員應(yīng)該介入處理。
CPU使用率
node_cpu_seconds_total
該指標(biāo)包括了多個標(biāo)簽,分別標(biāo)記每種處理模式使用的CPU時間,該指標(biāo)為counter類型。這個指標(biāo)不適合直接拿來使用,可通過前面學(xué)習(xí)的PromQL,將其轉(zhuǎn)化成CPU使用率的指標(biāo) 。
mode="idle"代表CPU 的空閑時間,所以我們只需要算出空閑的時間占比,再以總數(shù)減去該值 ,便可知道CPU的使用率,此處使用irate方法。由于現(xiàn)有的服務(wù)器一般為多核,所以加上avg求出所有cpu的平均值,便是CPU的使用率情況 ,如下 :
100 -avg(irate(node_cpu_seconds_total{mode="idle"}[5m])) by (instance)* 100
2、內(nèi)存監(jiān)控
物理內(nèi)存使用率
對于內(nèi)存,我們一般會關(guān)注內(nèi)存使用率,但node-exporter并不直接進(jìn)行計算,我們需要根據(jù)node-exporet返回的內(nèi)存指標(biāo)自己寫計算公式 。
需要用到的內(nèi)存指標(biāo)有下列幾個:
node_memory_MemTotal_bytes #總內(nèi)存大小
node_memory_MemFree_bytes #空閑內(nèi)存大小
node_memory_Buffers_bytes #緩沖緩存大小
node_memory_Cached_bytes #頁面緩存大小
計算的公式為:(總內(nèi)存 -(空閑內(nèi)存 + 緩沖緩存 + 頁面緩存))/ 總內(nèi)存 * 100
(node_memory_MemTotal_bytes - (node_memory_MemFree_bytes + node_memory_Buffers_bytes+node_memory_Cached_bytes ))/node_memory_MemTotal_bytes * 100
swap內(nèi)存使用率
Swap為交換內(nèi)存分區(qū),它使用磁盤上的部分空間來充當(dāng)服務(wù)器內(nèi)存,當(dāng)系統(tǒng)物理內(nèi)存吃緊時,Linux 會將內(nèi)存中不常訪問的數(shù)據(jù)保存到 swap 上,這樣系統(tǒng)就有更多的物理內(nèi)存為各個進(jìn)程服務(wù)。而當(dāng)系統(tǒng)需要訪問 swap 上存儲的內(nèi)容時,再將 swap 上的數(shù)據(jù)加載到內(nèi)存中,這就是常說的換出和換入。交換空間可以在一定程度上緩解內(nèi)存不足的情況,但是它需要讀寫磁盤數(shù)據(jù),所以性能不是很高。
swap內(nèi)存用到的指標(biāo)如下:
node_memory_SwapTotal_bytes #swap內(nèi)存總大小
node_memory_SwapFree_bytes #swap空閑內(nèi)存大小
計算的公式如下:
(node_memory_SwapTotal_bytes - node_memory_SwapFree_bytes)/node_memory_SwapTotal_bytes * 100
3、磁盤使用率
分區(qū)使用率
分區(qū)使用率的指標(biāo)可以通過分區(qū)空間總?cè)萜骱头謪^(qū)空閑容量計算出來
node_filesystem_size_bytes #分區(qū)空間總?cè)萘?/span>
node_filesystem_free_bytes # 分區(qū)空閑容量
磁盤吞吐量
node_disk_read_bytes_total #分區(qū)讀總字節(jié)數(shù)
node_disk_written_bytes_total #分區(qū)寫總字節(jié)數(shù)
上面兩個指標(biāo)分別對應(yīng)了分區(qū)讀寫的總字節(jié)數(shù),指標(biāo)為counter類型。前面文章講過,counter類型會不斷的累加,該指標(biāo)直接使用對于監(jiān)控沒有意義,但可通過下面公式轉(zhuǎn)化為磁盤的每秒讀寫速率。device代表對應(yīng)的磁盤分區(qū)。
irate(node_disk_read_bytes_total{device="sda"}[5m])
irate(node_disk_written_bytes_total{device="sda"}[5m])
磁盤IOPS
IOPS表示每秒對磁盤的讀寫次數(shù),它與吞吐量都是衡量磁盤的重要指標(biāo)。對于IOPS的監(jiān)控,可通過下面兩個指標(biāo)算得出
node_disk_reads_completed_total #分區(qū)讀總次數(shù)
node_disk_writes_completed_total #分區(qū)寫總次數(shù)
計算公式與上面相似,使用我們熟悉的irate或rate函數(shù)來處理
irate(node_disk_reads_completed_total{device="sda"}[5m])
irate(node_disk_writes_completed_total{device="sda"}[5m])
4、網(wǎng)絡(luò)監(jiān)控
網(wǎng)卡流量
網(wǎng)卡流量一般分為上傳和下載流量,下面兩個指標(biāo)分別為總的字節(jié)數(shù),可通過這兩個指標(biāo)計算出來網(wǎng)卡每秒流量
node_network_receive_bytes_total #下載流量總字節(jié)數(shù)
node_network_transmit_bytes_total #上傳流量總字節(jié)數(shù)
計算公式如下,此處排除Loopback 網(wǎng)卡
irate(node_network_receive_bytes_total{device != "lo"}[1m])
請求百度頁面查看網(wǎng)卡流量
for i in {1..20}; do curl http://www.baidu.com; done
5、可用性監(jiān)控
除了監(jiān)控主機(jī)的性能參數(shù)外,我們還需要關(guān)注實(shí)例的可用性情況,比如是否關(guān)機(jī)、exporter是否正常運(yùn)行等。在exporter返回的指標(biāo),有一個up指標(biāo),可用來實(shí)現(xiàn)這類監(jiān)控需求。文章來源:http://www.zghlxwxcb.cn/news/detail-456758.html
up{job="agent1"}
上一篇:Prometheus監(jiān)控實(shí)戰(zhàn)系列九:主機(jī)監(jiān)控
下一篇:Prometheus監(jiān)控實(shí)戰(zhàn)系列十一:可視化文章來源地址http://www.zghlxwxcb.cn/news/detail-456758.html
到了這里,關(guān)于Prometheus監(jiān)控運(yùn)維實(shí)戰(zhàn)十: 主機(jī)監(jiān)控指標(biāo)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!