首页 > 编程语言 >Python监控服务器

Python监控服务器

时间:2024-02-08 10:13:33浏览次数:33  
标签:cur Python db mempercent mem 监控 import 服务器 cpu

Python代码如下:

 

import psutil
import time
import pymysql

db = pymysql.connect(user="root", passwd="root", db="test", host="127.0.0.1")
db.autocommit(True)
cur = db.cursor()


def getinfo():
    mem = psutil.virtual_memory()
    memtotal = mem.total
    memfree = mem.free
    mempercent = mem.percent
    memused = mem.used
    cpu = psutil.cpu_percent(1)
    return memtotal, memfree, memused, mempercent, cpu


if __name__ == "__main__":
    while True:
        try:
            memtotal, memfree, memused, mempercent, cpu = getinfo()
            t = int(time.time())
            sql = 'insert into stat (mem_free,' \
                  'mem_usage,' \
                  'mem_total,' \
                  'mempercent,' \
                  'cpu,' \
                  'time) value (%s,%s,%s,%s,%s,%s)' % (
            memfree, memused, memtotal, mempercent, cpu, t)
            cur.execute(sql)
            time.sleep(10)
        except Exception as e:
            print(e)
View Code

显示代码:

from matplotlib import pyplot as plt
import pymysql
from pyecharts.charts import Line
from pyecharts import options as opts
db = pymysql.connect(user="root", passwd="root", db="test", host="127.0.0.1")
cur = db.cursor()
sql = 'select cpu from stat'
cur.execute(sql)
cpu_data = cur.fetchall()

all_cpu = []
for cpu in cpu_data:
    cpu_num = eval(cpu[0])
    all_cpu.append(cpu_num)
print(all_cpu)
# 使用pyecharts画图
x = [i for i in range(len(all_cpu))]


line = (
    Line()
    .add_xaxis(x)
    .add_yaxis("CPUinfo", all_cpu)
    .set_global_opts(title_opts=opts.TitleOpts(title="CPUinfo"))
)
line.render()
db.close()
View Code
from matplotlib import pyplot as plt
plt.plot(all_cpu)
plt.show()

 matplotlib做图

 

数据库数据:

 

标签:cur,Python,db,mempercent,mem,监控,import,服务器,cpu
From: https://www.cnblogs.com/shiningleo007/p/18011609

相关文章

  • Ubuntu源码安装Python
    Ubuntu源码安装Python目前Ubuntu电脑需要升级Python,但根据源来升级,会出现报错,故记录用源码升级的方法。从官方链接下载源码:https://www.python.org/downloads/source/根据自己需求下载对应版本即可。这里笔者下载的是Python-3.10.0rc2.tgz解压:tar-zxvfPython-3.10.0rc......
  • Python实现软件设计模式9:组合模式 Composite Pattern
    动机如何将容器和叶子进行递归组合,使得用户在使用时无须对它们进行区分,可以一致地对待容器和叶子?典型案例如:文件系统,在树形目录结构中,包含文件和文件夹两类不同的元素;在文件夹中可以继续包含文件或子文件夹,在文件中不能再包含子文件或者子文件夹。概念组合多个对象形成树形......
  • 【幻兽帕鲁教程】如何在幻兽帕鲁服务器内快速设置游戏密码与端口
    以下将为大家介绍如何在幻兽帕鲁服务器内快速设置游戏服务器密码,并修改游戏端口:Windows服务器如果你是用Windows操作系统搭建了幻兽帕鲁服务器,则按照如下操作进行即可:登录Windows服务器1、登录腾讯云轻量应用服务器控制台,获取服务器登录密码。如您忘记密码,可以在控制台重......
  • `resp.text` 和 `resp.json()` 是处理 `requests` 库返回的响应对象中的两个不同方法,
    resp.text和resp.json()是处理requests库返回的响应对象中的两个不同方法,用于获取服务器响应的内容。它们的区别在于:resp.text:resp.text返回响应的内容作为字符串。适用于任何响应内容,无论响应内容是HTML、JSON、XML还是纯文本。如果响应内容是JSON格式,可以使用resp.tex......
  • 【视频】小甲鱼零基础入门学习Python(全96集)
    视频下载地址:https://pan.quark.cn/s/c17e3da33a76目录1.第一讲:我和Python的第一次亲密接触2.第二讲:用Python设计第一个游戏3.第三讲:小插曲之变量和字符串4.第四讲:改进我们的小游戏5.第五讲:Python的数据类型6.第六讲:常用的操作符7.第七-九讲:了不起的分支和循环8.第十讲:一个......
  • 【随手记录】harbor部署在国产arm服务器报错 502 Bad Gateway
    在国产arm服务器KyLinV11操作系统部署harbor仓库时候遇到502BadGateway 问题问题:502BadGatewaydockerlogin--username=xx--password=xxx10.23.5.10:18023WARNING!Using--passwordviatheCLIisinsecure.Use--password-stdin.Errorresponsefromdaemon:lo......
  • [python3]: python --【class】类变量(类属性)
    [python3]: python --【class】类变量(类属性)    一、说明: 1、类变量:类变量,定义在【类内】且【函数外】。1classobject:23#class_variable4icount=0567def__init__(self):8#usingclass_vari......
  • Python 获取相对路径
    想要获取当前文件的路径,通常我的做法是os.path.abspath(__file__)如果想要获取当前文件的所在文件夹,通常的做法是os.path.dirname(__file__)但是更多的时候,我想获取当前所在文件的父目录的父目录,做法可以是os.path.dirname(os.path.diranme(__file__))或path=os.path......
  • 02 在vscode中使用python
    安装插件需要先安装python这个插件安装完成后,创建一个文件夹,用于工程的创建。使用vscode打开这个文件夹,之后新建一个.py文件。编写第一个程序:print("hello")a=3b=4print(a+b)box="gogogo"name="lili"print("byby"+name)配置相关信息选择这个:......
  • Python中的包模块引用成员的方法
    在Python中,包(package)和模块(module)是组织和管理代码的重要方式。将代码分成不同的模块或包可以更好地组织代码结构,使代码更易于维护和管理。说的通俗点,就是将代码整理成一块一块,然后使用时候相互拼接完成就可以使用,这样的好处是可用性高而且非常方便维护,尤其是在选择大型爬虫项目的......