freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

运维日记|利用python实现一个简单的系统监控图表
2019-12-20 16:46:36

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

fd32e890e2434d1fb96ddc6a6d367d92

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

968c91e1614d4d93ab69cb997040d6b6

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

0a0298376276444282ae585864889fa1

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

1. 系统环境需求

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

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

Pip install psutil matplotlib

f8db22e30e5d432989f6170c25f9679c

表示安装成功。

2. Psuitl模块的使用

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

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

获取cpu使用率:

c48ea7d8241a4b95930536333514ea6d

获取内存使用率:

d542a272aa7943e08607b0b609320ba9

获取磁盘IO信息:

47768aa70f65483e9110b4bfe7c38302

写成一个函数:

ffe7e7b022c649028b9185f07a0d58a5

3. Matplotlib的使用

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

我们以cpu使用率图为例:

6d6b4bf949534ca6a5d41e668532ad8a

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

b9c0e66c2300453ba5e04b32ce9ff205

4. 多子图制作

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

c0e6fc923e5944e0b527355e8745b5a6

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

44eeb80a18e4404596f915b56e3705d5c19cbf698c5448389c9fa67ea68eab91

Psutil模块还有其他很多获取系统信息的函数,是python系统运维方面必备的模块,Matplotlib作为应用最广的画图模块之一,也有许多其他让你的图表更加好看好用的使用方法。这篇文章仅作抛砖引玉之用,以下为这两个模块的官方文档链接。

参考文献

Psutil模块:

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

Matplotlib模块:

https://matplotlib.org/contents.html


本文为 独立观点,未经允许不得转载,授权请联系FreeBuf客服小蜜蜂,微信:freebee2022
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者