1、分级
- p0:致命。
- P0级别表示最高级别的事故,通常指出现了系统崩溃、无法使用或严重功能故障的情况。这种事故会导致严重的影响,可能使整个系统无法正常运行,需要立即采取行动来修复问题。
- p1:严重。
- P1级别表示严重的事故,可能导致某些核心功能无法正常工作,严重影响系统的可用性和性能。虽然系统仍然可用,但部分关键业务功能无法正常操作。
- p2:重大。
- P2级别表示较为紧急的事故,可能导致某些功能异常或受到限制,但系统整体仍能正常运行。该事故可能对用户体验、性能或数据完整性产生一定的影响。
- p3:一般。
- P3级别表示一般性的事故,通常是一些轻微的故障或缺陷,对系统功能的影响较小。这种事故可能会引起一些不便或瑕疵,但不会对系统的整体运行产生显著的影响。
- px:轻微。
- PX级别通常用于表示低优先级的问题或改进建议,并不属于事故范畴。这些问题可能是一些非关键性的功能需求、建议或其他非紧急的修复要求。
具体的级别定义和分类标准可能因公司、项目规模而异。在实际应用中,管理者通常会根据自身情况和项目需求对级别分类进行适当调整。
2、常见问题
2.1 代码
常见类型
- 空指针
- 线程不安全
- 死锁
- 兼容性问题
- 内存溢出
- 业务错误
代码层面造成的问题
- 快速定位问题
- 代码修复(注:别引发其他问题,测试覆盖要全面)
- 紧急上线
非代码层面的问题
- 宿主机出现问题:应用停服。进行宿主机修复如磁盘扩容、网路联通修复。或者应用迁移。
- 基础服务不可用:要快速定位问题,基础服务是全公司在用的服务。考虑基础服务的故障恢复、高可用。
- 被调服务异常:包括内部服务、第三方服务,建立超时机制,考虑服务的降级、熔断。
2.2 依赖服务出现问题
- 宿主机网路、磁盘出现问题
- 基础服务不可用,如中间件出现问题
- 被调用服务异常
3、复盘
生产问题的事后复盘
- 整理文档
- 生产问题
- 影响功能
- 定位原因
- 修复方案。
- 时间线:发现问题时间、解决时间。
- 分类
- 共识:产品、开发、测试、运维达成共识。
- 建立完善的机制:监控、报警机制
- 避免同类似的问题再次出现。
- 快速发现问题。