0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何使用Python实现一个简单的系统监控图表

Wildesbeast 来源:今日头条 作者:扣丁学堂 2020-02-04 12:45 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

作为运维人员,想必大家肯定都做过这样的事情:为了监控系统资源使用情况,开了若干个窗口,来回切换看输出:

只要我切得够快,性能异常点就逃不过我的眼睛!

这个时候你要是有个监控工具自然是很好的,例如我们美创的监控报警工具onekeeper,画面又好看,数据也准确,还是实时更新的。

然而好用的东西都是要花钱的,今天我们就利用python实现一个简单的动态监控图表。

1. 系统环境需求

我们这次要写的脚本主要基于Psutil与Matplotlib两个模块。

首先,我们这里选择python3环境,安装这两个模块:

Pip install psutil matplotlib

表示安装成功。

2. Psuitl模块的使用

顾名思义,psutil = process and system utilities,它不仅可以通过一两行代码实现系统监控,还可以跨平台使用,支持Linux/UNIX/OSX/Windows等。

它有许多函数功能,能够轻松实现获取系统运行的进程和系统利用率(包括CPU、内存、磁盘、网络等)信息,示例如下:

获取cpu使用率:

获取内存使用率:

获取磁盘IO信息:

写成一个函数:

私信小编01 领取精心整理的电子手三佰本

3. Matplotlib的使用

Matplotlib 可能是 Python 2D-绘图领域使用最广泛的套件。它能让使用者很轻松地将数据图形化,并且提供多样化的输出格式。

我们以cpu使用率图为例:

我们可以得到一张监控系统cpu使用率的动态图表。

4. 多子图制作

同样的,我们将其他两个性能指标也取出来,并做成同一个画布下不同的子图:

最后我们通过python得到了一个简单的系统性能动态监控图表:

Psutil模块还有其他很多获取系统信息的函数,是python系统运维方面必备的模块,Matplotlib作为应用最广的画图模块之一,也有许多其他让你的图表更加好看好用的使用方法。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • cpu
    cpu
    +关注

    关注

    68

    文章

    11223

    浏览量

    223015
  • 函数
    +关注

    关注

    3

    文章

    4406

    浏览量

    66860
  • python
    +关注

    关注

    57

    文章

    4858

    浏览量

    89609
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    详解ROMA中复杂图表的渲染实现

    、背景 ROMA承接很多复杂图表的渲染需求,在京东金融APP内,特别是首页首屏的图表,对图表渲染的及时性要求很高。近期业务反馈频繁重启时,首页的黄金走势图偶现渲染不出的问题,通过梳理
    的头像 发表于 10-21 13:57 265次阅读
    详解ROMA中复杂<b class='flag-5'>图表</b>的渲染<b class='flag-5'>实现</b>

    电机运行监控系统的设计与实现

    纯分享帖,需要者可点击附件免费获取完整资料~~~*附件:电机运行监控系统的设计与实现.pdf【免责声明】本文系网络转载,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请第
    发表于 05-26 02:19

    零基础入门:如何在树莓派上编写和运行Python程序?

    在这篇文章中,我将为你简要介绍Python程序是什么、Python程序可以用来做什么,以及如何在RaspberryPi上编写和运行简单
    的头像 发表于 03-25 09:27 1554次阅读
    零基础入门:如何在树莓派上编写和运行<b class='flag-5'>Python</b>程序?

    Python在嵌入式系统中的应用场景

    你想把你的职业生涯提升到新的水平?Python在嵌入式系统中正在成为股不可缺少的新力量。尽管传统上嵌入式开发更多地依赖于C和C++语言
    的头像 发表于 03-19 14:10 1215次阅读

    基于鸿蒙原生ArkTS语法开发的图表组件--柱状图

    大家好,我是陈杨。在上篇文章中,我简要介绍了折线图的实现逻辑,并解释了整体图表的绘制规则。根据这些规则,我们还可以绘制更多种类的图表组件。在本期中,我将讲解如何
    的头像 发表于 03-16 16:01 830次阅读
    基于鸿蒙原生ArkTS语法开发的<b class='flag-5'>图表</b>组件--柱状图

    codima—自动轮询和监控

    。Network Monitoring 引擎在整个系统中使用完全多线程和交错轮询,以实现高度可扩展性,以便于轮询大型网络。 设置监控 通过 Toolbox 设置监控就像选择
    的头像 发表于 02-10 11:50 618次阅读
    codima—自动轮询和<b class='flag-5'>监控</b>

    深度学习入门:简单神经网络的构建与实现

    深度学习中,神经网络是核心模型。今天我们用 Python 和 NumPy 构建简单的神经网络。 神经网络由多个神经元组成,神经元之间通过权重连接。我们构建
    的头像 发表于 01-23 13:52 856次阅读

    SciChart 3D for WPF图表

    SciChart 3D for WPF 是实时、高性能的 WPF 3D 图表库,专为金融、医疗和科学应用程序而设计。非常适合需要极致性能和丰富的交互式 3D 图表的项目。 使用我们
    的头像 发表于 01-23 13:49 1262次阅读
    SciChart 3D for WPF<b class='flag-5'>图表</b>库

    SciChart—高性能的JavaScript图表和图形库

    使用 SciChart 的 JavaScript 图表库为您的 JS 应用程序发现终极解决方案。 使用 WebGL 创建动态、高速的图表和图形,非常适合实时处理复杂的数据可视化。使用我们强大而灵活
    的头像 发表于 01-22 10:15 2551次阅读
    SciChart—高性能的JavaScript<b class='flag-5'>图表</b>和图形库

    使用Python实现xgboost教程

    使用Python实现XGBoost模型通常涉及以下几个步骤:数据准备、模型训练、模型评估和模型预测。以下是详细的教程,指导你如何在Python
    的头像 发表于 01-19 11:21 2240次阅读

    Chart FX——金融图表

    相较于传统的柱状图,许多交易者认为高低收盘图和蜡烛图更具视觉吸引力,也更容易解读。金融图表提供了幅易于解读的价格走势图。交易者可以立即看到并比较开盘价和收盘价以及最高价和最低价之间的关系。开盘价
    的头像 发表于 01-15 17:20 832次阅读

    Chart FX——图表导出

    Web格式的图片(如 PNG 或 JPEG)。 Chart FX 中还有其他文件类型,称为 “图表模板”,允许您将图表的外观(颜色、图表类型和样式、可视工具等)保存在
    的头像 发表于 01-15 14:38 699次阅读
    Chart FX——<b class='flag-5'>图表</b>导出

    Chart FX——打印图表

    一个重要的问题是图表打印的页数。当您需要打印包含大量点的图表(可滚动)时,Chart FX 将根据需要打印尽可能多的页面。若使用压缩属性, Chart FX 会通过重新计算适当的值使所有点都能
    的头像 发表于 01-13 09:12 642次阅读
    Chart FX——打印<b class='flag-5'>图表</b>

    Chart FX-图表渲染尺寸和格式

    渲染尺寸 网络开发人员的常见做法是创建图表,以便于在浏览器上阅读。然而,这种做法可能是影响服务器在大负载情况下的表现和性能的重要因
    的头像 发表于 01-08 11:25 585次阅读
    Chart FX-<b class='flag-5'>图表</b>渲染尺寸和格式

    Chart FX-选择图表输出

    图表选择输出时,最简单的方法是使用 Chart FX 智能标签向导。 通过 Chart FX 服务器控件控制图表输出有几种不同的方法。其中种仅需允许浏览器检测功能生成适合(发出请求
    的头像 发表于 01-05 11:06 798次阅读
    Chart FX-选择<b class='flag-5'>图表</b>输出