python 监测内存和cpu的使用率实例
我就废话不多说了,直接上代码吧!
importparamiko importpymysql importtime linux=['192.168.0.179'] defconnectHost(ip,uname='shenyuming',passwd='ajiongqqq'): ssh=paramiko.SSHClient() ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) ssh.connect(ip,username=uname,password=passwd,port=22) returnssh defMainCheck(): try: whileTrue: time.sleep(1) forainrange(len(linux)): ssh=connectHost(linux[a]) #查询主机名称 cmd='hostname' stdin,stdout,stderr=ssh.exec_command(cmd) host_name=stdout.readlines() host_name=host_name[0] #查看当前时间 csj='date+%T' stdin,stdout,stderr=ssh.exec_command(csj) curr_time=stdout.readlines() curr_time=curr_time[0] #查看cpu使用率,并将信息写入到数据库中(取三次平均值) cpu="vmstat13|sed'1d'|sed'1d'|awk'{print$15}'" stdin,stdout,stderr=ssh.exec_command(cpu) cpu=stdout.readlines() cpu_usage=str(round((100-(int(cpu[0])+int(cpu[1])+int(cpu[2]))/3),2))+'%' #查看内存使用率,并将信息写入到数据库中 mem="cat/proc/meminfo|sed-n'1,4p'|awk'{print$2}'" stdin,stdout,stderr=ssh.exec_command(mem) mem=stdout.readlines() mem_total=round(int(mem[0])/1024) mem_total_free=round(int(mem[1])/1024)+round(int(mem[2])/1024)+round(int(mem[3])/1024) mem_usage=str(round(((mem_total-mem_total_free)/mem_total)*100,2))+"%" sql="insertintomemory_and_cpuvalues('%s','%s','%s','%s')"%( host_name,curr_time,cpu_usage,mem_usage) db=connectDB() sqlDML(sql,db) except: print("连接服务器%s异常"%(linux[a])) defconnectDB(dbname='test11'): ifdbname=='test11': db=pymysql.connect("localhost","root","shen123","test11") returndb defsqlDML(sql,db): cr=db.cursor() cr.execute(sql) db.commit() cr.close() # if__name__=='__main__': MainCheck()
以上这篇python监测内存和cpu的使用率实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。