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网络编程学习笔记(六):Web客户端访问
Jun 09 Python
Python中的条件判断语句基础学习教程
Feb 07 Python
详解Python中的静态方法与类成员方法
Feb 28 Python
Python 利用内置set函数对字符串和列表进行去重的方法
Jun 29 Python
Django上使用数据可视化利器Bokeh解析
Jul 31 Python
python字典的遍历3种方法详解
Aug 10 Python
python2.7的flask框架之引用js&css等静态文件的实现方法
Aug 22 Python
Python3 Tkinkter + SQLite实现登录和注册界面
Nov 19 Python
关于numpy数组轴的使用详解
Dec 05 Python
Python中Subprocess的不同函数解析
Dec 10 Python
Python爬虫爬取新闻资讯案例详解
Jul 14 Python
python实现简单猜单词游戏
Dec 24 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数组对比函数,存在交集则返回真,否则返回假
2011/02/03 PHP
php文档更新介绍
2011/07/22 PHP
非常精妙的PHP递归调用与静态变量使用
2012/12/16 PHP
php读取mssql的ntext字段返回值为空的解决方法
2014/12/30 PHP
php中删除、清空session的方式总结
2015/10/09 PHP
php抓取网站图片并保存的实现方法
2015/10/29 PHP
Yii框架响应组件用法实例分析
2019/09/04 PHP
jQuery lazyLoad图片延迟加载插件的优化改造方法分享
2013/08/13 Javascript
js解决select下拉选不中问题
2014/10/14 Javascript
javascript 获取浏览器版本
2015/01/21 Javascript
jQuery多级手风琴菜单实例讲解
2015/10/22 Javascript
Bootstrap树形控件使用方法详解
2016/01/27 Javascript
详解angularJs模块ui-router之状态嵌套和视图嵌套
2017/04/28 Javascript
Vue中的Vux配置指南
2017/12/08 Javascript
vue中简单弹框dialog的实现方法
2018/02/26 Javascript
Vue中使用vux配置代码详解
2018/09/16 Javascript
jQuery实现当拉动滚动条到底部加载数据的方法分析
2019/01/24 jQuery
实用Javascript调试技巧分享(小结)
2019/06/18 Javascript
nodejs dgram模块广播+组播的实现示例
2019/11/04 NodeJs
详解搭建一个vue-cli的移动端H5开发模板
2020/01/17 Javascript
[02:16]2018年度CS GO最具人气选手-完美盛典
2018/12/16 DOTA
pydev使用wxpython找不到路径的解决方法
2013/02/10 Python
Python使用SQLite和Excel操作进行数据分析
2018/01/20 Python
linux中如何使用python3获取ip地址
2019/07/15 Python
python读取yaml文件后修改写入本地实例
2020/04/27 Python
windows10 pycharm下安装pyltp库和加载模型实现语义角色标注的示例代码
2020/05/07 Python
Python装饰器结合递归原理解析
2020/07/02 Python
Django 实现图片上传和下载功能
2020/12/31 Python
英国最大的在线蜡烛商店:Candles Direct
2019/03/26 全球购物
你对IPv6了解程度
2016/02/09 面试题
毕业学生推荐信
2013/12/01 职场文书
大学生如何写自荐信
2014/01/08 职场文书
幼儿园中班上学期评语
2014/04/18 职场文书
2014年民主评议党员个人总结
2014/09/24 职场文书
「天才王子的赤字国家重生术」妮妮姆·拉雷粘土人开订
2022/03/21 日漫
MySQL数据库配置信息查看与修改方法详解
2022/06/25 MySQL