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中私有函数调用方法解密
Apr 29 Python
定制FileField中的上传文件名称实例
Aug 23 Python
Python基于pyCUDA实现GPU加速并行计算功能入门教程
Jun 19 Python
python使用selenium登录QQ邮箱(附带滑动解锁)
Jan 23 Python
python 调用钉钉机器人的方法
Feb 20 Python
python监控进程状态,记录重启时间及进程号的实例
Jul 15 Python
Python 实现的 Google 批量翻译功能
Aug 26 Python
Python获取一个用户名的组ID过程解析
Sep 03 Python
python字典排序的方法
Oct 12 Python
解决Python 异常TypeError: cannot concatenate 'str' and 'int' objects
Apr 08 Python
TensorFlow tf.nn.softmax_cross_entropy_with_logits的用法
Apr 19 Python
pytorch 中nn.Dropout的使用说明
May 20 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
深入apache host的配置详解
2013/06/09 PHP
php+ajax实时输入自动搜索匹配的方法
2014/12/26 PHP
PHP使用token防止表单重复提交的方法
2016/04/07 PHP
Yii2框架操作数据库的方法分析【以mysql为例】
2019/05/27 PHP
网易JS面试题与Javascript词法作用域说明
2010/11/09 Javascript
jquery中的事件处理详细介绍
2013/06/24 Javascript
JavaScript中的原型prototype属性使用详解
2015/06/05 Javascript
手机端转盘抽奖代码分享
2015/09/10 Javascript
jQuery实现图片文字淡入淡出效果
2015/12/21 Javascript
JS多文件上传的实例代码
2017/01/11 Javascript
原生javascript移动端滑动banner效果
2017/03/10 Javascript
input框中自动展示当前日期yyyy/mm/dd的实现方法
2017/07/06 Javascript
form表单序列化详解(推荐)
2017/08/15 Javascript
详解在vue-cli中引用jQuery、bootstrap以及使用sass、less编写css
2017/11/08 jQuery
webpack+vue中使用别名路径引用静态图片地址
2017/11/20 Javascript
微信小程序实现获取小程序码和二维码java接口开发
2019/03/29 Javascript
vue-router源码之history类的浅析
2019/05/21 Javascript
python网络编程之文件下载实例分析
2015/05/20 Python
在Mac OS系统上安装Python的Pillow库的教程
2015/11/20 Python
基于Python_脚本CGI、特点、应用、开发环境(详解)
2017/05/23 Python
python中模块查找的原理与方法详解
2017/08/11 Python
python验证身份证信息实例代码
2019/05/06 Python
django项目中使用手机号登录的实例代码
2019/08/15 Python
使用浏览器访问python写的服务器程序
2019/10/10 Python
python软件都是免费的吗
2020/06/18 Python
基于Python的一个自动录入表格的小程序
2020/08/05 Python
如何在scrapy中捕获并处理各种异常
2020/09/28 Python
简单介绍CSS3中Media Query的使用
2015/07/07 HTML / CSS
Manduka官网:瑜伽垫、瑜伽毛巾和服装
2018/07/02 全球购物
马耳他航空公司官方网站:Air Malta
2019/05/15 全球购物
八年级数学教学反思
2014/01/31 职场文书
收银出纳员岗位职责
2014/02/23 职场文书
自愿离婚协议书范文2014
2014/10/12 职场文书
公证处委托书
2015/01/28 职场文书
求职简历自我评价怎么写
2015/03/10 职场文书
Vue提供的三种调试方式你知道吗
2022/01/18 Vue.js