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将人民币转换大写的脚本代码
Feb 10 Python
python使用百度翻译进行中翻英示例
Apr 14 Python
Python设计模式中单例模式的实现及在Tornado中的应用
Mar 02 Python
python语言使用技巧分享
May 31 Python
python递归查询菜单并转换成json实例
Mar 27 Python
pandas 实现字典转换成DataFrame的方法
Jul 04 Python
django配置连接数据库及原生sql语句的使用方法
Mar 03 Python
python 设置输出图像的像素大小方法
Jul 04 Python
Python matplotlib修改默认字体的操作
Mar 05 Python
使用Jupyter notebooks上传文件夹或大量数据到服务器
Apr 14 Python
python中元组的用法整理
Jun 15 Python
Python selenium爬取微信公众号文章代码详解
Aug 12 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 检查扩展库或函数是否可用的代码
2010/04/06 PHP
ThinkPHP采用模块和操作分析
2011/04/18 PHP
php5.3 不支持 session_register() 此函数已启用的解决方法
2013/11/12 PHP
PHP实现单例模式最安全的做法
2014/06/13 PHP
PHP判断json格式是否正确的实现代码
2017/09/20 PHP
PHP中命名空间的使用例子
2019/03/22 PHP
PHP判断是否微信访问的方法示例
2019/03/27 PHP
phpStudy vscode 搭建debug调试的教程详解
2020/07/28 PHP
javascript模拟实现C# String.format函数功能代码
2013/11/25 Javascript
js之ActiveX控件使用说明 new ActiveXObject()
2014/03/03 Javascript
JavaScript设计模式之工厂模式和构造器模式
2015/02/11 Javascript
使用Meteor配合Node.js编写实时聊天应用的范例
2015/06/23 Javascript
Js 获取当前函数参数对象的实现代码
2016/06/20 Javascript
js手动播放图片实现图片轮播效果
2016/09/17 Javascript
vue移动端裁剪图片结合插件Cropper的使用实例代码
2017/07/10 Javascript
JavaScript基础进阶之数组方法总结(推荐)
2017/09/04 Javascript
浏览器调试动态js脚本的方法(图解)
2018/01/19 Javascript
JS选取DOM元素常见操作方法实例分析
2018/12/10 Javascript
layui当点击文本框时弹出选择框,显示选择内容的例子
2019/09/02 Javascript
[46:48]DOTA2上海特级锦标赛A组小组赛#2 Secret VS CDEC第三局
2016/02/25 DOTA
[54:15]DOTA2-DPC中国联赛 正赛 DLG vs Dragon BO3 第二场2月1日
2021/03/11 DOTA
Flask入门教程实例:搭建一个静态博客
2015/03/27 Python
Python 如何优雅的将数字转化为时间格式的方法
2019/09/26 Python
Python命令行参数定义及需要注意的地方
2020/11/30 Python
python 基于pygame实现俄罗斯方块
2021/03/02 Python
CSS3中利用animation属性创建雪花飘落特效
2014/05/14 HTML / CSS
全球最大的网上自行车商店:Chain Reaction Cycles
2016/12/02 全球购物
英国男女豪华配饰和礼品网站:Black.co.uk
2020/02/28 全球购物
小学生考试获奖感言
2014/01/30 职场文书
日本语毕业生自荐信
2014/02/01 职场文书
竞选大队长演讲稿
2014/04/29 职场文书
班主任寄语2015
2015/02/26 职场文书
老人与海读书笔记
2015/06/26 职场文书
通讯稿范文
2015/07/22 职场文书
党员电教片《信仰》心得体会
2016/01/15 职场文书
MySQL库表太大怎么办? 数据库分库分表项目实践
2022/04/11 MySQL