自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

使用 Node Exporter 監(jiān)控 Linux 主機(jī)之二

運(yùn)維 系統(tǒng)運(yùn)維
前文我們介紹了如何使用 Node Exporter 監(jiān)控 Linux 主機(jī)的 CPU 使用率,接下來(lái)我們來(lái)介紹如何監(jiān)控 Linux 的磁盤空間、磁盤 IO、網(wǎng)絡(luò) IO 等方面。

[[431067]]

前文我們介紹了如何使用 Node Exporter 監(jiān)控 Linux 主機(jī)的 CPU 使用率,接下來(lái)我們來(lái)介紹如何監(jiān)控 Linux 的磁盤空間、磁盤 IO、網(wǎng)絡(luò) IO 等方面。

內(nèi)存監(jiān)控

除了 CPU 監(jiān)控之外,我們可能最關(guān)心的就是節(jié)點(diǎn)內(nèi)存的監(jiān)控了,平時(shí)我們查看節(jié)點(diǎn)的內(nèi)存使用情況基本上都是使用 free 命令來(lái)查看:

free命令

free 命令的輸出會(huì)顯示系統(tǒng)內(nèi)存的使用情況,包括物理內(nèi)存、交換內(nèi)存(swap)和內(nèi)核緩沖區(qū)內(nèi)存等,所以要對(duì)內(nèi)存進(jìn)行監(jiān)控我們需要先了解這些概念,我們先了解下 free 命令的輸出內(nèi)容:

  • Mem 行(第二行)是內(nèi)存的使用情況
  • Swap 行(第三行)是交換空間的使用情況
  • total 列顯示系統(tǒng)總的可用物理內(nèi)存和交換空間大小
  • used 列顯示已經(jīng)被使用的物理內(nèi)存和交換空間
  • free 列顯示還有多少物理內(nèi)存和交換空間可用使用
  • shared 列顯示被共享使用的物理內(nèi)存大小
  • buff/cache 列顯示被 buffer 和 cache 使用的物理內(nèi)存大小
  • available 列顯示還可以被應(yīng)用程序使用的物理內(nèi)存大小

其中我們需要重點(diǎn)關(guān)注的 free 和 available 兩列。free 是真正尚未被使用的物理內(nèi)存數(shù)量,而 available 是從應(yīng)用程序的角度看到的可用內(nèi)存,Linux 內(nèi)核為了提升磁盤操作的性能,會(huì)消耗一部分內(nèi)存去緩存磁盤數(shù)據(jù),就是 buffer 和 cache,所以對(duì)于內(nèi)核來(lái)說(shuō),buffer 和 cache 都屬于已經(jīng)被使用的內(nèi)存,只是應(yīng)用程序需要內(nèi)存時(shí),如果沒(méi)有足夠的 free 內(nèi)存可以用,內(nèi)核就會(huì)從 buffer 和 cache 中回收內(nèi)存來(lái)滿足應(yīng)用程序的請(qǐng)求。所以從應(yīng)用程序的角度來(lái)說(shuō) available = free + buffer + cache,不過(guò)需要注意這只是一個(gè)理想的計(jì)算方式,實(shí)際中的數(shù)據(jù)有較大的誤差。

如果要在 Prometheus 中來(lái)查詢內(nèi)存使用,則可以用 node_memory_* 相關(guān)指標(biāo),同樣的要計(jì)算使用的,我們可以計(jì)算可使用的內(nèi)存,使用 promql 查詢語(yǔ)句 node_memory_Buffers_bytes + node_memory_Cached_bytes + node_memory_MemFree_bytes。

available Mem

然后計(jì)算可用內(nèi)存的使用率,和總的內(nèi)存相除,然后同樣用 1 減去即可,語(yǔ)句為 (1- (node_memory_Buffers_bytes + node_memory_Cached_bytes + node_memory_MemFree_bytes) / node_memory_MemTotal_bytes) * 100,這樣計(jì)算出來(lái)的就是節(jié)點(diǎn)內(nèi)存使用率。

內(nèi)存使用率

當(dāng)然如果想要查看各項(xiàng)內(nèi)存使用直接使用對(duì)應(yīng)的監(jiān)控指標(biāo)即可,比如要查看節(jié)點(diǎn)總內(nèi)存,直接使用 node_memory_MemTotal_bytes 指標(biāo)即可獲取。

總內(nèi)存

磁盤監(jiān)控

接下來(lái)是比較中的磁盤監(jiān)控,對(duì)于磁盤監(jiān)控我們不僅對(duì)磁盤使用情況感興趣,一般來(lái)說(shuō)對(duì)于磁盤 IO 的監(jiān)控也是非常有必要的。

磁盤容量監(jiān)控

要監(jiān)控磁盤容量,需要用到 node_filesystem_* 相關(guān)的指標(biāo),比如要查詢節(jié)點(diǎn)磁盤空間使用率,則可以同樣用總的減去可用的來(lái)進(jìn)行計(jì)算,磁盤可用空間使用 node_filesystem_avail_bytes 指標(biāo),但是由于會(huì)有一些我們不關(guān)心的磁盤信息,所以我們可以使用 fstype 標(biāo)簽過(guò)濾關(guān)心的磁盤信息,比如 ext4 或者 xfs 格式的磁盤:

可用磁盤空間

要查詢磁盤空間使用率,則使用查詢語(yǔ)句 (1 - node_filesystem_avail_bytes{fstype=~"ext4|xfs"} / node_filesystem_size_bytes{fstype=~"ext4|xfs"}) * 100 即可:

磁盤空間使用率

這樣就可以得到我們關(guān)心的磁盤空間使用率了。

磁盤 IO 監(jiān)控

要監(jiān)控磁盤 IO,就要區(qū)分是讀的 IO,還是寫的 IO,讀 IO 使用 node_disk_reads_completed 指標(biāo),寫 IO 使用 node_disk_writes_completed_total 指標(biāo)。

磁盤讀 IO 使用 sum by (instance) (rate(node_disk_reads_completed_total[5m])) 查詢語(yǔ)句即可:

磁盤讀IO

當(dāng)然如果你想根據(jù) device 進(jìn)行聚合也是可以的,我們這里是全部聚合在一起了。

磁盤寫 IO 使用 sum by (instance) (rate(node_disk_writes_completed_total[5m])) 查詢語(yǔ)句即可:

磁盤寫IO

網(wǎng)絡(luò) IO 監(jiān)控

上行帶寬需要用到的指標(biāo)是 node_network_receive_bytes,由于我們對(duì)網(wǎng)絡(luò)帶寬的瞬時(shí)變化比較關(guān)注,所以一般我們會(huì)使用 irate 函數(shù)來(lái)計(jì)算網(wǎng)絡(luò) IO,比如計(jì)算上行帶寬用查詢語(yǔ)句 sum by(instance) (irate(node_network_receive_bytes_total{device!~"bond.*?|lo"}[5m])) 即可:

上行帶寬

下行帶寬用到的指標(biāo)為 node_network_transmit_bytes,同樣的方式查詢語(yǔ)句為 sum by(instance) (irate(node_network_transmit_bytes{device!~"bond.*?|lo"}[5m])):

下行帶寬

當(dāng)然我們還可以根據(jù)網(wǎng)卡設(shè)備進(jìn)行分別聚合計(jì)算,最后還可以根據(jù)自己的需求將結(jié)果進(jìn)行單位換算。

 

責(zé)任編輯:姜華 來(lái)源: k8s技術(shù)圈
相關(guān)推薦

2021-10-25 07:57:45

Node ExportLinux 監(jiān)控

2021-10-28 08:39:22

Node Export自定義 監(jiān)控

2022-08-16 09:54:48

telegrafexporter監(jiān)控

2011-03-24 11:03:05

Nagios監(jiān)控Linux

2021-12-01 07:02:16

虛擬化LinuxCPU

2014-09-28 10:37:45

LinuxNagiosNRPE

2011-03-23 10:17:25

Nagios監(jiān)控

2010-06-01 10:32:04

linux Mrtg

2018-05-04 09:32:32

Linux快速監(jiān)控rwho

2021-01-08 09:02:19

CentOS7Prometheus監(jiān)控

2020-11-26 09:10:36

Prometheus

2025-03-05 07:00:00

Grafana可視化Kubernetes

2009-10-21 12:49:25

Linux壓縮打包方法

2024-02-21 16:13:36

CNCF開源監(jiān)控工具Prometheus

2021-12-18 07:42:15

Ebpf 監(jiān)控 Node.js

2011-03-28 17:35:44

NagiosNRPE監(jiān)控

2011-03-25 09:00:37

Cacti模板

2010-01-21 11:30:10

2011-03-21 14:53:27

Nagios監(jiān)控Linux

2011-03-21 13:10:13

NagiosWindows
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)