flask框架:简单的监控服务器的系统DEMO

Posted jimmyzhang2020

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了flask框架:简单的监控服务器的系统DEMO相关的知识,希望对你有一定的参考价值。

  前段时间应领导要求,需要开发一套服务端的资源监控的脚本,通过python脚本监控服务器的资源状态,将监控数据录入到数据库表,而后直接分析入库的统计结果生成趋势图表以供参考!大概花了一个多星期把整个系统写完,但是总觉得无法达到实时的监控确实是一个很大遗憾。因此在同事的的推荐下初步学习了一下flask框架,不过百度了好多文章,大部分文章和DEMO都无法满足我得需求。最后,通过CSDN小黑鹅的博客找到一点线索(博客地址如下),在他博客基础山整合了一下,自己写了一个学习的DEMO,帮助跟我一样的兄弟能够快速应用到公司项目上去。

https://blog.csdn.net/Daisy_zye/article/details/84560555

一、需要安装的包

1、功能相关

a、psutil

python system and process utilities(python系统和进程实用程序),监控服务器的资源(CPU内存磁盘网络等)、进程的相关信息。个人认为比较全说明文档:

https://psutil.readthedocs.io/en/latest/#

b、os

处理文件和目录

2、web框架

flask及flask-bootstrap

二、前端界面

这块个人不太懂bootstrap框架,照搬原博主的内容

1、导航栏:基模板

    超链接在jinja中的两种用法
        html文件:href="index.html"
        视图函数:href="/index/"

推荐使用/index/形式,根据路由找到对应html,避免更新文件名称或位置引起的大量修改。

技术图片

 

 

   bootstrap将界面宽度分为12分,可以用过col来控制控件的位置,例如:col-lg-10意为占用10等分宽的界面,col-lg-offset-1意为从左侧偏移一位。

技术图片

 

 

 2、其他信息:block
    在基模板中配置block newcontent

技术图片

 

 

 三、视图函数

调用os和psutil库获取到服务器后端的监控数据,存储到cpu内,在render_template中根据key=value形式传入变量,在html中使用{{key}}来显示传入的变量。

技术图片

 

 

 

DEMO中监控CPU、系统信息、磁盘挂载信息、系统盘(sda)、数据盘(sdbsdc等)、网络流量监控、内存消耗最大排序的前10个进程。

四、效果图

技术图片

 

 

最后放上demo的git代码:https://github.com/testPython2018/get_svrInfo_demo

 

以上是关于flask框架:简单的监控服务器的系统DEMO的主要内容,如果未能解决你的问题,请参考以下文章

python使用Flask框架实现疫情监控追踪可视化项目

Flask-Sockets实时的监控画面

从0开始,用flask+mongo打造分布式服务器监控平台

python flask+psutil 系统监控项目

(转)手把手教你自制微信公众号流量监控系统

Psutil + Flask + Pyecharts + Bootstrap 开发动态可视化系统监控