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删除nginx缓存文件示例(python文件操作)
Mar 26 Python
python测试驱动开发实例
Oct 08 Python
详解Python中open()函数指定文件打开方式的用法
Jun 04 Python
浅谈pandas中shift和diff函数关系
Apr 08 Python
python 重定向获取真实url的方法
May 11 Python
python numpy和list查询其中某个数的个数及定位方法
Jun 27 Python
python一键去抖音视频水印工具
Sep 14 Python
Python判断两个文件是否相同与两个文本进行相同项筛选的方法
Mar 01 Python
python2.7实现复制大量文件及文件夹资料
Aug 31 Python
利用matplotlib实现根据实时数据动态更新图形
Dec 13 Python
Python高阶函数、常用内置函数用法实例分析
Dec 26 Python
python numpy矩阵信息说明,shape,size,dtype
May 22 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数组函数序列之each() - 获取数组当前内部指针所指向元素的键名和键值,并将指针移到下一位
2011/10/31 PHP
php 的加密函数 md5,crypt,base64_encode 等使用介绍
2012/04/09 PHP
php对文件进行hash运算的方法
2015/04/03 PHP
php和nginx交互实例讲解
2019/09/24 PHP
解决Laravel5.5下的toArray问题
2019/10/15 PHP
Jquery Mobile 自定义按钮图标
2015/11/18 Javascript
JSON遍历方式实例总结
2015/12/07 Javascript
JavaScript字符串常用的方法
2016/03/10 Javascript
原生JS实现隐藏显示图片 JS实现点击切换图片效果
2021/01/27 Javascript
AngularJS 仿微信图片手势缩放的实例
2017/09/28 Javascript
three.js加载obj模型的实例代码
2017/11/10 Javascript
Vue Router的懒加载路径的解决方法
2018/06/21 Javascript
详解使用React制作一个模态框
2019/03/14 Javascript
webpack4之如何编写loader的方法步骤
2019/06/06 Javascript
前端Electron新手入门教程详解
2019/06/21 Javascript
Angular8引入百度Echarts进行图表分析的实现代码
2019/11/27 Javascript
JS加载解析Markdown文档过程详解
2020/05/19 Javascript
详解Vue.js3.0 组件是如何渲染为DOM的
2020/11/10 Javascript
python计算书页码的统计数字问题实例
2014/09/26 Python
在Django中同时使用多个配置文件的方法
2015/07/22 Python
详解字典树Trie结构及其Python代码实现
2016/06/03 Python
python自定义异常实例详解
2017/07/11 Python
python编程羊车门问题代码示例
2017/10/25 Python
python Gunicorn服务器使用方法详解
2019/07/22 Python
python深copy和浅copy区别对比解析
2019/12/26 Python
Django values()和value_list()的使用
2020/03/31 Python
几个CSS3的flex弹性盒模型布局的简单例子演示
2016/05/12 HTML / CSS
荷兰男士时尚网上商店:Suitable
2017/12/25 全球购物
JD Sports马来西亚:英国领先的运动鞋和运动服饰零售商
2018/03/13 全球购物
车间主任岗位职责
2015/02/03 职场文书
2015最新婚礼司仪主持词
2015/06/30 职场文书
春节慰问简报
2015/07/21 职场文书
小学生班干部竞选稿
2015/11/20 职场文书
Python中的min及返回最小值索引的操作
2021/05/10 Python
Python排序算法之插入排序及其优化方案详解
2021/06/11 Python
Ruby处理CSV数据方法详解
2022/04/18 Ruby