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构造icmp echo请求和实现网络探测器功能代码分享
Jan 10 Python
Python全局变量操作详解
Apr 14 Python
python之Character string(实例讲解)
Sep 25 Python
解决已经安装requests,却依然提示No module named requests问题
May 18 Python
python中验证码连通域分割的方法详解
Jun 04 Python
Python 调用 zabbix api的方法示例
Jan 06 Python
python Tkinter版学生管理系统
Feb 20 Python
python zip()函数使用方法解析
Oct 31 Python
Python使用Pandas读写Excel实例解析
Nov 19 Python
keras tensorflow 实现在python下多进程运行
Feb 06 Python
UI自动化定位常用实现方法代码示例
Oct 27 Python
浅谈盘点5种基于Python生成的个性化语音方法
Feb 05 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
《雄兵连》系列首部大电影《烈阳天道》:可能是因为期望值太高了
2020/08/18 国漫
用php或asp创建网页桌面快捷方式的代码
2010/03/23 PHP
收集的二十一个实用便利的PHP函数代码
2010/04/22 PHP
深入理解PHP原理之Session Gc的一个小概率Notice
2011/04/12 PHP
Yii2 rbac权限控制之菜单menu实例教程
2016/04/28 PHP
php利用ob_start()清除输出和选择性输出的方法
2018/01/18 PHP
laravel框架模型中非静态方法也能静态调用的原理分析
2019/11/23 PHP
javascript 全角转换实现代码
2009/07/17 Javascript
jQuery中map()方法用法实例
2015/01/06 Javascript
jQuery中empty()方法用法实例
2015/01/16 Javascript
jQuery插件kinMaxShow扩展效果用法实例
2015/05/04 Javascript
js实现防止被iframe的方法
2015/07/03 Javascript
AngularJS中的Directive自定义一个表格
2016/01/25 Javascript
AngularJS基础 ng-init 指令简单示例
2016/08/02 Javascript
强大Vue.js组件浅析
2016/09/12 Javascript
Javascript动画效果(1)
2016/10/11 Javascript
html5+CSS 实现禁止IOS长按复制粘贴功能
2016/12/28 Javascript
Three.js基础部分学习
2017/01/08 Javascript
将 vue 生成的 js 上传到七牛的实例
2017/07/28 Javascript
基于Vue的移动端图片裁剪组件功能
2017/11/28 Javascript
JS笛卡尔积算法与多重数组笛卡尔积实现方法示例
2017/12/01 Javascript
你应该了解的JavaScript Array.map()五种用途小结
2018/11/14 Javascript
es6数值的扩展方法
2019/03/11 Javascript
layui实现二维码弹窗、并下载到本地的方法
2019/09/25 Javascript
[01:24:09]Ti4 冒泡赛第二轮DK vs C9 1
2014/07/14 DOTA
在python的类中动态添加属性与生成对象
2016/09/17 Python
Django框架用户注销功能实现方法分析
2019/05/28 Python
django 中的聚合函数,分组函数,F 查询,Q查询
2019/07/25 Python
OpenCV中VideoCapture类的使用详解
2020/02/14 Python
Python下载的11种姿势(小结)
2020/11/18 Python
python 利用openpyxl读取Excel表格中指定的行或列教程
2021/02/06 Python
Python抖音快手代码舞(字符舞)的实现方法
2021/02/07 Python
Dr. Martens马汀博士德国官网:马丁靴鼻祖
2019/12/26 全球购物
公司周年庆典邀请函
2014/01/12 职场文书
党员干部公开承诺书
2014/03/26 职场文书
关于@OnetoMany关系映射的排序问题,使用注解@OrderBy
2021/12/06 Java/Android