python進行linux系統監控

 

 
python進行linux系統監控

Linux系統下:python

靜態指標信息:linux

 

名稱
描述
單位
所在文件
mem_total
內存總容量
KB
/proc/meminfo
disks
磁盤相關信息
-
-
disks.size
磁盤總容量
KB
/sys/block
disks.partitions
磁盤分區相關信息
-
/proc/partitions
disks.partitions.avail
磁盤分區的可用空間
KB
/sys/block
disks.partitions.on
磁盤分區的掛載點
-
/etc/mtab
disks.partitions.used
磁盤分區的使用空間
KB
/sys/block
disks.partitions.size
磁盤分區的總容量
KB
/sys/block
network
網卡相關信息
-
-
network.hwaddr
網卡 Mac 地址
-
/sbin/ifconfig
network.inet_addr
網卡 IPv4 協議地址
-
/sbin/ifconfig
network.inet_addr
網卡 IPv6 協議地址
-
/sbin/ifconfig
network.mtu
網卡最大傳輸單元
Bytes
/sbin/ifconfig
network.mask
網卡子網掩碼
-
/sbin/ifconfig
cpu
CPU 相關信息
-
-
cpu.cpu_num
CPU 數量
-
/proc/cpuinfo
cpu.width
CPU 字長
Bit
/proc/cpuinfo
cpu.cpu_MHz
CPU 頻率
MHz
/proc/cpuinfo
cpu.cache_size
CPU 緩存大小
KB
/proc/cpuinfo
cpu.vendor_id
CPU 製造商
-
/proc/cpuinfo

 

動態指標信息:緩存

 

名稱
描述
單位
所在文件
mem_total
內存總容量
KB
/proc/meminfo
disks
磁盤相關信息
-
-
disks.size
磁盤總容量
KB
/sys/block
disks.partitions
磁盤分區相關信息
-
/proc/partitions
disks.partitions.avail
磁盤分區的可用空間
KB
/sys/block
disks.partitions.on
磁盤分區的掛載點
-
/etc/mtab
disks.partitions.used
磁盤分區的使用空間
KB
/sys/block
disks.partitions.size
磁盤分區的總容量
KB
/sys/block
network
網卡相關信息
-
-
network.hwaddr
網卡 Mac 地址
-
/sbin/ifconfig
network.inet_addr
網卡 IPv4 協議地址
-
/sbin/ifconfig
network.inet_addr
網卡 IPv6 協議地址
-
/sbin/ifconfig
network.mtu
網卡最大傳輸單元
Bytes
/sbin/ifconfig
network.mask
網卡子網掩碼
-
/sbin/ifconfig
cpu
CPU 相關信息
-
-
cpu.cpu_num
CPU 數量
-
/proc/cpuinfo
cpu.width
CPU 字長
Bit
/proc/cpuinfo
cpu.cpu_MHz
CPU 頻率
MHz
/proc/cpuinfo
cpu.cache_size
CPU 緩存大小
KB
/proc/cpuinfo
cpu.vendor_id
CPU 製造商
-
/proc/cpuinfo
  • CPUModule:文件位置/proc/stat,metric_list = ['cpu_user', 'cpu_nice', 'cpu_system', 'cpu_idle', 'cpu_usage', 'cpu_iowait', 'cpu_irq', 'cpu_softirq'],
     
     如圖第一行所示,數值爲對應的metric的jiffies。當前總共jifies就是各項相加。兩個週期各自的總jiffies相減就是本週期jiffies總使用量,每一項的分別相減就是對應metric的jiffies使用量。作除法便可求出百分比例。
  • DiskModule:
     動態信息的文件位置/sys/block/*/stat,metric_list = ['rps', 'wps', 'rrqmps', 'wrqmps', 'rsecps', 'wsecps', 'rkBps', 'wkBps', 'util', 'await', 'avgrq_sz', 'avgqu_sz']
 
 
     是累加值,須要用兩個週期的差值除以時間。
     關於分區容量的靜態信息,AWS CloudWatch經過df命令獲取總量、使用量、可用量、文件系統、掛載點:
 
  • LoadModule:文件位置/proc/loadavg,metric_list = ['load_one', 'load_five', 'load_fifteen']
     
  • MemModule:文件位置/proc/meminfo,metric_list = ['mem_total, 'cached', 'mem_free', 'mem_available', 'mem_used', 'mem_usage', 'buffers', 'swap_total', 'swap_cached', 'swap_free']
     
 
亞馬遜AWS CloudWatch監控腳本中也是相似的作法直接分析/proc/meminfo文件:

 

 

Windows系統:
     須要wmi和psutil(事實上,psutil這個python庫直接封裝了跨平臺的資源使用量監控方法)
  • 靜態系統信息
     OS信息:wmiService.Win32_OperatingSystem()
     Disk信息:Win32_LogicalDisk
     Mem信息:Win32_CompiterSystem()
     CPU信息:Win32_Processor()
     Net信息:Win32_NetworkAdapterConfiguration()
  • 動態資源使用率指標信息
     CPU
    MEM
DISK
NET
相關文章
相關標籤/搜索