【文件属性】:
文件名称:故障处理-c# 8.0 and .net core 3.0
文件大小:3.27MB
文件格式:PDF
更新时间:2021-06-17 23:49:35
devops
5.4 故障处理
故障处理(Troubleshooting)是指在系统失效、停止响应或出现异常时识别、规划和解决系统问题的
过程,帮助修理和恢复系统。在系统运行过程中,由于运行环境的变化、软件本身的缺陷等原因,可能造成
系统运行故障。在系统出现故障时,要求运维人员能够快速发现和解决故障,即快速的故障处理。故障处理
过程循环包括五个步骤,即故障发现、故障追踪、故障解决方案设计、故障排除和故障记录。
复杂系统往往由多个子系统构成,任何一个最终用户的操作可能涉及多个子系统之间复杂的协作,故障
发现、追踪和排除是一个复杂的过程,快速故障处理需要应用设计提供基础故障处理能力。
应用设计从以下几个方面支持故障处理过程,包括日志(记录故障现场)、监控(发现故障)、故障
追踪(定位故障)和故障修复,如表 6 所示。
5.4.1 日志
日志是指对系统运行过程的记录,分为开发日志和业务日志。开发日志是记录代码调用过程和状态,
例如 JAVA 程序员一般用 log4j 工具输出开发日志。业务日志是对用户业务操作行为及结果的记录,一
般需要设计独立的工具进行支持。
业务系统拆分为多个子系统后,如果需要了解整个业务的运行情况,需要综合多个子系统的监控信
息,将多个子系统的监控信息关联起来才能得出业务整体的运行状态信息。
通过监控标准化制定统一的监控规范、监控对象、监控数据,监控系统能够将多个子系统上的监控
信息关联起来形成业务整体监控信息。
5.4.2 监控
应用设计需要支持将系统的运行情况实时展示监控信息。系统能够通过工具随时查看当前系统的
运行情况;以便系统运行出现故障时,研发、测试、运维人员等能够及时的获取整个系统的运行情况,
进行快速的故障判断和处理。
根据运维提供的监控规范、监控对象、监控指标,应用设计需要支持运维系统能将分散在多个子系
统上运行情况实时的展现出来,并关联起来形成整体监控信息,保证系统可监控。
5.4.3 故障追踪
故障追踪是指应用设计能够支持对实时监控或其它方式获得的问题进行调用链分析,定位故障根
源,为故障处理提供依据。例如,对于复杂的分布式系统,一个客户请求涉及来自多个机器的多个进程
的多个服务协作,故障的定位是一个复杂过程。
5.4.4 故障修复
故障修复是指应用设计支持自动修复常见的故障,例如流量突增、硬件损坏、网络拥塞等,当故障
发生时,系统除了进行告警外,还能够自动采取一定应对措施及时处理,降低故障影响范围和程度,减
少故障影响时长。对于一些不常见的故障,支持人工故障修复。在故障处理完成之后,还需要记录故障,
以便后期进行故障分析和积累故障管理知识。