使用paramiko获取linux系统CPU使用率

这个专题将介绍如何使用Python监控linux/Unix服务器的性能指标

上节我们讲了如何安装paramiko,这节我们讲如何使用paramiko连接服务器

环境设置

Linux系统为 Centos 6.8

Python环境为 Python 3.6

连接Unix类服务器模块: paramiko

使用paramiko连接linux服务器

获取CPU使用率程序

如下程序使用paramiko连接linux服务器然后获取其CPU使用率,具体使用方法请看注释

def getlinuxcpu(ssh):
    result=[]
    #这里我们使用sar命令来获取CPU的使用率
    #exec_command可有三个变量可使用
    #stdin代表标准输入
    #stdout为标准输出,即命令输出的结果
    #stderr为错误输出,即执行该命令的错误信息
    stdin,stdout,stderr=ssh.exec_command('sar 2 3 |awk \'END {print 100-$NF}\'')
    #我们首先判断有无错误,如果没有则读出命令结果
    err=stderr.readlines()
    if len(err) != 0:
        print (err)
        return False
    else:
        stdout_content=stdout.readlines()
    result= stdout_content
    #读出输出的结果后判断是否正确,有时由于超时等原因可能不会返回正确的数值
    try:
        if  len(result) !=0:
            return round(float(result[0].strip()),2)
        else:
            print ('There is something wrong when execute sar command')
    except Exception as e:
        print (e)

验证结果

正常情况下会返回该服务器的CPU使用率

Alt text

如不正常,代码中大量的异常处理可以帮助大家快速定位异常点

源码位置

全部代码请查看我的Github主页

https://github.com/bsbforever/wechat_oms

今天就讲了如何使用Python获取Linux服务器的CPU使用率

下节讲解如何获取内存使用率