python脚本,实现监控系统的各项资源

编程入门 行业动态 更新时间:2024-10-06 01:37:05

python脚本,实现<a href=https://www.elefans.com/category/jswz/34/1762188.html style=监控系统的各项资源"/>

python脚本,实现监控系统的各项资源

shigen坚持日更的博客写手,擅长Java、python、vue、shell等编程语言和各种应用程序、脚本的开发。坚持记录和分享从业两年以来的技术积累和思考,不断沉淀和成长。

今天的文章涉及到docker的操作和一个python脚本,实现监控网络的流量、CPU使用率、内存使用率和磁盘使用情况。来和shigen一起先看看效果吧:

这是在控制台中出现的数据,可以很简单的看到我们想要的监控指标。如果实现定时任务和数据的存储、数据的展示,就是很好看的数据监控图表了。

我的代码主要是运行在一个centos的docker容器中。

是的,你没有看错,我还暴露了容器的22端口,供我在宿主机进行连接。

但是这不是重点,我拉取的centos其实是一个裸机,跟我们最开始买的服务器一样的。运行代码,肯定是需要安装python解释器的,这里shigen找到了珍藏许久的shell脚本,直接复制粘贴即可配置好python的环境。

这里我选取的python版本是:3.9.2。

wget .9.2/Python-3.9.2.tgz
tar -zxvf Python*
yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make libffi-devel
./configure
make && make install

验证python是否安装成功,只需要执行一下命令即可:

which python3 && python3 --version

那其实还有很重要的一步:配置pip的镜像,不然网络会慢到你怀疑人生。

pip config set global.index-url 

现在,我们的前置的准备工作全部的完成了。我们直接在vscode中编辑好代码:

# -*- encoding: utf-8 -*-
__date__ = '2023/11/02 19:01:26'import psutil
from rich.table import Table
from rich.console import Console# 创建新表格
table = Table(show_header=True, header_style="bold magenta", expand=True)
table.add_column("指标", style="dim", width=12)
table.add_column("数值", justify="right")# 获取系统信息
cpu_percent = psutil.cpu_percent(interval=1)
cpu_freq = psutil.cpu_freq()
cpu_cores = psutil.cpu_count(logical=False)
memory = psutil.virtual_memory()
network_stats = psutil_io_counters()
disk_stats = psutil.disk_partitions(all=True)# 添加 CPU 信息到表格
table.add_row("CPU 使用率", f"{cpu_percent}%")
if cpu_freq is not None:table.add_row("CPU 频率", f"{cpu_freq.current:.2f} MHz")
else:table.add_row("CPU 频率", "N/A")
table.add_row("CPU 核心数", f"{cpu_cores} 核")# 添加内存信息到表格
table.add_row("总内存", f"{memory.total / (1024**3):.2f} GB")
table.add_row("已用内存", f"{memory.used / (1024**3):.2f} GB")
table.add_row("内存使用百分比", f"{memory.percent}%")# 添加网络信息到表格
table.add_row("发送字节数", f"{network_stats.bytes_sent / (1024**2):.2f} MB")
table.add_row("接收字节数", f"{network_stats.bytes_recv / (1024**2):.2f} MB")# 添加磁盘信息到表格
for partition in disk_stats:disk_usage = psutil.disk_usage(partition.mountpoint)table.add_row(f"{partition.device} ({partition.mountpoint})", f"{disk_usage.percent}%")# 创建 console 对象并输出表格
console = Console()
console.print(table)

这里主要用到了两个库:psutilrich,借助psutil我们可以轻易的获得系统的各种指标,那rich主要是在控制台实现炫酷的效果。这里是时间关系,shigen写的比较简单。

那文件在我的主机上,centos的服务器在我的docker里边,文件到我的docker容器就需要docker cp派上用场了。在主机执行:

docker cp xx.py dockerId:/shigen/python

我们安装一下需要的库:

pip3 install psutil rich

现在环境配置成功,我们就可以看到上边的表格指标数据了。其实还是主要的复习一下docker的使用,顺便写了一个脚本实现服务器资源的监控,算是一个日常的练手吧。


以上就是今天分享的全部内容了,觉得不错的话,记得点赞 在看 关注支持一下哈,您的鼓励和支持将是shigen坚持日更的动力。同时,shigen在多个平台都有文章的同步,也可以同步的浏览和订阅:

平台备注链接
CSDN知名博客平台,很少关注shigen的CSDN主页
知乎专注内容分享和问题解答shigen的知乎主页
掘金高质量博客平台shigen的掘金主页
腾讯云开发者社区腾讯云开发者社区shigen的腾讯云开发者社区主页
微信公众平台个人微信公众号,分享技术和日常公众号名:shigen

shigen一起,每天不一样!

更多推荐

python脚本,实现监控系统的各项资源

本文发布于:2023-11-17 15:46:32,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1644899.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:监控系统   脚本   资源   python

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!