一、Node監(jiān)控
1、內存指標
node_memory_MemTotal_bytes: Node總內存大小
node_memory_MemAvailable_bytes:Node剩余可用內存
node已用的內存大小計算公式:
node_memory_MemTotal_bytes - node_memory_MemAvailable_bytes
2、CPU
node_load1:CPU1分鐘負載
node_load5:CPU5分鐘負載
node_load15:CPU15分鐘負載
CPU使用率計算公式:
1-avg(irate(node_cpu_seconds_total{mode="idle"}[30m])) by (instance)
3、分區(qū)使用
nodenode_filesystem_size_bytes:各個分區(qū)總空間
node_filesystem_avail_bytes:各分區(qū)剩余空間
4、磁盤I/O
node_disk_io_time_seconds_total:磁盤I/O操作耗費時間
每秒磁盤讀取速度:
irate(node_disk_writes_completed_total[30m])
每秒磁盤寫入速度:
irate(node_disk_written_bytes_total[30m])
每秒磁盤I/O操作耗費時間計算公式:
irate(node_disk_io_time_seconds_total[30m])
每次I/O讀取耗時計算公式:
irate(node_disk_read_time_seconds_total[30m]) / irate(node_disk_reads_completed_total[30m])
每次I/O寫入耗時計算公式:
irate(node_disk_write_time_seconds_total[30m]) / irate(node_disk_writes_completed_total[30m])
5、網(wǎng)絡流量
網(wǎng)絡流量下載統(tǒng)計計算公式:
irate(node_network_receive_bytes_total{device!~'tap.*|veth.*|br.*|docker.*|virbr*|lo*'}[30m])*8
網(wǎng)絡流量上傳統(tǒng)計計算公式:
irate(node_network_transmit_bytes_total{device!~'tap.*|veth.*|br.*|docker.*|virbr*|lo*'}[30m])*8
二、pod監(jiān)控
1、POD內存使用率
container_memory_rss : 是Pod實際使用內存數(shù)
container_spec_memory_limit_bytes: 是分配給Pod的內存配額
sum(container_memory_rss{container!="POD",container!="alermanager",image!="",pod!=""})by(pod) / sum(container_spec
2、POD的CPU使用率
container_cpu_usage_seconds_total:container累計使用的CPU時間,除以CPU的總時間,就得到了容器的CPU使用率
container_spec_cpu_quota:container的配額,為容器指定的CPU個數(shù)*100000
sum(rate(container_cpu_usage_seconds_total{image!="",container!="POD",container!=""}[1m])) by (pod,namespace) / (sum(container_spec_cpu_quota{image!="",container!="POD",container!=""}/100000) by (pod,namespace)) * 100
3、POD的文件系統(tǒng)使用量
sum(container_fs_usage_bytes{image!="",container!="POD",container!=""}) by(pod, namespace) / 1024 / 1024 / 1024
本文摘自 :https://blog.51cto.com/l