使用paramiko获取linux系统磁盘使用率
前面介绍了如何运用Python获取Oracle数据库的信息以及将数据存入MySQL数据库中
这个专题将介绍如何使用Python监控linux/Unix服务器的性能指标
上节我们讲了如何连接linux服务器并获取CPU,内存信息
这节讲如何获取磁盘分区信息
环境设置
Linux系统为 Centos 6.8
Python环境为 Python 3.6
连接Unix类服务器模块: paramiko
使用的命令
这里我们使用df命令来获取磁盘空间使用率
由于直接使用df有换行的可能,这里我们做些处理使其不换行
具体可见下面2个图
获取磁盘使用率程序
如下程序使用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)
验证结果
正常情况下会返回该服务器的磁盘分区使用情况
如不正常,代码中大量的异常处理可以帮助大家快速定位异常点
源码位置
全部代码请查看我的Github主页
今天就讲到这,下节讲述获取HP-Unix的相关信息