python实现可视化动态CPU性能监控

本文实例为大家分享了python可视化动态CPU性能监控的具体代码,供大家参考,具体内容如下

打算开发web性能监控,以后会去学js,现在用matp来补救下,在官网有此类模板,花了一点时间修改了下,有兴趣的可以去官网看看。

基于matplotoilb和psutil,matplotoilb是有名的数据数据可视化工具,psutil是性能监控工具,所以你需要这两个环境,本文不多说环境的安装。

以下是代码:

#!/usr/bin/env python
#-*-coding:utf-8 -*-
import matplotlib.pyplot as plt
import matplotlib.animation as animation
import psutil
def data_gen(t=0): #设置xy变量
 x = 0
 y = 1
 while True:
 y = psutil.cpu_percent(interval=1) #获取cpu数值,1s获取一次。
 x += 1
 yield x,y
def init():
 ax.set_xlim(0, 10)   #起始x 1-10
 ax.set_ylim(0, 100)   #设置y相当于0%-100%
 del xdata[:]
 del ydata[:]
 line.set_data(xdata, ydata)
 return line,

fig, ax = plt.subplots()
line, = ax.plot([], [], lw=2)  #线像素比
ax.grid()
xdata, ydata = [], []

def run(data):
 # update the data
 t, y = data
 xdata.append(t)
 ydata.append(y)
 xmin, xmax = ax.get_xlim()

 if t >= xmax:   #表格随数据移动
 ax.set_xlim(xmin+10, xmax+10)
 ax.figure.canvas.draw()
 line.set_data(xdata, ydata)

 return line,

ani = animation.FuncAnimation(fig, run, data_gen, blit=False, interval=10,
repeat=False, init_func=init)
plt.show()

下面是效果图,还有很多地方不完善,以后会花点时间完成。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • python实现监控windows服务并自动启动服务示例

    使用Python 2.7 + pywin32 + wxpython开发 每隔一段时间检测一下服务是否停止,如果停止尝试启动服务.进行服务停止日志记录 AppMain.py 复制代码 代码如下: #!/usr/bin/env python#-*- encoding:utf-8 -*- """1. 每隔一分钟检测一次服务状态2. 如果发现服务状态已经停止,那么尝试启动服务3. 自动记录日志4. 任务栏图标显示""" import sys;reload

  • python3实现windows下同名进程监控

    python3实现windows下同名进程监控,供大家参考,具体内容如下 公司老版的SVN服务器的svn服务经常意外关闭,需要写个简单的监控脚本监控一下: 首先多个SVN服务使用不同的端口,使用wmic命令查看所有SVN进程占用的端口以此来判断目标服务是否存活,wimc命令如下: wmic process where caption="svn.exe" get commandline /value 然后用正则取出标准输出中的端口,用来比对: def get_alive_port(pro

  • python监控文件并且发送告警邮件

    本文实例为大家分享了python监控文件并发送邮件的具体代码,供大家参考,具体内容如下 一.配置文件 import time,datetime TODAY = time.time() TIME_PATH = str(TODAY.year) + "/" + str(TODAY.month) + "/" + str(datetime.datetime.now().date()) MONITOR_CONFIG = { "monitor_file":[

  • python实现监控linux性能及进程消耗性能的方法

    本文以实例形式实现了python监控linux性能以及进程消耗性能的方法,具体实现代码如下: # -*- coding: utf-8 -*- """ Created on Tue Jun 10 10:20:13 2014 @author: lifeix """ from collections import OrderedDict import time import os def cpuinfo(): lines = open('/proc/s

  • python实现实时监控文件的方法

    在业务稳定性要求比较高的情况下,运维为能及时发现问题,有时需要对应用程序的日志进行实时分析,当符合某个条件时就立刻报警,而不是被动等待出问题后去解决,比如要监控nginx的$request_time和$upstream_response_time时间,分析出最耗时的请求,然后去改进代码,这时就要对日志进行实时分析了,发现时间长的语句就要报警出来,提醒开发人员要关注,当然这是其中一个应用场景,通过这种监控方式还可以应用到任何需要判断或分析文件的地方,所以今天我们就来看看如何用python实现实时监

  • python3实现磁盘空间监控

    本文实例为大家分享了python3磁盘空间监控的具体代码,供大家参考,具体内容如下 软硬件环境 python3 apscheduler 前言 在做频繁操作磁盘的python项目时,经常会碰到磁盘空间不足的情况,这个时候,工程应该要有自己的处理模块,当磁盘利用率到达某个点时,发出警告并停止程序的运行.本文就利用Python3中的apscheduler模块来处理这样的问题. 代码实践 import os import sys import signal import logging from aps

  • Python脚本实现网卡流量监控

    #/usr/bin/env/python #coding=utf-8 import sys,re,time,os maxdata = 50000 #单位KB memfilename = '/tmp/newnetcardtransdata.txt' netcard = '/proc/net/dev' def checkfile(filename): if os.path.isfile(filename): pass else: f = open(filename, 'w') f.write('0'

  • python实现简易内存监控

    本例主要功能:每隔3秒获取系统内存,当内存超过设定的警报值时,获取所有进程占用内存并发出警报声.内存值和所有进程占用内存记入log,log文件按天命名. 1 获取cpu.内存.进程信息 利用WMI 简单说明下,WMI的全称是Windows Management Instrumentation,即Windows管理规范.它是Windows操作系统上管理数据和操作的基础设施.我们可以使用WMI脚本或者应用自动化管理任务等. 安装模块 WMI下载地址 win32com下载地址: 学会使用WMI 不错的

  • python实现自动发送报警监控邮件

    本文实例为大家分享了python自动发送报警监控邮件 的具体代码,供大家参考,具体内容如下 因为有一些日常任务需要每日检查日否执行正确,所以需要一个报警监控的机制,这个需要你指定你发送的邮箱和你接收的邮箱,就可以使用了. 这四个需要填写一下,我们使用的qq企业邮箱所以host为smtp.exmail.qq.com mail_host=""  mail_user=""  mail_pass=""  mail_postfix=""

  • 使用Python的Supervisor进行进程监控以及自动启动

    做服务器端开发的同学应该都对进程监控不会陌生,最近恰好要更换 uwsgi 为 gunicorn,而gunicorn又恰好有这么一章讲进程监控,所以多研究了下. 结合之前在腾讯工作的经验,也会讲讲腾讯的服务器监控是怎么做的.同时也会讲下小团队又该怎么敏捷的解决. 下面按照监控的方法依次介绍. 一.按照进程名监控 在腾讯内部所有server都是要打包发布的,而在打包过程中是需要填写要监控的进程名,然后在crontab中定时通过ps查询进程是否存在. 这种方法是比较简单的方法,但是考虑到很多进程会在启

随机推荐