这个专题将介绍如何使用Python监控linux/Unix服务器的性能指标
上节我们讲了如何安装paramiko,这节我们讲如何使用paramiko连接服务器
环境设置
Linux系统为 Centos 6.8
Python环境为 Python 3.6
连接Unix类服务器模块: paramiko
使用paramiko连接linux服务器
如下程序使用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使用率
如不正常,代码中大量的异常处理可以帮助大家快速定位异常点
源码位置
全部代码请查看我的Github主页
https://github.com/bsbforever/wechat_oms
今天就讲了如何使用Python获取Linux服务器的CPU使用率
下节讲解如何获取内存使用率