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中from module import * 的一个坑
Jul 20 Python
Python Web框架Flask中使用百度云存储BCS实例
Feb 08 Python
python使用Tkinter显示网络图片的方法
Apr 24 Python
Python的Tornado框架实现异步非阻塞访问数据库的示例
Jun 30 Python
利用Python抓取行政区划码的方法
Nov 28 Python
一个基于flask的web应用诞生 记录用户账户登录状态(6)
Apr 11 Python
python3实现公众号每日定时发送日报和图片
Feb 24 Python
基于python 爬虫爬到含空格的url的处理方法
May 11 Python
Python3安装Pillow与PIL的方法
Apr 03 Python
Django 表单模型选择框如何使用分组
May 16 Python
使paramiko库执行命令时在给定的时间强制退出功能的实现
Mar 03 Python
Python中OpenCV实现查找轮廓的实例
Jun 08 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中output_buffering
2015/07/13 PHP
基于PHP代码实现中奖概率算法可用于刮刮卡、大转盘等抽奖算法
2015/12/20 PHP
jquery插件制作 自增长输入框实现代码
2012/08/17 jQuery
jQuery setTimeout()函数使用方法
2013/04/07 Javascript
使用jquery实现简单的ajax
2013/07/08 Javascript
jquery快捷动态绑定键盘事件的操作函数代码
2013/10/17 Javascript
jquery实现倒计时代码分享
2014/06/13 Javascript
javascript自定义右键弹出菜单实现方法
2015/05/25 Javascript
jQuery自定义数值抽奖活动代码
2016/06/11 Javascript
微信小程序 UI布局常用技巧整理总结
2016/12/05 Javascript
jquery操作ul的一些操作笔记整理(干货)
2017/08/31 jQuery
javascript+jQuery实现360开机时间显示效果
2017/11/03 jQuery
利用js实现前后台传送Json的示例代码
2018/03/29 Javascript
JS隐藏号码中间4位代码实例
2019/04/09 Javascript
VueJs里利用CryptoJs实现加密及解密的方法示例
2019/04/29 Javascript
如何获取vue单文件自身源码路径
2019/05/06 Javascript
Javascript如何递归遍历本地文件夹
2020/08/06 Javascript
[04:03]辉夜杯主赛事 12月25日RECAP精彩回顾
2015/12/26 DOTA
浅谈Python数据类型判断及列表脚本操作
2016/11/04 Python
Python使用一行代码获取上个月是几月
2018/08/30 Python
Python进阶之自定义对象实现切片功能
2019/01/07 Python
解决使用PyCharm时无法启动控制台的问题
2019/01/19 Python
python3.6下Numpy库下载与安装图文教程
2019/04/02 Python
python实现飞机大战小游戏
2019/11/08 Python
Django 自定义分页器的实现代码
2019/11/24 Python
Tensorflow Summary用法学习笔记
2020/01/10 Python
python 日志 logging模块详细解析
2020/03/31 Python
Python通过Schema实现数据验证方式
2020/11/12 Python
纯CSS3实现3D旋转书本效果
2016/03/21 HTML / CSS
你不知道的5个HTML5新功能
2016/06/28 HTML / CSS
CK加拿大官网:Calvin Klein加拿大
2020/03/14 全球购物
秘书英文求职信
2014/04/16 职场文书
关于环保的演讲稿
2014/05/10 职场文书
涨价通知
2015/04/23 职场文书
婚庆开业庆典主持词
2015/06/30 职场文书
法制教育讲座心得体会
2016/01/14 职场文书