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

 
 
 

python进行linux系统监控的更多相关文章

  1. Linux系统监控实用工具Glances

    Linux系统监控实用工具Glances Glances安装 Glances安装要求:python >= 2.6 和 psutil >= 0.4.1 1.第一步,安装了python-> ...

  2. [转]linux 系统监控、诊断工具之 IO wait

    1.问题: 最近在做日志的实时同步,上线之前是做过单份线上日志压力测试的,消息队列和客户端.本机都没问题,但是没想到上了第二份日志之后,问题来了: 集群中的某台机器 top 看到负载巨高,集群中的机器 ...

  3. linux系统监控常用工具

    linux系统监控常用工具 一.系统核心工具包(coreutils) 1./bin/df 报告系统的磁盘空间用量 df -h  显示磁盘分区fdisk -l 2./bin/uname 显示系统信息 u ...

  4. linux系统监控sar命令

    linux系统监控sar命令详解 sar(System Activity Reporter系统活动情况报告)是目前 Linux 上最为全面的系统性能分析工具之一,可以从多方面对系统的活动进行报告, 包 ...

  5. Linux系统监控命令及如何定位到Java线程

    >>PID.TID的区分 uid是user id,即用户id,root用户的uid是0,0为最高权限,gid是group id,用户组id,使用 id 命令可以很简单的通过用户名查看UID ...

  6. 使用Python获取Linux系统的各种信息

    哪个Python版本? 当我提及Python,所指的就是CPython 2(准确的是2.7).我会显式提醒那些相同的代码在CPython 3 (3.3)上是不工作的,以及提供一份解释不同之处的备选代码 ...

  7. Linux记录-linux系统监控命令汇总

    命令 功能应用 用法举例     free 查看内存使用情况,包括物理内存和虚拟内存 free -h或free -m     vmstat 对系统的整体情况进行统计,包括内核进程.虚拟内存.磁盘.陷阱 ...

  8. Linux系统监控命令及定位Java线程

    1.PID.TID的区分 uid是user id,即用户id,root用户的uid是0,0为最高权限,gid是group id,用户组id,使用 id 命令可以很简单的通过用户名查看UID.GID:~ ...

  9. Shell 脚本实现 Linux 系统监控

    一.实验介绍 1.1 实验内容 本课程实现 shell 脚本监控系统的各项参数,并可以将脚本加入系统环境中,可以直接在终端里执行.还添加了几个参数,一个脚本可以执行不同的操作. 1.2 知识点 本实验 ...

随机推荐

  1. Array类拓展方法

    var arr=[ {name:'one',sex:'girl',handsome:true}, {name:'two',sex:'girl',handsome:false}, {name:'thr' ...

  2. iOS 使用node js 搭建简单的本地服务器

    一.前提:基于iOS 项目 调用,使用了第三方框架NodeMobile.技术说明关键是 应用生命整个周期只能在应用启动时候开辟的一个线程里申请 一个 node  js 资源.如果终止了运行,重启是不支 ...

  3. ELK日志系统

    ELK stack是又Elasticsearch,lostash,kibana 三个开源软件的组合而成,形成一款强大的实时日志收集分析展示系统. Logstash:日志收集工具,可以从本地磁盘,网络服 ...

  4. TortoiseSVN_1.9.1.267_x64版本控制系统(针对Visual SVN Server)使用简单介绍

    软件下载地址:TortoiseSVN(SVN客户端)64位 V1.9.1.267简体中文免费版 软件详细操作说明:TortoiseSVN使用说明书(超详细) 文章内容:此篇是简单记录如何从Visual ...

  5. 【HTML5校企公益课】第一天

    1.搭建基本的开发环境.学校电脑用的是浏览器是Chrome,编辑器是HBuilder. 2.初步介绍HTML5的Web项目基本结构. css:样式表 img:存放图片 js:存放脚本文件 .html: ...

  6. qq第三方登录网站接口

    网站如何实现QQ登录功能 | 浏览:11029 | 更新:2013-12-05 10:09 1 2 3 4 5 6 7 分步阅读 一键约师傅 百度师傅为你的电脑系统,选一个靠谱师傅! 如果想让网站实现 ...

  7. Django学习笔记之CBV和FBV

    FBV FBV(function base views) 就是在视图里使用函数处理请求. 在之前django的学习中,我们一直使用的是这种方式,所以不再赘述. CBV CBV(class base v ...

  8. WCF服务类的实例模式(本文为转载)

    WCF开发时如何选择正确的实例模式(InstanceMode)?   在使用WCF实例模型时,你是否思考过这几个的问题: ”WCF中的实例模式如何正确应用”? ”使用WCF中的实例模式有何原则可以遵循 ...

  9. Phred-scale quality scores的相关内容

    phred-scale quality score起源于人类基因组计划,最初是用来评估碱基质量分数,后来,被广泛的推广到基因领域的其他内容. phred-scalequality score表示这件事 ...

  10. 2017阿里C++研发工程师-校招-单词匹配

    题目描述 给一个字符串, 然后给一个字典. 把字符串分解成字典里的单词组成的句子, 请输出所需空格最少的方案.并输出该方案. 样例 例如: 字符串为: str="ilikealibaba&q ...