尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

AI驱动的IT运维“治未病”:从日志分析到容量预测的落地实践

AI驱动的IT运维“治未病”:从日志分析到容量预测的落地实践 1. 救火队长模式走到头了IT部门为什么必须谈治未病这个话题我想从今年我们内部一次季度复盘说起。当时统计前两个季度的全部线上故障发现一个很扎心的数字接近四成的故障实际上是有早期先兆的。系统日志里已经出现过几次异常波动监控指标有缓慢劣化的曲线有些甚至两周前某个版本的代码就埋下了隐患。但当时大家都太忙了没人去在意那些小信号一直到故障爆发所有人都跳起来救火。这就是典型的不治已病治未病、不治已乱治未乱的反面——问题到了爆发临界点才处理成本往往是预防阶段的几十倍。我在IT部门待了十几年从服务器运维、数据库管理一路做到应用架构和平台团队最大的感受是IT部门长期以来都是一支救火队。业务方觉得系统挂了你们赶紧修管理层评价IT的标准也往往是今年好像没出什么大事。这种模式下IT的价值被低估人也始终处于高度紧绷的状态。AI出现之后我认为它最大的价值不是取代谁而是让IT部门有机会第一次真正把预防这件事做起来。什么是治未病放到IT场景里就是四件事提前发现隐患、提前评估风险、提前干预处置、持续沉淀经验。AI在其中扮演的角色不是算命先生而是高度警觉的观察者——它可以不知疲倦地看日志、盯指标、审代码把所有异常信号汇总成一套能被决策的信息流。而做沉淀是把一次次的应急经验、处置方案、复盘结论变成组织能反复调用的AI资产。这两件事放在一起IT部门就能从成本中心慢慢转变为业务的风险屏障和效率放大器。这篇文章不讲虚的理念重点是我在实际推进过程中看到的几个落地方向、选型时的判断依据以及踩过的坑。适合的人群大概是正在思考IT部门要不要用AI、怎么用AI的技术管理者以及愿意把AI引入自己日常工作的运维、SRE、DevOps工程师。没有太多AI基础也没关系我会尽量把每件事的来龙去脉讲清楚。1.1 被动运维的代价一笔真实的成本账先说一组我自己的估算。一次普通的P2级故障从发现、定位到恢复平均牵扯6到8人耗时少则两小时多则一整天。这里面不只是人的工时还有业务损失、品牌信任、后续补丁验证的成本。而如果故障在早期就能被信号捕捉定位时间可以压缩到原来的三分之一甚至更短。更麻烦的是被动运维会产生知识黑洞。每次救火都是高强度的临场判断等火灭了大家往往只想休息很少有人会认真把整个过程沉淀下来。于是同样的坑会在半年后以另一种形态再次出现。这就是为什么治未病和做沉淀必须一起做——没有沉淀的预防是空话没有预防的沉淀也只是存档而已。1.2 治未病不是口号AI能做实的三件事很多朋友一听预防就觉得虚因为预防的效果看不见。我举三个AI真正能做实的方向。第一是异常检测。传统监控是人工设阈值CPU高了多少才告警内存用了多少才算危险。AI可以基于历史数据学习每套系统自己的正常长相于是那些绝对值不高但对这套系统来说明显异常的变化能被提早发现。第二是故障相关性分析。过去一个告警过来你需要自己在控制台里人肉切页面找线索AI可以把日志、指标、链路追踪串在一起告诉你大概率是哪几个服务之间的关系出了问题。第三是知识问答。把历史故障、架构文档、变更记录灌进知识库AI能像一个十分钟内检索完所有资料的老员工帮你回答类似问题去年是怎么处理的。这三个方向我们都做了原型验证。不能说全部完美但在把隐性信号变成显性信息这件事上效果相当明显。1.3 IT部门用AI的三个层次为了避免一说AI就变成上一个聊天机器人我习惯把IT部门用AI画成三个层次。第一层是工具层用现成的AI编程助手写脚本、用AI做故障摘要、用AI辅助代码审查效率提升立竿见影。第二层是平台层把AI以API或Agent的形式嵌入到监控、告警、发布系统里让AI成为流程的一部分。第三层是资产层把数据、经验、流程都沉淀成AI可消费的资产形成越用越聪明的飞轮。文章后半段主要围绕第二层和第三层展开因为第一层相对容易大家自己用一段时间就会有体感。2. 治未病怎么落地从日志智能分析到代码质量门禁聊完理念说点能直接落地的。我们内部把治未病拆成了三个具体动作看日志、看容量、看代码。每个动作后面都有AI介入的空间也都有值得参考的实操细节。2.1 日志智能分析让AI去盯那些没人看的日志日志是所有系统里信息量最大、也最容易被忽视的数据。业务日志、访问日志、错误日志、慢查询日志分布在几十台机器上量大的一天几个TB。人眼根本看不过来传统方案是分词和关键字告警但那些看起来正常但实际反常的模式关键字识别不了。我们做的方法分三步。第一步统一日志采集把散落各处的日志汇总到统一的存储先解决有没有数据的问题。第二步用AI做日志聚类和模式归纳把成千上万条原始日志自动归成几十种类型同时标注出每种类型的数量变化趋势。第三步设置行为漂移检测当某种日志类型的数量、频率或上下文关系出现明显偏离时自动生成一条预警AI助手把关联的指标和近期变更记录一并附上。这里要强调一个经验一开始不要追求AI直接告诉我们根因是什么。那是很高的目标很容易因为准确率不够导致团队失去信心。我们的做法是让AI先扮演提请注意的人它负责说这里有点不对劲建议你看看具体定位还是人来完成。等这个定位的准确率上去了再逐步让AI输出更进一步的推断。另外日志分析要特别注意数据量对成本的冲击。我们刚开始把全部日志都丢进大模型token窗口去分析账单很快就让人清醒了。后来改成先用规则和聚类做第一轮粗筛只有被识别为可疑的日志子集才交给模型做深度分析成本一下子降了七成效果反而更稳定。2.2 容量预测把突然不够用变成提前三个月知道容量问题是最典型的未病。数据库磁盘满了、带宽不够了、连接池被打满了这些几乎都不会毫无征兆但传统上大家总是到最后一刻才扩容。业务方来找你说下周要搞大促你一看磁盘只剩20%只能加班扩容还提心吊胆。AI在容量预测上的价值在于它能吃下长期历史趋势做更合理的曲线外推。我们拿数据库磁盘使用率做过实验输入过去180天的使用数据包括每日增长量、月末归档策略、业务峰值周期让模型预测未来90天的变化曲线。实验结果是在业务没有重大变化的时段拟合效果相当好能提前让我们知道按当前增速三个月后磁盘使用率会超过85%警戒线。实操上有个容易被忽略的细节容量预测必须把人为干预事件也纳入考虑比如定期清理、归档、大促前的扩容。否则模型会把清理之后突然下降当作异常或者学习成周期性波动导致预测失准。我们现在是把这些事件标注成特征字段一起喂给模型而不是只喂原始曲线。这里也想提一下模型选择的思路。容量预测本质上是一个时间序列预测问题不一定非要用大语言模型传统的时序模型比如Prophet、ARIMA在小样本和周期性数据上反而更稳。大模型的价值更多在于结合非结构化信息比如从变更记录里识别出下个月会有一个数据迁移任务预计增加500GB这样的语义信号再把它折算进预测结果里。把两类模型结合起来用是我目前觉得性价比最高的方案。2.3 代码质量门禁在故障发生前把问题挡在门外代码是很多故障的源头。AI编程助手大家现在用得很多写代码效率高了但代码量也上来了Review压力越来越大。我们做的一件事情是把AI代码审查变成一个自动化的质量门禁MR提交的时候AI会先基于仓库历史、编码规范、已知缺陷模式做一轮预审把可疑的点标注出来。这个不是替代人工Review而是帮人过滤掉低级的、重复的问题让工程师把精力留在真正需要判断的地方。我们跑了一个季度AI预审能发现约七成左右的常见问题包括空指针风险、资源未释放、事务范围过大、错误吞掉异常等。最关键的是它能在合入之前提出而不是故障之后才暴露。这里有个原则要把握好AI审查结果只能作为建议不能作为强制拦截的唯一依据。AI会误报如果直接block流程会引发工程师的反感最后整个工具被绕过。我们的策略是分阶段灰度先在建议模式跑两个月把误报率压到可接受范围再针对特定规则启用硬性拦截。比如我们后来只对硬编码密钥SQL注入风险这类高危规则开强制拦截其余的保持建议模式。还有一个副产品值得一说AI代码审查积累下来的标注数据可以直接用来反哺AI编程助手。团队里哪些模块最容易出问题、哪些工程师习惯性犯哪类错误这些都能沉淀下来后续做个性化提示词或者培训都很有价值。3. 做沉淀的关键把个人经验变成组织的AI资产沉淀这个词在很多公司喊了好多年但最后往往变成一堆没人看的wiki和文档。AI给了我们一次机会把沉淀从写给别人看变成沉淀成能被AI消费的服务。这才是真正的资产化。3.1 运维知识库从wiki到RAG问答我们最早的知识沉淀形式是wiki但wiki有个死循环没人愿意写写了的没人看没人看就更没人愿意写。后来我们换了个思路不要求工程师主动写大段文档而是把日常处置故障的聊天记录、变更单、Jira评论、事后复盘文档全部作为语料用RAG检索增强生成做成一个知识问答机器人。工程师遇到问题不再去搜wiki而是直接问上次支付服务连接池耗尽是什么原因AI会先从语料库里检索到相关片段再生成一段带引用来源的回答。这个体验和之前完全不同问答是主动的wiki是被动的。上线之后知识库的命中率和使用频率都远超以前。这个项目里最关键的是语料清洗和权限隔离。内部故障文档往往有系统账号、内部域名、甚至一些敏感的客户信息直接灌进模型之前必须做脱敏和分类。我们花了将近三成的时间在这件事上但它决定了项目能不能合规地长期跑下去。比如我们会用规则自动扫描并打码IP地址、账号密码、手机号等信息设置不同的数据分级只有相应权限的团队能检索到对应级别的文档。3.2 故障复盘自动化把事故变成可分析的数据复盘是沉淀最重要的入口但传统的复盘文档写完之后几乎再也没人打开。我们尝试了一个自动化方案每次故障结束后AI自动拉取当时的告警记录、日志片段、变更时间线、参与讨论的聊天记录生成一份结构化的事故初稿包括时间轴、关键节点、可能的影响范围。人工只需要做最后的确认和补充。这带来的一个额外价值是事故数据变成了可持续分析的语料。当我们积累了几十份复盘之后可以用AI做二次挖掘哪类变更最容易引发事故哪个时间段故障最集中哪些告警是狼来了但从来没真正变成故障这些分析结果反过来又喂给前面讲的异常检测形成闭环。以我们自己为例分析发现大量故障与深夜变更强相关。这其实是个常识但过去没有数据支撑管理层总觉得是偶然。AI把过去一年的变更时间、变更人、是否回滚、是否引发故障全串起来之后我们才敢理直气壮地推动变更窗口限制。这就是沉淀带来的决策说服力。3.3 提示词和Agent流程的沉淀不只是沉淀文档前面说的都是数据和知识的沉淀还有一个很重要但容易被忽视的提示词和Agent流程的沉淀。同一个AI让运维同学写提示词和让一个专门研究prompt的同事写提示词效果差距极大。我们内部建了一个提示词集市要求各团队把自己验证过好用的提示词、工作流发布出来其他人直接复用。更进一步的沉淀是Agent流程。比如数据库慢查询排查Agent它不是一次性的问答而是一个有状态的流程接受输入后先看慢查询日志再关联表结构、索引情况、执行计划最后生成一份排障报告。这个Agent可以被任何团队调用它跑一次就把一位专家级排查者的思路固化下来了。这就是资产层AI的进化不靠个人记忆靠组织流程的复用。关于Agent流程我建议一开始不要设计得太复杂。从两三个步骤开始比如读取日志→调用API查询→生成摘要跑通了再加条件分支和状态记忆。我见过一个团队一开始就设计了一个十几个节点的超级Agent结果每个节点的容错都要维护根本跑不起来。好的Agent是长出来的不是设计出来的。4. 从单点AI工具到AI工程化几个绕不开的关键判断很多团队卡在demo很炫、生产不敢用的阶段问题往往不在模型能力而在工程化的几个基本判断上。4.1 模型选型本地部署还是直接调API这是所有团队都会遇到的第一道选择题。我的经验是不要一刀切而是按照数据敏感度和场景时延两个维度来分。对于纯内部的运维知识库问答如果里面有核心系统的账号信息、拓扑细节建议至少用私有化部署的模型哪怕能力弱一档安全边际更重要。对于代码审查、日志初筛这类数据可控、但又需要较高模型能力的场景可以调用外部API但要做好脱敏。对于实时监控类的推理响应时延是硬指标模型大小和能力之间需要平衡我们有些场景用的是7B到14B的小模型单独跑一个任务足够。我见过一个反面案例团队为了安全把所有场景都放在本地大模型上结果推理速度慢、效果又一般最后大家都不用了。工程化的核心不是追求单一技术方案的最优而是让每个场景找到适合自己的组合。4.2 数据准备和评测闭环最不性感但决定成败的环节AI工程化有个不性感但决定成败的环节评测。你换一个模型版本、调一个提示词怎么知道整体效果是变好还是变坏我们建了一个内部的评测集从历史问答和故障数据里抽了三百多个真实case分成分类、抽取、问答、生成四类每次改动都要跑一遍回归。没有这个评测集你会无数次陷入感觉好像变好了但说不清哪里变好了的糊涂状态。这个评测集刚开始很粗糙但慢慢滚雪球。每次用户反馈AI答错了我们就把case加进去每次故障复盘发现AI漏检了也丢进去。三个月后这个评测集本身就是组织重要的AI资产比任何口头上的我们很重视质量都实在。建议把评测集做成一个日常工具而不是评测季的一次性活动。我们内部每周五下午固定花半小时做一轮新case入集谁发现AI的错误谁在周会上提出当场讨论是否纳入。这样质量回归变成了团队的习惯而不是流程负担。4.3 试点场景的选择与推进节奏选试点场景我总结了一个两有一无原则有痛点、有数据、无致命风险。有痛点大家才愿意配合有数据AI才有东西可学无致命风险即使效果不好也不会影响核心业务。我们的第一个试点选的是告警摘要。原因很简单每次告警都要值班同学人肉翻半天群消息这是真实且高频的痛点告警数据我们有充足的积累就算AI摘要不准确也不至于造成业务影响最多是摘要内容不太好。这个试点上线后值班同学的反馈一下就把项目的口碑做起来了。有了口碑后续再推更复杂的场景阻力就小很多。推进节奏上强烈建议小步快跑、固定周会。每周固定时间看效果、看用户反馈、调prompt或模型不要憋大招。AI项目和其他软件项目有个很大的不同你不知道用户会用出什么新需求只能靠快速迭代去逼近正确答案。5. 踩过的坑与团队转型的一些体会做了半年多AI落地之后有几个坑特别值得拿出来说。5.1 幻觉问题的现实应对AI幻觉是绕不开的。工具类的场景比如代码审查、参数提取幻觉率相对低一些但生成类的场景比如故障总结、处置建议幻觉率会明显上来。我们的应对思路是让AI说人话、带出处凡是AI给出结论必须附带参考来源日志编号、文档链接、代码行号不允许让用户对着一个来路不明的结论去行动。另外一个技巧是提示词里加上不知道就说不知道的约束并且把找不到依据的处理路径单独设计。你不能要求AI绝对不幻觉但你可以让它的幻觉在一个可控的范围内被发现和纠正。我们的值班SOP里写了一条AI定位到的问题必须能和至少一条具体日志对应上才能作为告警升级依据。5.2 权限与安全边界AI助手不是特权账号IT部门的AI系统天然会接触到大量敏感资产服务器地址、数据库口令、应用拓扑、客户数据。我们内部定了几条死规矩第一条AI可访问的数据集必须有最小权限授权能脱敏就脱敏第二条外部API调用禁止传入任何包含明文口令、密钥的上下文第三条所有AI助手必须保留完整的调用审计出了安全问题能追溯到每一次对话。也许有人说这会拖慢应用速度但安全这件事一旦系统上线再补就很痛苦。我见过一个团队AI助手上线时可以查生产数据库大家觉得方便三个月后的一次误操作导致了敏感信息外泄整个项目被叫停整顿。权限设计往前多做一点后面就会少很多麻烦。5.3 团队能力构建先内部培养再考虑外部引入AI落地最稀缺的不是算法专家而是既懂业务、又会用AI、还能做工程的复合型人才。所以我们更倾向于在现有团队里培养给运维同学培训提示词工程和Agent开发给后端同学培训RAG和向量数据库的基本概念让每个人都上手做一个小工具。比起从外面高薪招一个AI专家这个方式更慢但底盘更稳。有一个现象值得注意团队里一旦出现两个以上高复用的Agent大家就开始自发给这些Agent提需求了。这种自下而上的推动力比任何管理指令都有效。我现在的角色与其说是下命令的人不如说是搭台子、定规则、清障碍的人。6. 最后说说个人沉淀的几个小习惯文章的最后我想说几件具体的小事都是我自己日常在用的。第一关于治未病和做沉淀不要追求一步到位可以从最笨的方式开始。比如先从让AI每天汇总前一天的告警邮件做起哪怕只是摘要也比不看好。这个最小闭环能让你很快理解AI在团队里的真实价值而不是停留在概念讨论。第二所有AI项目都要有人审阶段不要直接完全信任AI输出。我们内部的AI摘要结果目前在关键决策场景仍要求人工判断但人工需要处理的信息量已经少了一个数量级。这个人机分工的边界会随着系统成熟慢慢移动但一开始必须明确。第三多建评测集、多积累case这些比模型本身更值钱。模型会换代但数据是一步步攒下来的。哪怕你今天用的模型明天被更强的模型取代你已经积累的数据、评测集、Agent流程依然是下一轮迭代的起跑线。根据我个人的观察未来IT部门的竞争力会越来越体现在两个指标上从发现异常到恢复业务的平均耗时以及同样的问题还会不会再次出现。AI在这两个指标上能帮的忙比很多人想象的要大得多。也希望看到这篇文章的朋友能少踩我们踩过的坑把这件有意义的事做得更顺。
返回列表