技术标签: python 数据分析 Python入门 数据挖掘 开发语言
今天的文章涉及到docker的操作和一个python脚本,实现监控网络的流量、CPU使用率、内存使用率和磁盘使用情况。来和我一起先看看效果吧:
这是在控制台中出现的数据,可以很简单的看到我们想要的监控指标。如果实现定时任务和数据的存储、数据的展示,就是很好看的数据监控图表了。
我的代码主要是运行在一个centos的docker容器中。
是的,你没有看错,我还暴露了容器的22端口,供我在宿主机进行连接。
但是这不是重点,我拉取的centos其实是一个裸机,跟我们最开始买的服务器一样的。运行代码,肯定是需要安装python解释器的,这里shigen
找到了珍藏许久的shell
脚本,直接复制粘贴即可配置好python的环境。
这里我选取的python版本是:3.9.2。
wget https://registry.npmmirror.com/-/binary/python/3.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 https://pypi.tuna.tsinghua.edu.cn/simple
现在,我们的前置的准备工作全部的完成了。我们直接在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.net_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)
这里主要用到了两个库:psutil
和rich
,借助psutil
我们可以轻易的获得系统的各种指标,那rich
主要是在控制台实现炫酷的效果。这里是时间关系,shigen
写的比较简单。
那文件在我的主机上,centos的服务器在我的docker里边,文件到我的docker容器就需要docker cp
派上用场了。在主机执行:
docker cp xx.py dockerId:/shigen/python
我们安装一下需要的库:
pip3 install psutil rich
现在环境配置成功,我们就可以看到上边的表格指标数据了。其实还是主要的复习一下docker的使用,顺便写了一个脚本实现服务器资源的监控,算是一个日常的练手吧。
以上就是今天分享的全部内容了,觉得不错的话,记得点赞 在看 关注
支持一下哈!
如果你对Python感兴趣,想要学习python,这里给大家分享一份Python全套学习资料,都是我自己学习时整理的,希望可以帮到你,一起加油!
有需要的小伙伴,可以点击下方链接免费领取或者V扫描下方二维码免费领取
Python全套学习资料
对于从来没有接触过Python的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
还有很多适合0基础入门的学习视频,有了这些视频,轻轻松松上手Python~
每节视频课后,都有对应的练习题哦,可以检验学习成果哈哈!
学习Python常用的开发软件都在这里了!每个都有详细的安装教程,保证你可以安装成功哦!
光学理论是没用的,要学会跟着一起敲代码,动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。100+实战案例源码等你来拿!
如果觉得上面的实战案例有点枯燥,可以试试自己用Python编写小游戏,让你的学习过程中增添一点趣味!
我们学会了Python之后,有了技能就可以出去找工作啦!下面这些面试题是都来自阿里、腾讯、字节等一线互联网大厂,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
而且学会Python以后,还可以在各大兼职平台接单赚钱,各种兼职渠道+兼职注意事项+如何和客户沟通,我都整理成文档了。
上述所有资料 ️ ,朋友们如果有需要的,可以扫描下方二维码免费领取
创建一个新的 Office 插件项目:在 Visual Studio 中,选择"文件" -> “新建项目”,然后在模板中选择"Office/SharePoint",选择适当的 Office 插件项目模板,如 Word 插件、Excel 插件或 PowerPoint 插件。设计用户界面:在解决方案资源管理器中,打开你的插件项目,并在其中打开相应的 Office 文件(如 Word 文件、Excel 文件或 PowerPoint 文件)。你可以在 Office 应用中测试插件的功能,并在开发过程中进行调试。
在应用场景方面,便携式IV功率测试仪广泛应用于光伏电站的日常运维、光伏组件生产过程中的质量控制以及光伏项目的前期评估等环节。在光伏电站运维中,定期对光伏组件进行IV测试,可以及时发现性能下降或损坏的组件,为电站的运维提供有力支持。首先,从工作原理来看,光伏电站便携式IV功率测试仪通过模拟太阳光照射光伏组件,并测量组件在不同电压下的电流输出,从而绘制出IV曲线。此外,测试仪还可以计算光伏组件的功率输出、转换效率等参数,为用户提供全面的性能评估。
文章浏览阅读3.6k次。os: ubuntu 16.04postgresql: 9.6.8ip 规划192.168.56.102 node2 postgresqlhelp create indexpostgres=# \h create indexCommand: CREATE INDEXDescription: define a new indexSyntax:CREATE [ UNIQUE ..._load_categories_hash postgres
文章浏览阅读4.8k次。使用face++,先获取key和secret下方是人脸识别,还添加了画出人脸轮廓的正方形下方是人脸识别,还添加了画出人脸轮廓的正方形 import requests#网络访问控件 from json import JSONDecoder#互联网数据交换标准格式 import cv2 as cv#图像处理控件 http_url ="https://a..._face++人脸识别 html5
文章浏览阅读322次。很多时候要对秘要进行持久化加密,此时的加密采用md5。采用对称加密的时候就采用DES方法了import java.io.IOException;import java.security.MessageDigest;import java.security.SecureRandom;import javax.crypto.Cipher;import javax.crypto.SecretKey;im..._java desencrypt.encrypt(pass)
文章浏览阅读145次。题目链接:https://www.acwing.com/problem/content/description/222/给定整数N,求1<=x,y<=N且GCD(x,y)为素数的数对(x,y)有多少对。GCD(x,y)即求x,y的最大公约数。输入格式输入一个整数N输出格式输出一个整数,表示满足条件的数对数量。数据范围1≤N≤10^7输入样例:4..._线性筛预处理质数表, 并求出欧拉函数, 预处理前缀和即可 bzoj2818boj
文章浏览阅读4.1k次,点赞8次,收藏23次。通过一定的方法找出与给定关键字相同的数据元素的过程叫做查找。也就是根据给定的某个值,在查找表中确定一个关键字等于给定值的记录或数据元素。_读取表元是什么意思
文章浏览阅读8.3k次,点赞4次,收藏18次。我们在非撮合回测模式下,因为无法获知交易价格当时的真实盘口价差、挂单数量,常主观设定一个滑点均值,比如针对螺纹钢等合约,设置 1 跳,针对某些交易不活跃的品种,设置 2 跳。但是这种近乎拍脑袋的方法并不精确。我们今天尝试通过简单的辅助工具,实现尽可能接近准确的 tick 级别滑点设置,代码已写好,不用编程也可获得结果。_滑点设置多少合适
文章浏览阅读551次。尚硅谷大数据技术之 Azkaban—————————————————————————————更多 Java –大数据 –前端 –python 人工智能资料下载,可百度访问:尚硅谷官网尚硅谷大数据技术之 Azkaban(作者:尚硅谷大数据研发部)版本:V3.0一 概述1.1 什么是 AzkabanAzkaban 是由 Linkedin 公司推出的一个批量工作流任务调度器,主要用于在一个工作流内以一个特定的顺序运行一组工作和流程,它的配置是通过简单的 key:value 对的方式,通过配置中_azkaban要建立job之间的依赖关系需要使用
文章浏览阅读5k次,点赞2次,收藏9次。#! python3# encoding: utf-8import osimport chardetdef strJudgeCode(str1): return chardet.detect(str1)"""def readFile(path): with open(path,'r',encoding='utf-16 le') as f: filecontent ..._utf16le转换utf8
文章浏览阅读1.1k次。AppWidget 窗口小部件的开发思想和Demo 这篇文章讲一下android系统“窗口小部件”(也叫做,主屏幕部件)的开发过程。什么叫窗口小部件呢?是指在主屏幕上显示的独立视图(不过填充了数据)。这些视图的数据内容由后台进程顶起更新。要用到RemoteViews来显示部件,还要指派广播接收器更新这些RemoteViews. 既可以单独做个窗口小部件,也可在App中嵌入多个窗口小部_安卓小部件开发demo
文章浏览阅读844次。接之前的SpringBoot项目通过金蝶中间件部署中未处理的问题新建的springboot项目是2.3.1的版本,打包到金蝶中部署就一直栈内存溢出后来把pom文件中的父依赖换成了2.2.4版本,打包部署到金蝶中就能运行了,我也不知道具体原因。如果有知道具体原因的请不吝赐教。..._金蝶中间件部署项目