美文网首页Python学习Pythonpython 入门
用python十分钟手写一个简易的实时内存监控系统

用python十分钟手写一个简易的实时内存监控系统

作者: 9ba4bd5525b9 | 来源:发表于2019-06-29 15:08 被阅读22次

第一步,我们需要获取内存信息

其实所有的监控项,包括内存数据,都是从文件中读取的,大家执行以下 cat /proc/meminfo就可以看到关于内存的信息,我们关注的是前四行,总内存,空闲内存,缓冲和缓存大小

计算内存占用量公式:

(总内存-空闲内存-缓冲-缓存)/1024Mb

代码呼之欲出 monitor.py

用with打开文件,可以自动关闭,比直接open优雅那么一丢丢

执行文件 python monitor.py,每一秒打印一条内存信息

[woniu@teach memory]$ python mointor.py

2920

2919

2919

2919

2919

我们可以写个很搓的测试代码,占用一点内存,看看数据会不会变

执行下面代码,能看到内存使用量明显多了几M

获取内存数据done!

第二步存储数据库

我们选用mysql

新建表格,我们需要两个字段,内存和时间 sql呼之欲出,简单粗暴

creatememory(memoryint,timeint)

我们的 monitor.py就不能只打印内存信息了,要存储数据库啦,引入mysql模块,代码如下

比之前的多了拼接sql和执行的步骤,具体过程见视频,大家到数据库里执行一下下面的sql,就能看到我们辛辛苦苦获取的内存数据啦

select*frommemory

我们的数据库里数据越来越多,怎么展示呢

我们需要flask

我们看下文件结构

flask_web就是我们的web服务代码,template下面的html,就是前端展示的文件,static下面是第三方库

flask_web的代码如下

提供两个路由

根目录渲染文件index.html

/data路由去数据库插数据,返回json,供画图使用

前端index.html

highstock的demo页面,copy过来

我们并不仅限于此,如果想实时的看到内存,应该怎么搞呢

查询数据时候增加一个时间戳当限制条件,再次查询时,只返回两次查询之间的增量数据

前端动态添加增量结点数据到图表中

代码呼之欲出

python

相关文章

  • 用python十分钟手写一个简易的实时内存监控系统

    第一步,我们需要获取内存信息 其实所有的监控项,包括内存数据,都是从文件中读取的,大家执行以下 cat /proc...

  • Linux 系统监控命令

    1. top 实时动态查看当前系统运行状态 top 命令是性能监控程序,如: CPU的使用、内存使用、交换内存、缓...

  • NX3225SA贴片24MHz晶振,智能电子产品“专属订制”

    视频安全监控系统是一种利用视频技术实时检测和监控强化区域,实时显示和记录实时图像的电子系统或网络。网络视频监控系统...

  • 2017-12-25

    XMPP实时监控系统,MQTT实时监控系统,mosoquitto服务器监视系统,继电器原理:弱电控制强电;

  • 09、构建Docker容器监控系统

    1、为什么要监控?要监控什么? 监控的意义:(1) 对系统不间断实时监控(2) 实时反馈系统当前状态(3) 保证业...

  • 架构之美

    企业项目案例 共享存储实时备份的原理: inotify(实时同步工具) 异步文件系统事件监控机制,可以监控文件系统...

  • 利用logback+slf4j日志采集整合到SBA

    用Spring Boot Admin搭建监控系统的效果: Spring Boot Admin 提供了本地日志实时采...

  • 一个简易版的智能搜索系统(下)

    3 用python实现在线搜索功能 继上篇一个简易版的智能搜索系统(上)这份代码是基于php调用python写的用...

  • 实时监控系统介绍

    在大型系统的维护中,实时监控对于开发人员了解系统情况,排查系统问题至关重要。本文不会介绍这类实时监控的实现原理(有...

  • 2020-05-29 构建Docker容器监控系统

    1. 为什么要监控 对系统不间断实时监控 实时反馈系统当前状态 保证业务持续性运行 2. 要监控什么 3. Pro...

网友评论

    本文标题:用python十分钟手写一个简易的实时内存监控系统

    本文链接:https://www.haomeiwen.com/subject/qodpcctx.html