当前位置: 首页 > wzjs >正文

网站被百度降权seo推广公司价格

网站被百度降权,seo推广公司价格,尚石设计深圳有限公司,网站开发的服务器前言 在IT运维和系统管理领域,资源监控是至关重要的基础技能。本教程将带领Python初学者,通过编写一个实用的系统资源监控脚本,掌握Python基础语法中的流程控制、数据结构操作等核心知识。即使您完全没有编程经验,只要跟着本文一…

前言

在IT运维和系统管理领域,资源监控是至关重要的基础技能。本教程将带领Python初学者,通过编写一个实用的系统资源监控脚本,掌握Python基础语法中的流程控制、数据结构操作等核心知识。即使您完全没有编程经验,只要跟着本文一步步实践,也能在2小时内完成第一个Python实战项目!


一、Python基础快速入门

1.1 流程控制语句

流程控制是编程中的决策系统,掌握它们就能让程序具备"思考能力"。

1.1.1 if条件判断
# 监控CPU使用率告警示例
cpu_usage = 85if cpu_usage > 90:print("警告:CPU使用率过高!")
elif cpu_usage > 80:print("注意:CPU使用率偏高")
else:print("CPU使用率正常")
1.1.2 for循环
# 模拟监控数据采集(5次采样)
for i in range(1, 6):print(f"正在进行第 {i} 次资源采集...")# 这里可以添加实际的采集代码
1.1.3 while循环
# 持续监控直到手动停止
import timemonitor = True
while monitor:print("正在监控系统资源...")time.sleep(5)  # 每5秒采集一次

1.2 核心数据结构操作

1.2.1 列表(List)—— 监控数据存储利器
# 创建存储CPU使用率的列表
cpu_history = []# 添加监控数据
for _ in range(5):cpu_history.append(psutil.cpu_percent())# 分析数据
print("平均CPU使用率:", sum(cpu_history)/len(cpu_history))
1.2.2 元组(Tuple)—— 不可变数据集
# 定义监控阈值常量
THRESHOLDS = (90, 80, 70)  # (危险值, 警告值, 注意值)# 访问元素
print("内存危险阈值:", THRESHOLDS[0])
1.2.3 字典(Dict)—— 结构化监控数据
# 创建监控数据字典
system_status = {"cpu": {"usage": 35.6,"temp": 45},"memory": {"total": 16,"used": 12.3}
}# 更新数据
system_status["cpu"]["usage"] = psutil.cpu_percent()# 遍历字典
for category, metrics in system_status.items():print(f"{category}监控指标:")for k, v in metrics.items():print(f"  {k}: {v}")

二、实战:系统资源监控脚本开发

2.1 环境准备

安装所需库:

pip install psutil  # 跨平台系统监控库

2.2 基础版本实现

步骤1:获取系统信息
import psutil
import timedef get_system_info():"""获取系统资源信息"""return {"timestamp": time.strftime("%Y-%m-%d %H:%M:%S"),"cpu_usage": psutil.cpu_percent(interval=1),"memory_usage": psutil.virtual_memory().percent,"disk_usage": psutil.disk_usage("/").percent,"network_io": psutil.net_io_counters()}
步骤2:数据处理模块
def process_data(data, history):"""处理并存储监控数据"""# 添加最新数据到历史记录(限制保留最近10条)history.append(data)if len(history) > 10:history.pop(0)# 生成统计信息stats = {"max_cpu": max([d["cpu_usage"] for d in history]),"avg_memory": sum([d["memory_usage"] for d in history])/len(history)}return stats
步骤3:监控报警逻辑
def check_alert(data):"""资源使用报警检查"""alerts = []if data["cpu_usage"] > 90:alerts.append("CPU使用超过90%!")if data["memory_usage"] > 85:alerts.append("内存使用超过85%!")return alerts

2.3 完整脚本集成

import psutil
import time
from collections import dequeclass SystemMonitor:def __init__(self):self.history = deque(maxlen=60)  # 保存最近60次记录self.alert_count = 0def start_monitoring(self, interval=5):"""启动监控"""try:while True:# 采集数据data = self.collect_data()# 处理数据stats = self.process_data(data)# 检查报警alerts = self.check_alerts(data)# 显示信息self.display_status(data, stats, alerts)time.sleep(interval)except KeyboardInterrupt:print("\n监控已停止")def collect_data(self):"""收集系统数据"""return {"timestamp": time.strftime("%Y-%m-%d %H:%M:%S"),"cpu_usage": psutil.cpu_percent(interval=1),"memory_usage": psutil.virtual_memory().percent,"disk_usage": psutil.disk_usage("/").percent,"network_sent": psutil.net_io_counters().bytes_sent,"network_recv": psutil.net_io_counters().bytes_recv}def process_data(self, data):"""处理监控数据"""self.history.append(data)# 计算统计指标return {"avg_cpu": sum(d["cpu_usage"] for d in self.history)/len(self.history),"max_memory": max(d["memory_usage"] for d in self.history),"disk_trend": self.history[-1]["disk_usage"] - self.history[0]["disk_usage"]}def check_alerts(self, data):"""检查系统警报"""alerts = []if data["cpu_usage"] > 90:alerts.append("CPU使用超过90%!")if data["memory_usage"] > 85:alerts.append("内存使用超过85%!")if data["disk_usage"] > 95:alerts.append("磁盘使用超过95%!")return alertsdef display_status(self, data, stats, alerts):"""显示监控信息"""print("\n" + "="*40)print(f"系统状态报告 ({data['timestamp']})")print("-"*40)print(f"CPU使用率: {data['cpu_usage']}% (平均: {stats['avg_cpu']:.1f}%)")print(f"内存使用率: {data['memory_usage']}% (最高: {stats['max_memory']}%)")print(f"磁盘使用率: {data['disk_usage']}% (趋势: {stats['disk_trend']:+}%)")print(f"网络流量: 发送 {data['network_sent']//1024}KB / 接收 {data['network_recv']//1024}KB")if alerts:print("\n!! 警报 !!")for alert in alerts:print(f"• {alert}")self.alert_count += 1if __name__ == "__main__":monitor = SystemMonitor()monitor.start_monitoring()

三、脚本功能扩展建议

  1. 数据持久化:使用CSV模块保存监控记录
import csvdef save_to_csv(data):with open("system_log.csv", "a") as f:writer = csv.writer(f)writer.writerow([data["timestamp"],data["cpu_usage"],data["memory_usage"],data["disk_usage"]])
  1. 可视化展示:使用Matplotlib生成图表
import matplotlib.pyplot as pltdef plot_cpu_usage(history):timestamps = [d["timestamp"] for d in history]cpu_values = [d["cpu_usage"] for d in history]plt.plot(timestamps, cpu_values)plt.title("CPU使用率趋势图")plt.xticks(rotation=45)plt.show()
  1. 邮件报警功能:使用smtplib发送报警邮件
import smtplib
from email.mime.text import MIMETextdef send_alert_email(message):msg = MIMEText(message)msg["Subject"] = "系统资源警报"msg["From"] = "monitor@example.com"msg["To"] = "admin@example.com"with smtplib.SMTP("smtp.example.com") as server:server.send_message(msg)

四、学习路线建议

  1. 巩固基础

    • 多练习列表推导式等Python特性
    • 掌握with语句处理文件操作
    • 学习使用datetime模块处理时间
  2. 项目扩展

    • 添加Web界面展示监控数据(Flask/Django)
    • 实现多服务器监控功能
    • 开发自动化清理磁盘脚本
  3. 深入学习

    • 了解多线程/异步编程提升脚本效率
    • 学习使用Pandas进行数据分析
    • 探索Docker容器监控方案

五、总结

通过本教程,我们完成了:
✅ 掌握Python流程控制语句
✅ 熟练操作列表、元组、字典
✅ 开发完整的系统监控脚本
✅ 学习数据处理和异常处理技巧

这个项目不仅巩固了Python基础知识,更展示了如何将编程技能应用到实际工作中。建议读者尝试扩展脚本功能,例如添加可视化图表或短信报警功能,这将大大提升项目的实用价值。

学习资源推荐

  • 官方psutil文档:https://psutil.readthedocs.io/
  • Python标准库教程:https://docs.python.org/3/library/
  • 自动化运维实战案例:https://github.com/geekcomputers/Python

欢迎在评论区分享你的改进版本!下期我们将探讨如何为这个监控脚本添加Web可视化界面,敬请期待!


文章转载自:

http://kC57bsSp.dwhnb.cn
http://Lyd3hjI0.dwhnb.cn
http://A4KE7IjM.dwhnb.cn
http://VLLHKxTA.dwhnb.cn
http://NhtFJGMD.dwhnb.cn
http://BVyRiTyN.dwhnb.cn
http://zsDQSiJO.dwhnb.cn
http://CovsU434.dwhnb.cn
http://JQqrzvUc.dwhnb.cn
http://jI0MBZ44.dwhnb.cn
http://5auBH3MR.dwhnb.cn
http://ksaxd9au.dwhnb.cn
http://Qne9K4pp.dwhnb.cn
http://ptLVsfL6.dwhnb.cn
http://3ee99dnq.dwhnb.cn
http://ehAeWDTv.dwhnb.cn
http://gIyXoSWL.dwhnb.cn
http://Hc0egiY0.dwhnb.cn
http://HcY73eiL.dwhnb.cn
http://qsDwdJ27.dwhnb.cn
http://Dj0L23Xm.dwhnb.cn
http://mXuuYoO7.dwhnb.cn
http://GuxLf6Rx.dwhnb.cn
http://4WSXJ7PY.dwhnb.cn
http://PCkZu3Tp.dwhnb.cn
http://nBA5UCHJ.dwhnb.cn
http://HnjylYaA.dwhnb.cn
http://vMzodY4M.dwhnb.cn
http://0izI0SxO.dwhnb.cn
http://v41IAcYt.dwhnb.cn
http://www.dtcms.com/wzjs/773113.html

相关文章:

  • 个人备案网站内不能出现什么内容淄博网站营销与推广
  • wordpress 网址 建站wordpress xml-rpc
  • 网站导航图标muse做网站
  • 合肥网站建设怎么样网站侧面菜单展开怎么做
  • 哪里做网站便宜app小程序开发团队
  • 网站建设岗位是干什么的软文发布网站
  • 菜馆网站制作c#网站开发技术
  • 什么是网站建设?小型建筑公司有哪些
  • 淮安公司做网站自己做的网站怎么添加文档
  • 家具网站后台模板wordpress文章排版
  • 官方网站建设银行年利息是多少安阳县地图
  • 广州智能建站建设工程抗震应当坚持的原则
  • 网站 颜色标准网站怎么登陆后台
  • 深圳知名网站外国食品优秀设计网站
  • 衡水网站建设知识定州做网站
  • 网站建站系统有哪些活动策划方案
  • 网站开发充值功能wordpress简约商城
  • 怎么建设自己公司的网站首页建站平台与建站系统
  • seo网站模版郑州外贸网站建设商家
  • 企业门户网站模板html上线互联网平台营销
  • wp可以做商城网站吗前端自我介绍面试技巧
  • 云南省建设工程造价管理协会网站小发明小制作简单易学
  • 网站建设与管理 十四五国规教材售后服务网站
  • 摄影网站设计论文官方智慧团建网站
  • 网站关键词抓取外语人才网官网
  • 美食网站的设计与制作代码wordpress内容页怎么分页
  • 常德网站建设厦门网站制作网站架构企业收费标准
  • 丹东站宁波海曙网站开发公司电话
  • 建筑安装公司东莞百度推广优化
  • 怎么做网站音乐安徽科技网站建设