Python服务器巡检脚本核心是采集CPU、内存、磁盘、关键进程、网络五类指标,用psutil或标准库获取数据,阈值判断后终端+日志输出【OK】或【ALERT】,配合crontab定时执行。

用Python写服务器巡检脚本,核心是“采集关键指标 + 判断异常 + 记录或告警”,不需复杂框架,几行代码就能跑起来。
监控哪些基础项?
刚起步建议先盯住这5类:
- CPU使用率:超过85%持续2分钟就该关注
- 内存剩余量:低于512MB或使用率>90%要预警
- 磁盘使用率:根分区(/)或数据目录超过90%必须提醒
- 关键进程状态:比如nginx、mysql、redis是否还在运行
- 网络连通性:ping网关或核心服务IP,超时即标记异常
用标准库就能搞定采集
不用装额外包,red">psutil虽好但非必需。基础巡检用这些就够了:
-
psutil(推荐安装:
pip install psutil)——统一获取CPU、内存、磁盘、进程信息,跨平台稳定 -
os / subprocess——执行
df -h、systemctl is-active xxx等命令,适合快速验证 -
socket——简单测端口通不通,比如
socket.create_connection(("127.0.0.1", 3306), timeout=3)
判断+输出要简洁可读
别一上来就发邮件或调Webhook。先确保能清晰看到结果:
立即学习“Python免费学习笔记(深入)”;
- 每项检查单独一行,状态用【OK】或【ALERT】开头
- 异常项标出具体数值和阈值,例如:
【ALERT】磁盘 / 使用率92.3% > 90% - 把结果同时打印到终端 + 追加写入日志文件(如
inspect_$(date +%Y%m%d).log)
加个定时任务就真“自动”了
Linux下用crontab最直接:
- 编辑定时任务:
crontab -e - 每天早8点跑一次:
0 8 * * * /usr/bin/python3 /opt/scripts/server_check.py >> /var/log/server_check.log 2>&1 - 想每30分钟检查健康状态?改成:
*/30 * * * * ...
Windows可用任务计划程序,触发器选“重复任务”,操作中指定python.exe路径和脚本位置即可。
基本上就这些。脚本写完先手动执行几遍,确认输出符合预期,再扔进定时任务。不复杂但容易忽略的是:记得给脚本加执行权限(chmod +x),还有日志目录得提前建好、确保Python有写入权限。










