• python进行linux系统监控


    python进行linux系统监控

    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

     
     
     
  • 相关阅读:
    学期总结
    C语言I博客作业09
    C语言I博客作业08
    C语言I博客作业07
    C语言I博客作业06
    C语言博客作业04
    C语言I博客作业03
    C语言I博客作业02
    C语言I博客作业01
    学期总结
  • 原文地址:https://www.cnblogs.com/xuaijun/p/8276609.html
Copyright © 2020-2023  润新知