服务公告

服务公告 > 游戏开服 > 游戏服日志治理:崩溃回溯与留存

游戏服日志治理:崩溃回溯与留存

发布时间:2026-06-03 14:23
## 适用场景:日志既是线索也是负担 游戏服的日志每天都在产生,处理得当它是崩溃回溯的第一手线索,处理不当它会占满磁盘、拖垮写档,甚至成为事故本身。日志治理要回答两个问题:哪些日志值得长期留,哪些该滚动清掉。崩溃前的最后几百行,往往就是定位问题的全部依据。 ## 步骤清单:分级留存与滚动清理 第一步分级。崩溃报告与错误级别的日志属于一级,每次崩溃生成的报告单独归档,命名带上日期,保留九十天以上;普通运行日志属于二级,保留两周即可;调试日志属于三级,排查时临时打开,用完就关。第二步滚动,用系统自带的日志轮转机制或者服务端自带的压缩选项,让旧日志自动压缩归档。第三步兜底清理,防止归档目录失控: ``` find logs -name "*.gz" -mtime +30 -delete ``` 第四步异地留存,每次崩溃的报告同步一份到本地或另一台实例,机器本身打不开时,这份拷贝就是唯一的现场。 ## 验证方法:演练一次崩溃回溯 治理是否有效,演练一次就知道。故意在测试实例上触发一次异常退出,然后只凭日志回答三个问题:崩溃发生在什么时间、崩溃前最后一个正常动作是什么、报错指向哪个组件。三问都能答上,说明留存策略够用;答不上,就缺哪类补哪类。 ## 注意事项 一是日志级别不要全开,调试级别的日志量可以是普通级别的十倍以上,性能与磁盘双重受损。二是磁盘要给日志设配额或告警,顺云的监控告警对磁盘使用率设一条阈值,日志失控时能提前知道,而不是写满之后游戏跟着崩。三是排查完的旧问题日志及时清走,留着只会让下一次检索更慢。日志治理的目标不是留得越多越好,而是出事的那份永远找得到。