更多精彩内容,欢迎观看:
带你读《云上自动化运维宝典》——提升云上资源稳定性的两大利器:事件驱动体系构建&自诊断工具(2):https://developer.aliyun.com/article/1405330
7. 一键定位 – ECS 健康诊断
第一部分,一键定位 ECS 健康诊断。首先,我们先举一个例子,利用健康诊断定位 ssh 无法连接问题,当用户通过 SSH 连接 0.129 这台 ECS时发现无法通过 ssh 登录。SSh 命令报错。
于是第二步,用户通过 ECS 控制台的实例问题排查页面对 ECS 实例发起了远程无法连接问题的健康诊断。
第三步,用户通过健康诊断得到了健康诊断报告,在健康诊断报告中,它可以明确的看到健康诊断对实例的 SSH 服务状态进行了诊断,该诊断结果表明,想登录的 ECS 的ssh 服务没有启动,并且在详细说明中有诊断修复方案的超链接。
第四步,用户通过该超链接获取了如何解决该问题的解决方案。通过该方案,用户可以主动的人工去修复该问题,从而解决问题。在这个 case 中,我们演示了一个用户从发现问题到发起,诊断,获取诊断报告。最后通过诊断报告中的解决方案,人工修复了该问题的完整过程。
使用健康诊断,快速定位 ECS 具体问题实例。
健康诊断功能可以对实例的系统状态,网络状态,磁盘状态等进行全方位的诊断,可以帮助用户了解实例的运行状态,及时发现并解决常见问题。这个图就是一个用户在进行实例健康诊断之后的诊断报告。我们可以看出,该实例通过诊断并没有发现任何问题。而且通过该图,可以看见该诊断对实例的多个方面进行了全方位的诊断结果。
实例健康诊断能够诊断很多常见的实例健康问题。
这些问题包括实例性能问题,诊断 ECS 实例, CPU 负载高,内存负载高,带宽负载高,磁盘 bps iops 高或者实例性能受损等。实例无法连接或启动异常,诊断 VNC 无法远程连接、SSH 无法连接、实例处于运行状态,实例操作系统无法启动等问题。网络问题诊断,诊断ECS 实例的网络性能受损,或者 ping 不通等问题。实例操作未生效,诊断 ECS 实例的变更操作未生效问题,例如云盘扩容实际未生效。资源配额不足的问题,能够诊断ECS 实例的各种配额是否达到了上限。有哪些达到了上限。
费用类问题,诊断 ECS 实例购买、退款、续费、升降配、转换计费方式等问题。安全风险检测,诊断 ECS 实例是否存在安全风险。例如系统漏洞,安全告警,恶意进程等。实例费用及安全行为审计,对 ECS 实例状态,实例费用,安全组等相关的操作进行审计追溯。用户可以拿到该实例的历史行为记录,从而对该实例的历史操作进行审计和问题追查。
介绍一下诊断报告的详细组成部分。
诊断报告由三个部分组成。
第一个是诊断指标。诊断指标是健康诊断的核心功能,一个诊断指标指明了该实例的一个具体的检查点,比如说 CPU 利用率,诊断结果条目,对诊断指标进行检查,返回的是诊断结果条目,一个诊断指标对应着多个诊断结果条目,诊断结构条目按照严重等级分为 Info、Warn、Critical。Critical 类型的诊断结果条目是已经影响到实例的正常运行,强烈建议用户进行修复。
强调一个特殊点,因为一个诊断指标对应的实际故障问题多种多样,有一些可能我们还没有覆盖的实际问题,所以当诊断结果条目没有异常时并不意味着该诊断指标在实际中不存在问题。诊断指标集合,一组诊断指标的集合,可以一次性对诊断指标里的所有指标进行诊断。
也就是说,诊断指标集合是发起健康诊断的起点,用户可以自定义诊断指标集合,比如说只关心网络的用户,可以把网络相关的诊断指标自定义为一个诊断集合,在发起健康诊断时只对该网络相关的诊断指标集合进行诊断,只诊断这些指定的诊断指标。又比如说一些用户可能只关心费用类问题,他可以把费用类的诊断指标组成一个诊断指标集合。每次诊断只发起该诊断指标集合的诊断,从而只得到关于费用的诊断结果,右图是各个诊断按指标概念所对应的内容。
诊断指标分类,在诊断报告里,为了方便用户查看和排查问题,我们先预定义的将诊断指标进行了分类。
这些分类只显示在诊断报告中与诊断指标集合无关。现在我们支持 8 大类诊断指标,集合,包括计算服务健康诊断,网络服务健康诊断,存储服务健康诊断,实例配置管理诊断,安全控制诊断,费用类诊断以及 Linux 或 windows 的实例操作系统内的相关本配置诊断,以及用户的行为回复。
重点介绍一下 Linux 和 windows 的实例操作系统内相关诊断。我们不仅能够诊断云操作系统的底座问题,我们还能帮助用户进行用户 guest os 内相关配置和行为的检查。当用户授权以后,我们可以帮用户进行windows 或 Linux 操作系统内各种配置状态和服务的检查,从而帮助用户定位内部的问题。
健康诊断入口。
第一个入口是在 e cs 控制台自主问题排查页面。用户可以在自主排查中通过预定义好的问题,选择合适的场景,发起健康诊断,从而获取诊断报告。第二个入口是 ECS 控制台工单在线服务,在线,入口在用户发起在线诊断后,机器人和可以根据用户的问题也建议用户是否走健康诊断。
用户点击健康诊断,入口就可以发起健康诊断,从而获取详细的 e cs 诊断结果。第三个入口是 ECS 控制台提交工单入口。在提交工单中,用户选择了云服务器,ECS 产品就会给用户提供很多的 ECS 排查工具。而这些排查工具底层使用的就是实例健康诊断工具。它这里只是帮用户根据场景做了预定义的诊断集。每一个具体的工具问题对应了不同的诊断集。以上我们介绍了两种自助排查的工具。
介绍一下 ECS 故障自主排查的最佳流程。
当业务用户的业务报警,用户怀疑 ECS 出了问题时可以首先检查健康状态。如果健康状态当前是 impaired 的状态。那么说明 ECS 的实例有问题,那么它可以进一步发起健康诊断定位 ECS 的具体问题。通过诊断报告中的异常诊断结果条目,它可以看到 ECS 的问题是什么,并通过健康诊断结果条目中的修复建议进行 ECS 的恢复。
另外一个场景是当用户想知道历史的业务故障时,它可以对 ECS 发起历史的健康诊断,健康诊断本身支持 30 天内的 ECS 历史故障排查。通过历史健康诊断,用户可以检查在某个指定的时间段内 ECS 事例是否发生过故障。
8. 总结
通过以上我们介绍了当用户遇到各种各样的故障,例如实例无法连接实例性能问题,实例操作问题,实例配额不足时,可以通过一眼排障健康状态来一眼确定 ECS 当前是否受损,当确定 ECS 是否受损过后,它可以通过一键定位健康诊断来直接对实例发起健康诊断。按根据指定的诊断及指标集合,进行 ECS 诊断,来明确 ECS 是否有相关的问题,诊断报告确定了该问题时,可以根据诊断报告中的修复文档进行人工修复,从而恢复 ECS。
最后,欢迎各位用户和对该问题感兴趣的同学通过官网 ECS 实例健康状态,ECS 实例健康诊断进行进一步的了解。最后,谢谢大家观看收听云上运维系列公开课。