前言

日常做智能运维和服务器管理时,人工监控 CPU、内存、磁盘状态不仅耗时,还容易错过异常告警,导致服务器故障影响业务。本文教大家用通义灵码快速生成核心代码,3 步搭建轻量智能运维告警小工具,实现资源阈值超标时自动发钉钉告警,全程不用手写复杂逻辑,零基础也能上手,阿里云 / 腾讯云 / 本地服务器都适配,亲测在阿里云轻量服务器上运行稳定。

本文所用环境:阿里云轻量服务器 CentOS7.9 + Python3.8 + 通义灵码;实现核心功能:✅ CPU / 内存 / 磁盘(根目录)实时监控✅ 自定义资源告警阈值,超标立即触发告警✅ 钉钉机器人自动推送告警详情(含服务器 IP、异常指标)✅ 本地日志记录所有监控数据,方便问题回溯✅ 脚本后台持续运行,支持开机自启

一、准备工作(1 分钟完成,直接复制操作)

1.1 服务器安装基础依赖

登录阿里云服务器(SSH / 控制台远程连接),直接复制以下命令运行,安装监控和网络请求所需依赖,一键完成无需手动配置:

bash

运行

# 安装Python3 pip(未安装的话执行)
yum install -y python3-pip
# 安装系统资源监控库psutil、网络请求库requests
pip3 install psutil requests -i https://pypi.tuna.tsinghua.edu.cn/simple

1.2 配置钉钉告警机器人(核心,获取推送地址)

选择常用的钉钉群即可,无需单独建群,步骤如下:

  1. 打开钉钉群 → 右上角「设置」→ 「智能群助手」→ 「添加机器人」→ 选择「自定义机器人」;
  2. 输入机器人名称(如「运维告警机器人」),勾选「加签」(提升安全性),点击「完成」;
  3. 复制生成的Webhook 地址加签密钥,保存好(后续代码中直接替换,截图提示:【此处插入你的钉钉机器人配置完成截图,含 Webhook 地址】)。

1.3 AI 工具准备

打开通义灵码(网页版 / IDE 插件均可),无需复杂配置,直接进入代码生成界面,准备好下文的精准提示词即可。

二、第一步:用 AI 生成核心监控告警代码(2 分钟,代码可直接运行)

2.1 给通义灵码的精准提示词(直接复制粘贴)

不用自己写逻辑,把以下提示词复制到通义灵码,一键生成完整代码,AI 会自动处理异常判断、日志记录、钉钉推送逻辑:

plaintext

帮我写一个Python3的运维监控告警脚本,部署在阿里云CentOS7服务器上,要求:
1. 实时获取服务器的CPU使用率(1分钟平均)、内存使用率、磁盘/根目录使用率;
2. 支持自定义告警阈值,CPU>80%、内存>85%、磁盘>90%时触发告警;
3. 告警时通过钉钉自定义机器人推送消息,消息包含:服务器公网IP、异常指标名称、当前数值、阈值,格式清晰易读;
4. 每次监控结果写入本地日志文件/var/log/ops_monitor.log,日志包含时间、所有监控指标数值;
5. 脚本循环执行,每5分钟监控一次,无限运行;
6. 加入钉钉机器人加签逻辑,保证推送安全,避免他人盗用;
7. 加入异常处理,比如网络不通、日志写入失败时不中断脚本运行。

2.2 AI 生成代码后,仅需微调 3 处参数(直接替换即可)

将通义灵码生成的代码复制到服务器,新建文件ops_monitor.py(命令:vim /root/ops_monitor.py),粘贴代码后,仅需修改以下 3 处自己的信息,其余代码无需改动:

python

运行

# ************************* 需替换为自己的信息 *************************
# 钉钉机器人Webhook地址(复制的机器人地址)
DINGTALK_WEBHOOK = "https://oapi.dingtalk.com/robot/send?access_token=你的机器人token"
# 钉钉机器人加签密钥(复制的加签密钥)
DINGTALK_SECRET = "你的机器人加签密钥"
# 服务器公网IP(阿里云控制台可查,用于告警消息标识)
SERVER_IP = "你的阿里云服务器公网IP"
# *********************************************************************

代码保存:按Esc,输入:wq保存并退出 vim 编辑器(截图提示:【此处插入你修改完参数的代码截图】)。

三、第二步:测试脚本运行(1 分钟,验证告警效果)

3.1 后台运行脚本,避免断开 SSH 后停止

直接复制以下命令,让脚本在后台持续运行,即使关闭远程连接,监控也不会中断:

bash

运行

# 后台运行脚本,重定向日志避免输出刷屏
nohup python3 /root/ops_monitor.py > /dev/null 2>&1 &
# 查看脚本是否运行成功(显示python3进程即正常)
ps -ef | grep ops_monitor.py

3.2 验证监控和告警效果

方式 1:查看本地监控日志

复制命令查看日志,确认有监控数据写入,日志格式清晰包含时间和所有指标:

bash

运行

# 实时查看监控日志
tail -f /var/log/ops_monitor.log

正常日志示例:2026-02-03 15:30:00 - 服务器IP:1.1.1.1 - CPU使用率:25.6% - 内存使用率:42.3% - 磁盘使用率:38.5% - 状态:正常

方式 2:手动触发告警,测试钉钉推送

stress工具压测 CPU,让使用率超过 80%,验证钉钉是否收到告警,步骤如下:

bash

运行

# 安装压测工具stress
yum install -y stress
# 启动压测,让CPU使用率拉满(运行1分钟即可,足够触发告警)
stress --cpu 4 --timeout 60s

此时打开钉钉群,会收到机器人推送的告警消息,示例:【服务器异常告警】IP:1.1.1.1 | CPU使用率:89.2%(阈值80%) | 时间:2026-02-03 15:35:00(截图提示:【此处插入你收到的钉钉告警消息截图】)。

压测完成后,脚本会自动恢复正常监控,无需手动干预。

四、第三步:设置开机自启(可选,服务器重启不丢失监控)

为了避免服务器重启后脚本停止运行,将脚本添加为系统服务,实现开机自启,步骤简单,直接复制命令操作:

bash

运行

# 1. 创建系统服务文件
vim /etc/systemd/system/ops-monitor.service
# 2. 粘贴以下内容(无需修改,脚本路径已固定为/root/ops_monitor.py)
[Unit]
Description=Lightweight Ops Monitor Service
After=network.target
Wants=network.target

[Service]
Type=simple
ExecStart=/usr/bin/python3 /root/ops_monitor.py
Restart=always
RestartSec=5
User=root

[Install]
WantedBy=multi-user.target
# 3. 重新加载系统服务配置
systemctl daemon-reload
# 4. 启动服务并设置开机自启
systemctl start ops-monitor
systemctl enable ops-monitor
# 5. 查看服务运行状态(显示active(running)即正常)
systemctl status ops-monitor

后续可通过以下命令管理服务,方便运维:

bash

运行

# 停止监控服务
systemctl stop ops-monitor
# 重启监控服务
systemctl restart ops-monitor
# 查看服务运行日志
journalctl -u ops-monitor -f

五、实操避坑点(亲测踩过,直接避坑)

  1. ❌ 钉钉告警推送失败:① 检查 Webhook 地址和加签密钥是否复制正确,无多余空格;② 服务器测试能否访问外网,执行ping oapi.dingtalk.com,不通则检查阿里云安全组是否放行出网规则;③ 钉钉机器人未加签但代码中写了加签逻辑,需保持配置一致。
  2. ❌ 日志写入失败:执行mkdir -p /var/log/ && chmod 777 /var/log/,创建日志目录并授权,解决权限不足问题。
  3. ❌ 脚本运行报错No module named psutil:重新执行pip3 install psutil requests,若仍报错,检查 Python3 和 pip3 的对应关系,用python3 -m pip install psutil requests安装。
  4. ❌ 服务启动失败ExecStart path is wrong:执行which python3查看 Python3 实际路径,替换服务文件中的/usr/bin/python3

总结与互动

整个过程不到 10 分钟,就能用 AI 工具搭建一个稳定的轻量智能运维告警小工具,相比手动写代码效率提升 80% 以上,完美解决中小团队运维监控的痛点,不用再时刻盯着服务器状态。

你在做服务器运维监控时,还遇到过哪些问题?比如需要监控端口 / 进程状态、想换成微信告警、需要批量监控多台服务器等,评论区留言交流,我会第一时间给出解决方案!

标签:AI 编程 | 智能运维 | Python 运维脚本 | 阿里云服务器 | 钉钉告警 | 运维监控工具

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐