如何使用Python实现自动系统巡检_服务器巡检脚本开发【指导】

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

用Python写服务器巡检脚本,核心是“采集关键指标 + 判断异常 + 记录或告警”,不需复杂框架,几行代码就能跑起来。

监控哪些基础项?

刚起步建议先盯住这5类:

  • CPU使用率:超过85%持续2分钟就该关注
  • 内存剩余量:低于512MB或使用率>90%要预警
  • 磁盘使用率:根分区(/)或数据目录超过90%必须提醒
  • 关键进程状:比如nginx、mysql、redis是否还在运行
  • 网络连通性:ping网关或核心服务IP,超时即标记异常

用标准库就能搞定采集

不用装额外包,psutil虽好但非必需。基础巡检用这些就够了:

  • psutil(推荐安装:pip install psutil)——统一获取CPU、内存、磁盘、进程信息,跨平台稳定
  • os / subprocess——执行df -hsystemctl is-active xxx等命令,适合快速验证
  • socket——简单测端口通不通,比如socket.create_connection(("127.0.0.1", 3306), timeout=3)

判断+输出要简洁可读

别一上来就发邮件或调Webhook。先确保能清晰看到结果:

  • 每项检查单独一行,状态用【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有写入权限。