AI运维外包配置怎么做?从账号权限到监控告警的落地步骤
AI 运维外包配置,指的是把服务器日常巡检、告警处理、故障响应等工作交给外部团队时,需要提前做好的账号、权限、监控、日志和交付约定等配置工作。
它不是简单把 root 密码给对方,而是把可授权、可监控、可回收的运维通道搭好。
本文按零基础也能照做的顺序,讲清准备条件、配置步骤、避坑点和验收方法。
先判断你的场景是否适合外包配置
适合的情况通常有三类:团队没有专职运维、夜间和节假日无人值守、临时项目需要短期保障。
不适合直接外包的情况包括:核心数据库无备份、账号权限完全共享、没有任何监控基础。
这三种情况下先补基础,再谈外包,否则出问题很难界定责任。
接入前建议先确认几件事:
- 服务器数量和系统版本,例如
cat /etc/os-release查看发行版; - 现有账号清单,执行
cat /etc/passwd和getent group sudo核对; - 是否已有监控系统,例如是否装了 Zabbix、Prometheus 或云厂商自带监控;
- 业务允许的维护窗口,以及数据库、对象存储等敏感资源的访问边界。
账号与权限:先建通道再交钥匙
外包团队不该直接使用你的个人账号。
推荐为每个外包工程师建立独立账号,用密钥登录,按需授权。
创建账号并加入管理组:
useradd -m -s /bin/bash ops_vendor1
passwd -l ops_vendor1
usermod -aG sudo ops_vendor1
passwd -l 锁定密码登录,强制走 SSH 密钥。
把对方的公钥写入 /home/ops_vendor1/.ssh/authorized_keys,并设置权限:
chmod 700 /home/ops_vendor1/.ssh
chmod 600 /home/ops_vendor1/.ssh/authorized_keys
chown -R ops_vendor1:ops_vendor1 /home/ops_vendor1/.ssh
如果不想给完整 sudo,可在 /etc/sudoers.d/ops_vendor1 中限定命令,例如只允许重启指定服务:
ops_vendor1 ALL=(root) NOPASSWD: /bin/systemctl restart nginx, /bin/systemctl status nginx
修改后用 visudo -c 校验语法,避免 sudo 配置写错导致所有人无法提权。
SSH 侧建议在 /etc/ssh/sshd_config 中确认 PasswordAuthentication no、PermitRootLogin no,改完执行 sshd -t 测试,再 systemctl reload sshd 生效。
监控与告警:让外包工作可被验证
外包团队做了什么、什么时候响应,需要有数据支撑。
最低配置是主机存活、CPU、内存、磁盘和关键端口监控。
以常见的 node_exporter 为例,安装后在 Prometheus 的 prometheus.yml 中加入抓取目标:
scrape_configs:
- job_name: 'node'
static_configs:
- targets: ['10.0.0.11:9100','10.0.0.12:9100']
重载配置后,在 Prometheus 页面 Status > Targets 确认状态为 UP。
告警规则至少覆盖磁盘使用率超过 85%、主机失联超过 2 分钟、站点返回码异常。
告警接收人同时配置你和外包负责人,避免只发给一方。
没有自建监控时,云厂商控制台的云监控也能完成基础告警,操作路径通常在“云监控 > 告警配置 > 新建告警策略”,重点是确认通知渠道真实可达,可发一条测试告警验证。
日志与操作留痕不能省
外包排错依赖日志,责任界定也依赖日志。
建议开启 SSH 登录日志审计,确认 /var/log/auth.log(Debian/Ubuntu)或 /var/log/secure(CentOS/RHEL)正常写入。
需要记录命令历史时,可在 /etc/profile 中追加:
export HISTTIMEFORMAT="%F %T "
如果合规要求更高,可部署 auditd 或跳板机统一登录。不建议把完整 shell 历史直接开放给外包方查看,涉及业务密钥的命令可能被记录。
交付验收与高频问题
配置完成后,按清单验收:外包账号能登录但不能密码登录;
sudo 权限符合约定;
监控目标全部 UP;
测试告警能收到;
备份任务有最近一次成功记录;
双方确认响应时间和升级路径。
验收结果建议写入交接文档,后续变更同步更新。
常见疑问集中在几处。
外包方要求 root 密码时,应改为发放独立账号和密钥,并约定回收时间。
外包说监控没收到告警,先检查告警规则是否命中、通知渠道是否被拦截,再看 Prometheus 的 Alerts 页面状态。
合作结束时,执行 usermod -L ops_vendor1 锁定账号并从 sudo 组移除,同时清理 authorized_keys 中的对应公钥。
避坑重点:不要在未备份时让外包直接改数据库;
不要让多人共用同一账号;
不要只配置告警不配置恢复通知;
变更前保留快照或备份,涉及防火墙和 SSH 配置时先在测试机验证,避免把自己锁在服务器外。
按本文步骤完成 AI 运维外包配置后,再根据业务规模微调权限粒度和告警阈值,才能既省心又可追溯。