cadvisor和node-exporter cpu/mem/disk/net io/disk io指标来源

若有不对,欢迎批评指正

目录

container

cpu

mem

net io

disk io

disk(filesystem)

node

cpu

mem

disk(filesystem) 

net io 

disk io


container

cpu

 

cat /sys/fs/cgroup/cpu,cpuacct/cpuacct.stat

mem

  cat /sys/fs/cgroup/memory/memory.usage_in_bytes

 如果存在memory.total_inactive_file,并且usage memory.total_inactive_file ,那么usage=0,否则usage= usage - memory.total_inactive_file

 

net io

  1. 容器所有网卡设备:ls /sys/class/net

  2. 每个网卡的网络io统计数据: 

        网络接收: cat /sys/class/net/<网卡名称>/statistics/rx_bytes

        网络发送: cat /sys/class/net/<网卡名称>/statistics/tx_bytes

 

  1. 会忽略以下前缀开头的网卡:"lo", "veth", "docker"


  2. 忽略后默认只有【第一个】网卡有网络io数据


  3. 例子: 某容器内总共有如下网卡设备:docker0,  eth0,  gre0,  gretap0,  lo


   忽略掉以lo, veth, docker开头的网卡设备后,剩余:eth0, gre0, gretap0

   忽略后剩下的网卡中"eth0"排第一个,因此查询出来的网络io中只有"eth0"的网络io才有值

 

disk io

 cat /proc/diskstats

disk(filesystem)

  1. 根据/proc/self/mountinfo得到挂载的文件类型,设备信息

  只支持以下fs type: "btrfs",  "overlay","tmpfs","xfs","zfs"

cat /proc/self/mountinfo

  2. 根据"mount"和"fs type"通过系统调用计算得出

 

node

cpu

cat /proc/stat

mem

cat /proc/meminfo

 

disk(filesystem) 

根据/proc/mounts里面的内容,再通过系统调用的方式,得到磁盘统计信息

cat /proc/mounts

net io 

每个设备的recv|send

cat /proc/net/dev

disk io

cat /proc/diskstats

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章