python 监测内存和cpu的使用率实例


Posted in Python onNovember 28, 2019

我就废话不多说了,直接上代码吧!

import paramiko
import pymysql
import time

linux = ['192.168.0.179']
def connectHost(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)
  return ssh
def MainCheck():
  try:
    while True:
      time.sleep(1)
      for a in range(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 = "vmstat 1 3|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 = "insert into memory_and_cpu values('%s','%s','%s','%s')" % (
        host_name, curr_time, cpu_usage, mem_usage)
        db = connectDB()
        sqlDML(sql, db)
  except:
    print("连接服务器 %s 异常" % (linux[a]))

def connectDB(dbname='test11'):
  if dbname == 'test11':
    db = pymysql.connect("localhost", "root", "shen123", "test11")
    return db
def sqlDML(sql, db):
  cr = db.cursor()
  cr.execute(sql)
  db.commit()
  cr.close()

  #
if __name__ == '__main__':

  MainCheck()

以上这篇python 监测内存和cpu的使用率实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python Socket编程入门教程
Jul 11 Python
python根据文件大小打log日志
Oct 09 Python
python计算N天之后日期的方法
Mar 31 Python
Python输出PowerPoint(ppt)文件中全部文字信息的方法
Apr 28 Python
Python实现PS滤镜中马赛克效果示例
Jan 20 Python
Python OpenCV处理图像之图像直方图和反向投影
Jul 10 Python
python递归实现快速排序
Aug 18 Python
对python3 中方法各种参数和返回值详解
Dec 15 Python
Python-jenkins 获取job构建信息方式
May 12 Python
Python实现一个优先级队列的方法
Jul 31 Python
用Python实现童年贪吃蛇小游戏功能的实例代码
Dec 07 Python
使用python向MongoDB插入时间字段的操作
May 18 Python
python随机生成库faker库api实例详解
Nov 28 #Python
python的faker库用法
Nov 28 #Python
关于python中plt.hist参数的使用详解
Nov 28 #Python
python创建子类的方法分析
Nov 28 #Python
python 实现快速生成连续、随机字母列表
Nov 28 #Python
Python操作多维数组输出和矩阵运算示例
Nov 28 #Python
Python创建一个元素都为0的列表实例
Nov 28 #Python
You might like
php生成EXCEL的东东
2006/10/09 PHP
PHP中source #N问题的解决方法
2014/01/27 PHP
CI框架入门之MVC简单示例
2016/11/21 PHP
php实现微信支付之现金红包
2018/05/30 PHP
获取页面高度,窗口高度,滚动条高度等参数值getPageSize,getPageScroll
2006/09/22 Javascript
基于jquery的textarea发布框限制文字字数输入(添加中文识别)
2012/02/16 Javascript
ExtJS4中使用mixins实现多继承示例
2013/12/03 Javascript
jQuery简单创建节点的方法
2016/09/09 Javascript
AngularJS的脏检查深入分析
2017/04/22 Javascript
anime.js 实现带有描边动画效果的复选框(推荐)
2017/12/24 Javascript
微信小程序slider组件使用详解
2018/01/31 Javascript
微信小程序文字显示换行问题
2019/07/28 Javascript
Vue+elementui 实现复杂表头和动态增加列的二维表格功能
2019/09/23 Javascript
vue实现简单的登录弹出框
2020/10/26 Javascript
详解vue-cli项目在IE浏览器打开报错解决方法
2020/12/10 Vue.js
django自定义Field实现一个字段存储以逗号分隔的字符串
2014/04/27 Python
python使用wxPython打开并播放wav文件的方法
2015/04/24 Python
python 内置函数filter
2017/06/01 Python
神经网络理论基础及Python实现详解
2017/12/15 Python
PyCharm 常用快捷键和设置方法
2017/12/20 Python
django admin添加数据自动记录user到表中的实现方法
2018/01/05 Python
浅谈python中get pass用法
2019/03/19 Python
Python3使用Matplotlib 绘制精美的数学函数图形
2019/04/11 Python
使用Python正则表达式操作文本数据的方法
2019/05/14 Python
Pycharm中Python环境配置常见问题解析
2020/01/16 Python
keras得到每层的系数方式
2020/06/15 Python
Python 处理日期时间的Arrow库使用
2020/08/18 Python
实列教程 一款基于jquery和css3的响应式二级导航菜单
2014/11/13 HTML / CSS
伦敦剧院及景点门票:Encore Tickets
2018/07/01 全球购物
纬创Java面试题笔试题
2014/10/02 面试题
消防应急演练方案
2014/02/12 职场文书
警察先进个人事迹材料
2014/05/16 职场文书
2015年感恩母亲节活动方案
2015/05/04 职场文书
如何用python识别滑块验证码中的缺口
2021/04/01 Python
html实现弹窗的实例
2021/06/09 HTML / CSS
关于Spring配置文件加载方式变化引发的异常详解
2022/01/18 Java/Android