AI运维自动化闭环搭建指南:从监控告警到自修复

为什么需要AI运维自动化闭环

服务器运维中,故障响应总是慢半拍?
人工盯着告警、手动登录修复,不仅累还容易漏。
AI运维自动化闭环的思路就是:监控发现异常 → 自动触发修复 → 验证恢复并反馈,形成一条闭环。
这样,即使半夜出问题,系统也能自己搞定。
本文适合零基础,只要你有一台Linux服务器就能跟着做。

准备阶段:你需要哪些东西

先确认环境基础,别急着装软件。

  • 服务器一台:建议CentOS 7+或Ubuntu 20.04+,有root权限。
  • 监控工具:以Prometheus + Alertmanager为例(开源免费),你也可以用Zabbix。
  • 告警渠道:推荐钉钉机器人或企业微信Webhook,方便接收通知。
  • 脚本执行权限:提前准备一个用于修复的脚本目录,比如 /opt/auto_fix/
如果还没装Prometheus,可以先用Docker快速部署,后面会讲。

第一步:部署监控并配置告警规则

  1. 安装Prometheus和Alertmanager(简化版):
   # 下载二进制包(示例版本,请访问官网获取最新)
   wget https://github.com/prometheus/prometheus/releases/download/v2.45.0/prometheus-2.45.0.linux-amd64.tar.gz
   tar xzf prometheus-*.tar.gz && cd prometheus-*
   
   # 修改prometheus.yml,添加监控目标(比如本机)

编辑 prometheus.yml,在 scrape_configs 下添加:

   - job_name: 'node'
     static_configs:
       - targets: ['localhost:9100']  # 需要先安装node_exporter
  1. 配置告警规则:创建规则文件 rules/cpu_alert.yml
   groups:
     - name: cpu_usage
       rules:
         - alert: HighCpuUsage
           expr: 100 - (avg by(instance) (rate(node_cpu_seconds_total{mode="idle"}[5m])) * 100) > 80
           for: 1m
           labels:
             severity: critical
           annotations:
             summary: "CPU使用率超过80%"

prometheus.yml 中引用:rule_files: ["rules/*.yml"]

  1. 启动Prometheus和Alertmanager
   ./prometheus --config.file=prometheus.yml &
   ./alertmanager --config.file=alertmanager.yml &

第二步:配置告警通知到钉钉/微信

Alertmanager需要配置发送告警到你的机器人。
以钉钉为例,先创建机器人拿到Webhook地址。
编辑 alertmanager.yml

route:
  receiver: 'dingtalk'
receivers:
  - name: 'dingtalk'
    webhook_configs:
      - url: 'https://oapi.dingtalk.com/robot/send?access_token=你的token'
        send_resolved: true

这样,当CPU超过80%持续1分钟,你就会收到钉钉告警。
但只是通知还不够,我们要自动修复。

第三步:编写自动修复脚本并触发闭环

核心是:告警触发后,Alertmanager通过webhook调用你的修复脚本

  1. 创建一个简单的修复脚本 /opt/auto_fix/restart_nginx.sh
   #!/bin/bash
   # 如果CPU高,尝试重启Nginx(示例)
   systemctl restart nginx
   echo "$(date) Nginx restarted due to high CPU" >> /var/log/auto_fix.log

给执行权限:chmod +x /opt/auto_fix/restart_nginx.sh

  1. Alertmanager使用webhook接收器:你可以用 alertmanager-webhook-adapter 或直接写一个简单的HTTP服务。但新手更推荐使用 Alertmanager的 webhook 直接调用外部脚本?官方不支持直接调用脚本,需要中间层。别担心,用Python写一个极简webhook服务:
   # webhook_server.py
   from flask import Flask, request
   import subprocess
   app = Flask(__name__)

   @app.route('/webhook', methods=['POST'])
   def webhook():
       # 解析告警数据,判断是否执行修复
       data = request.json
       for alert in data.get('alerts', []):
           if alert['labels']['alertname'] == 'HighCpuUsage':
               subprocess.run(['/opt/auto_fix/restart_nginx.sh'])
       return 'ok', 200

   if __name__ == '__main__':
       app.run(host='0.0.0.0', port=5000)

运行:python3 webhook_server.py &

  1. 修改Alertmanager配置,将接收器改为Webhook指向你的Python服务:
   receivers:
     - name: 'auto_fix'
       webhook_configs:
         - url: 'http://localhost:5000/webhook'

route中改为 receiver: 'auto_fix'

这样,当CPU告警触发,Alertmanager会发POST请求到你的webhook,webhook执行修复脚本。闭环形成

避坑指南:这些细节必须注意

  • 脚本权限与安全:修复脚本必须以root或指定用户运行,避免权限不足。建议用 sudo 并配置NOPASSWD。
  • 误修复风险:不要在脚本里直接 systemctl restart 所有服务。最好先检查状态,比如 if systemctl is-active nginx; then restart; fi
  • 日志记录:每次修复都要记日志,方便回溯问题。
  • 告警风暴:如果修复脚本执行后问题没解决,告警会重复触发,导致脚本无限执行。建议在脚本里加入冷却时间,比如检查上次执行时间。
  • 测试环境先行:闭环搭建好后,先模拟故障(比如手动压高CPU),观察是否自动修复。

效果验证:亲眼看看闭环怎么跑

  1. 模拟高CPU:执行 stress --cpu 2 --timeout 120(需要安装stress工具)。
  2. 等待1分钟(告警规则中的for时间)。
  3. 观察自动修复:查看 /var/log/auto_fix.log 是否有记录,检查Nginx是否被重启。
  4. 钉钉通知:你会收到告警恢复消息(如果配置了send_resolved)。

如果一切正常,你已经亲手完成了AI运维自动化闭环的搭建。
后续还可以扩展更多规则(内存、磁盘、进程挂掉等),让服务器更省心。

常见问题解答

Q:Python webhook服务会不会不稳定?
A:可以用systemd管理,设置Restart=always。或者改用更成熟的方案如alertmanager-webhook-adapter。

Q:没有Python环境怎么办?
A:用Go或Shell写一个简单HTTP服务也行。或者直接使用现成的Prometheus Agent模式(但复杂一些)。

Q:修复脚本执行失败怎么办?
A:在webhook里捕获异常并记录到日志,同时可以发一条额外通知告诉你修复失败。

如果你在部署中遇到其他问题,建议先检查Prometheus和Alertmanager的日志(--log.level=debug)。
闭环的关键是每一步的连通性,逐步测试即可。

分享到:
上一篇
零基础搭建AI性能压测平台:用Locust压测推理接口
下一篇
AIOps平台建设:零基础搭建 AIOps 平台
1
系统公告

高考专属福利来袭|凭准考证免费领香港 CN2 云服务器

值高考落幕之际,泽御云开启考生专属回馈 + 产品限时特惠双重活动,助力学子暑期学习建站 高考 考生专属福利 全体应届高考生,凭高考准考证即可免费申领【香港 CN2 轻量云服务器,4 核 4G AMD 处理器】,免费使用周期 30 天,可用于搭建个人站点、编程实操、技术实训,祝各位考生金榜题名,前程似锦! 泽御云资质齐全合规自营机房,线路覆盖香港 CN2、国内 BGP、内蒙电信、美国精品线路,售后全天候技术支持。 官方网站:www.zeyuyun.com,活动限时有效,优惠逾期不再保留。
服务中心
客服
在线客服
24小时为您服务
咨询
联系我们
联系我们,为您的业务提供专属服务。
24/7 技术支持
如果您遇到寻求进一步的帮助,请过工单与我们进行联系。
24/7 即时支持
泽御云
售前客服
泽御云
泽御云
售后客服
泽御云
技术支持
评价
您对当前页面的整体感受是否满意?
😞
非常不满意
😕
不满意
😐
一般
🙂
满意
😊
非常满意