system.disk Metrics from DataDog Agent

Name

  • system.disk.total
  • KB (unit)
  • The total amount of disk space.
  • system.disk.used
  • KB (unit)
  • The amount of disk space in use.
  • system.disk.free
  • KB (unit)
  • The amount of disk space that is free.
  • system.disk.in_use
  • fraction (unit)
  • The amount of disk space in use as a fraction of the total.
  • system.disk.read_time_pct
  • percent
  • Percent of time spent reading from disk.
  • system.disk.write_time_pct
  • percent
  • Percent of time spent writing to disk.

計(jì)算方式

  1. 通過(guò)Python的第三方模塊psutil(process and system utilities)來(lái)實(shí)現(xiàn)
import psutil

# parts = [sdiskpart(device='rootfs', mountpoint='/', fstype='rootfs', opts='rw')]
parts = psutil.disk_partitions(all=True)
for part in parts:
    # sdiskusage(total=10725883904, used=713650176, free=10012233728, percent=6.7)
    disk_usage = psutil.disk_usage(part.mountpoint)

    system.disk.total = disk_usage.total / 1024
    system.disk.used = disk_usage.used / 1024
    system.disk.free = disk_usage.free / 1024
    system.disk.in_use = disk_usage.percent / 100.0

system.disk.read_time_pct和system.disk.wirte_time_pct只有當(dāng)psutil可用時(shí),才存在。

import psutil

# {'dm-83': sdiskio(read_count=262, write_count=46, read_bytes=4603904, write_bytes=2357760, read_time=19, write_time=1101, read_merged_count=0, write_merged_count=0, busy_time=1102)}
disk_dict = psutil.disk_io_counters(True)
for disk_name, disk in disk_dict.items():
    read_time_pct = disk.read_time * 100.0 / 1000.0
    write_time_pct = disk.write_time * 100.0 / 1000.0
    # RATE: 函數(shù),(當(dāng)前采集值 - 上一個(gè)采集值) / 采集時(shí)間差
    system.disk.read_time_pct = RATE(read_time_pct)
    system.disk.wirte_time_pct = RATE(write_time_pct)
  1. 如果沒(méi)有psutil,通過(guò)df -T -k命令采集。
# device is
# ["/dev/xvda1", "xfs", 209703916, 53188672, 156515244, "26%", "/"]
used = device[3]
free = device[4]
system.disk.used = used
system.disk.free = free
system.disk.total = device[2]
system.disk.in_use = used / (used + free)
df -T -k

Filesystem         Type     1K-blocks     Used Available Use% Mounted on
/dev/xvda1         xfs      209703916 53188672 156515244  26% /
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容