广告投放归零的那一天,AI Agent 在几分钟内找到了问题
一位开发者在 Dev.to 上分享了一个真实的生产事故故事:他们的广告投放突然全部归零,而一个 AI Agent 在几分钟内就找到了问题根源。这个故事展示了 AI Agent 在运维监控和故障排查中的实际价值,也反映了现代广告技术系统的复杂性。
背景:affset 项目
作者正在构建 affset——一个白标广告服务器和 CPA 网络追踪器。团队自己也在深度使用这个产品:内部团队通过自己的产品运行真实的付费流量。
这意味着他们既是产品的开发者,也是产品的第一个用户。当系统出问题时,他们也是第一个收到支持工单的人。
事故经过
发现问题
一个普通的工作日早上,投放团队像往常一样检查广告投放数据。但他们发现了一个令人震惊的现象:所有广告投放的展示量和点击量都突然归零了。
这不是某个广告系列的问题,而是所有广告系列、所有渠道、所有地区的投放都同时停止了。
初步判断:
- 不是预算耗尽(所有账户都有充足的预算)
- 不是账户被封(账户状态正常)
- 不是单个渠道的问题(所有渠道同时受影响)
- 不是流量来源的问题(流量供应正常)
问题显然出在自己的系统上。
传统排查方式的困境
团队开始按照传统方式排查问题:
- 检查监控仪表盘:查看系统指标,CPU、内存、磁盘都正常
- 检查应用日志:搜索错误日志,没有发现明显的异常
- 检查数据库:查询数据库状态,连接正常,没有慢查询
- 检查网络:测试网络连通性,没有问题
- 检查最近的部署:回顾最近的代码变更,没有发现明显的问题
排查了将近一个小时,团队仍然没有找到问题根源。广告投放每停止一分钟,都意味着收入的损失和客户的不满。
AI Agent 介入
在传统排查方式陷入困境时,有人建议试试最近部署的 AI 运维 Agent。这个 Agent 被设计用来辅助运维人员进行故障排查,它可以:
- 访问系统监控数据
- 分析应用日志
- 查询数据库状态
- 检查配置文件
- 关联多个数据源进行分析
- 提供故障排查建议
团队向 AI Agent 描述了问题:"所有广告投放的展示量和点击量都突然归零了,请帮我排查原因。"
AI Agent 的排查过程
AI Agent 在几分钟内完成了以下排查步骤:
第一步:数据趋势分析
Agent 首先分析了广告投放数据的时间趋势,发现:
- 投放数据在某个精确的时间点突然降为零
- 这个时间点与一次配置变更的时间完全吻合
- 在变更之前,一切正常;变更之后,全部停止
第二步:配置变更检查
Agent 检查了那个时间点的配置变更记录,发现:
- 运维人员在那个时间点修改了一个全局配置
- 这个配置控制着广告投放的"流量开关"
- 配置的值从
true被意外改成了false
第三步:影响范围确认
Agent 进一步确认了这个配置的影响范围:
- 这个配置是全局的,影响所有广告系列
- 配置变更后,所有广告投放都被系统认为是"已暂停"状态
- 因此所有广告都不再参与竞价,展示量和点击量自然为零
第四步:根因定位
Agent 最终定位了根因:
- 运维人员在进行其他配置修改时,意外修改了这个全局流量开关
- 配置变更没有经过充分的测试和审查
- 系统没有对关键配置的变更进行告警
- 监控系统没有检测到投放数据的异常下降
问题解决
找到根因后,问题的解决就很简单了:将配置值改回 true。
配置恢复后,广告投放在几分钟内逐步恢复正常。整个故障持续了大约一个半小时,其中传统排查花了将近一个小时,而 AI Agent 只用了几分钟就找到了问题。
事故根因分析
技术原因
- 配置管理不严格:关键配置的修改没有经过充分的审查和测试
- 缺少配置变更告警:关键配置的变更没有触发告警
- 监控不够智能:监控系统只监控了基础设施指标,没有监控业务指标的异常
- 缺少灰度发布:配置变更直接全量生效,没有灰度验证过程
- 回滚机制不完善:配置变更后没有快速回滚的机制
流程原因
- 变更管理流程缺失:没有标准化的变更管理流程
- 职责分离不足:同一个人可以修改配置并直接生效
- 应急预案不完善:没有针对这类故障的应急预案
- 培训不足:运维人员对关键配置的重要性认识不足
AI Agent 在故障排查中的价值
这个故事展示了 AI Agent 在故障排查中的多个价值:
1. 快速关联分析
AI Agent 可以快速关联多个数据源:
- 配置变更记录
- 业务数据趋势
- 系统日志
- 监控指标
人类运维人员可能需要在不同的系统之间切换,花费大量时间收集和关联信息。而 AI Agent 可以同时访问多个数据源,在几秒钟内完成关联分析。
2. 不受认知偏差影响
人类运维人员在排查问题时,容易受到认知偏差的影响:
- 锚定效应:倾向于关注最先想到的原因
- 确认偏差:倾向于寻找支持自己假设的证据
- 经验主义:倾向于用过去的经验判断当前的问题
AI Agent 没有这些认知偏差,它会客观地分析所有数据,不预设结论。
3. 持续学习和知识积累
AI Agent 可以从每次故障排查中学习:
- 记录故障现象和根因的对应关系
- 积累排查经验和最佳实践
- 建立故障知识库
- 在未来的故障排查中更快地定位问题
4. 7x24 小时不间断
AI Agent 可以全天候运行,不需要休息:
- 在非工作时间发生故障时,AI Agent 可以立即开始排查
- 在运维人员忙碌时,AI Agent 可以并行处理多个问题
- 在人员不足时,AI Agent 可以提供额外的支持
5. 知识传递和培训
AI Agent 可以帮助传递运维知识:
- 新入职的运维人员可以通过 AI Agent 学习排查方法
- AI Agent 可以解释排查过程,帮助团队理解问题
- AI Agent 可以生成故障复盘报告,帮助团队总结经验
改进措施
基于这次事故,团队实施了以下改进措施:
1. 配置管理改进
- 关键配置保护:对关键配置(如全局流量开关)添加额外的保护,修改需要二次确认
- 配置变更审查:所有配置变更都需要经过审查才能生效
- 配置版本控制:所有配置变更都有版本记录,支持快速回滚
- 配置变更告警:关键配置的变更触发实时告警
2. 监控改进
- 业务指标监控:增加对业务指标(如广告展示量、点击量)的监控
- 异常检测:使用机器学习算法自动检测业务指标的异常变化
- 智能告警:告警系统能够关联多个指标,减少误报和漏报
- AI Agent 集成:将 AI Agent 集成到监控告警流程中,告警触发时自动开始排查
3. 变更流程改进
- 灰度发布:配置变更采用灰度发布,先在小范围验证,再全量生效
- 自动化测试:配置变更后自动运行测试,验证系统正常
- 快速回滚:建立一键回滚机制,出现问题时快速恢复
- 变更窗口:关键变更限制在特定的时间窗口内进行
4. AI Agent 增强
- 更广泛的数据源接入:让 AI Agent 能够访问更多的系统和数据源
- 自动化修复:对于已知的问题,AI Agent 可以自动执行修复操作
- 预测性维护:AI Agent 可以预测潜在的问题,提前进行维护
- 知识图谱:建立系统组件和依赖关系的知识图谱,帮助 AI Agent 理解系统
对其他团队的启示
这个故事对其他运维和开发团队有以下启示:
- 不要忽视配置管理:配置错误是常见的故障原因,需要严格的配置管理流程
- 监控业务指标:不要只监控基础设施指标,更要监控业务指标的异常
- AI Agent 是有力的助手:AI Agent 可以显著提高故障排查的效率,但不能完全替代人类
- 建立完善的变更流程:变更管理是防止故障的关键环节
- 从故障中学习:每次故障都是改进的机会,要认真复盘并落实改进措施
总结
广告投放归零的事故,展示了 AI Agent 在故障排查中的实际价值。传统排查方式花了将近一个小时没有找到问题,而 AI Agent 只用了几分钟就定位了根因——一个被意外修改的全局流量开关配置。
核心要点:
- 事故原因:运维人员意外修改了全局流量开关配置,导致所有广告投放停止
- 传统排查的困境:人类运维人员受认知偏差和工具限制,排查效率较低
- AI Agent 的价值:快速关联分析、不受认知偏差影响、持续学习、7x24 小时运行、知识传递
- 改进措施:配置管理改进、监控改进、变更流程改进、AI Agent 增强
- 人机协作:AI Agent 是有力的助手,但不能完全替代人类,最佳模式是人机协作
这个故事告诉我们,AI Agent 不是要取代运维人员,而是要增强运维人员的能力。在 AI Agent 的帮助下,运维人员可以更快地定位问题、更高效地解决故障、更主动地预防问题。这是 AI 技术在运维领域的一个典型应用场景,也是未来运维发展的一个重要方向。
正如作者所经历的,当系统出问题时,每一分钟都很重要。AI Agent 可以帮助我们在更短的时间内找到问题、解决问题,减少故障带来的损失。这就是 AI 技术的实际价值。
原文链接:https://dev.to/serz/the-day-our-ad-campaigns-went-to-zero-and-an-ai-agent-found-it-in-minutes-473f