使用paramiko获取linux系统磁盘使用率

前面介绍了如何运用Python获取Oracle数据库的信息以及将数据存入MySQL数据库中

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

上节我们讲了如何连接linux服务器并获取CPU,内存信息

这节讲如何获取磁盘分区信息

环境设置

Linux系统为 Centos 6.8

Python环境为 Python 3.6

连接Unix类服务器模块: paramiko

使用的命令

这里我们使用df命令来获取磁盘空间使用率

由于直接使用df有换行的可能,这里我们做些处理使其不换行

具体可见下面2个图

Alt text

Alt text

获取磁盘使用率程序

如下程序使用paramiko连接linux服务器然后获取磁盘分区信息,具体注释情看详细代码

def getlinuxspace(ssh):
        result=[]
        stdin,stdout,stderr=ssh.exec_command('df -h |awk \' NR>1 {if ($1==$NF){printf $1}else{print $0}}\'')
        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 result
            else:
                print ('There is something wrong when execute df command')
        except Exception as e:
            print (e)

验证结果

Alt text

正常情况下会返回该服务器的磁盘分区使用情况

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

源码位置

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

https://github.com/bsbforever/wechat_oms

今天就讲到这,下节讲述获取HP-Unix的相关信息