走进智慧园区项目组的办公区,我差点被眼前的混乱吓一跳:桌上堆满了没洗的咖啡杯,里面的咖啡渍都干成了黑渣;键盘上撒着薯片渣,有人还把外卖盒放在显示器旁边,汤汁洒了一地;每台电脑的屏幕上都亮着红色的错误告警,日志文件滚得飞快,根本看不清内容。
“都别吵了!”我大吼一声,声音盖过了满屋的议论声,“现在听我指挥:第一,小林,你联系客户现场,让他们先断开非核心设备,只留门禁和监控,减轻服务器压力;第二,老周,你把最近三天的系统日志、数据库慢查询记录、服务器监控数据,全部导到我的服务器上,用‘grep’命令筛选‘tiout’和‘deadlock’关键字;第三,张涛,你去拿备用服务器,准备搭建临时环境,万一主环境救不回来,咱们用临时环境先顶一下。”
所有人都愣住了,大概是没想到我会这么果断。赵胖子连忙说:“快!都照李经理说的做!谁要是耽误了,我饶不了他!”
我走到主控电脑前,坐下,打开终端,输入“tail -f /var/log/syslog | grep error”,日志飞快地滚动,我眼睛盯着屏幕,手指在键盘上敲击,筛选关键信息。
张涛很快把数据导了过来,我打开监控图表,看到核心调度服务的cpu使用率已经到了99,内存占用率85,明显是资源耗尽了。
“赵经理,你们是不是重启过核心服务?”我问。 赵胖子愣了一下:“是啊,刘磊说重启能解决问题……”
“问题就出在这!”我指着屏幕上的一条日志,“你们重启服务的时候,没清理临时文件,导致服务启动后,又加载了旧的错误配置,而且重启次数太多,触发了我之前埋下的服务网格重连陷阱——重试8次才隔离异常节点,资源全被耗尽了。”
其实我早就知道问题在哪,但还是装作分析了半天,这样才显得专业。赵胖子和他的手下凑过来看,一个个一脸茫然,根本看不懂日志。
“那……那怎么修啊?”赵胖子急得直跺脚。
“两种方案。”我故意放慢语速,“一是临时方案,手动删除临时文件,重启核心服务,隔离异常节点,能撑到预演结束,但以后还会出问题;二是彻底方案,修改服务网格的重连参数,把重试次数从8次改成3次,再优化容错逻辑,从根本上解决问题。”
“选彻底方案!必须彻底解决!”赵胖子连忙说,生怕再出岔子。
我打开代码编辑器,找到服务网格的配置文件“”,飞快地修改参数,又添加了一段容错代码,防止节点雪崩。
张涛在旁边看着,小声说:“牛啊,这参数改得真准。”
周围的同事也围了过来,有人忍不住感叹:“还是李经理厉害,赵经理他们折腾了一晚上,还不如李经理半小时。”
赵胖子站在后面,脸一阵红一阵白,却不敢反驳。
修改完代码,我让老周写自动化脚本,批量重启服务。随着脚本运行,监控屏幕上的红色告警一个个消失,cpu使用率降到了30,内存占用率40,设备同步延迟从5秒降到了100s以内。
“好了!恢复正常了!”老周大喊一声。
整个办公区瞬间爆发出欢呼,小林激动地跳了起来:“客户那边刚才还在发火,现在打电话来说监控正常了,门禁也能正常用了!”
就在这时,ceo的秘书走了过来,手里拿着手机:“李经理,王总让你接电话,客户要亲自谢谢你。”
我接过手机,里面传来客户负责人的声音,态度热情得不行:“李经理,太感谢你了!刚才我还跟王总抱怨,现在一看,你们的技术实力真厉害!等预演结束,咱们马上签合同!”
挂了电话,张维新也赶了过来,拍着我的肩膀,笑得合不拢嘴:“卫柠,干得漂亮!王总刚才在会上说,要给你记大功!”
周围的同事都围过来,有人递水,有人说要请我吃饭。赵胖子站在角落,像个局外人,脸色难看至极。
刘磊凑过去,小声说:“赵经理,现在怎么办?”
赵胖子瞪了他一眼:“还能怎么办?以后项目组听李经理的,别瞎折腾了!”
我看着眼前的场景,心里既痛快又平静。痛快的是,赵胖子终于栽了,我们赢回了项目;平静的是,我知道这只是开始,王总监那边肯定还会有动作。
张涛拍了拍我的肩膀:“走,中午我请你吃火锅,庆祝一下!”
“好啊。”我笑着点头,目光看向窗外——阳光正好,微风不燥。