实例健康诊断功能是一种自助诊断方式,可以对实例的计算服务状态、存储服务状态、网络服务状态、实例配置管理和实例操作系统内相关配置进行全方位的诊断,帮助您了解实例的健康情况,及时发现并解决常见的问题。本文介绍轻量应用服务器支持的诊断项,并提供了详细的诊断范围及建议操作供您参考。
诊断项
实例健康诊断功能支持诊断项分类如下表所示。
诊断项分类 | 说明 |
诊断轻量应用服务器底层的资源和虚拟化层,确保轻量应用服务器底层服务无异常。 | |
检查实例磁盘的运行状态是否存在异常。 | |
检查实例内部网络组件状态,以及外部网络环境异常等情况。 | |
检查实例在启动过程中或运行中,是否被某个操作阻塞(block)导致实例无法启动或者运行异常。 | |
检查实例操作系统内的系统文件、关键进程、防火墙状态等是否正常。 | |
检查实例操作系统内的常用业务端口占用状态、防火墙状态等是否正常。 |
计算服务健康诊断、网络服务健康诊断、存储服务健康诊断、实例配置管理诊断发现的异常属于非实时态异常,诊断结果会包括过去48小时内存在过的异常用于查看历史问题,不一定需要实时修复。
计算服务健康诊断
计算服务健康诊断项具体如下表所示。
诊断项 | 描述 | 诊断范围及建议操作 |
实例虚拟化异常 | 实例在运行中出现崩溃或出现异常暂停。 | 检查该实例底层虚拟化层核心服务是否出现异常。 出现此类异常可能会导致实例崩溃或出现异常暂停,您可以尝试通过重启实例进行恢复。 |
实例操作系统异常 | 实例系统出现了内核错误(kernel panic)、OOM(Out of Memory)异常或内部宕机等故障。 | 检查该实例的操作系统(Guest OS)内部是否存在内核panic、OOM异常或内部宕机等故障。 这些故障可能是由于实例配置不当或用户空间的程序配置不当导致,您可以尝试通过重启实例进行恢复。 |
实例所在宿主机告警 | 实例所在的物理设备出现故障告警。 | 检查该实例所在的底层物理机是否有故障。 如果底层物理机存在故障,则可能会影响实例的运行状态或性能。您可以尝试通过重启实例进行恢复。 |
网络服务健康诊断
网络服务健康诊断项具体如下表所示。
诊断项 | 描述 | 诊断范围及建议操作 |
网络会话异常 | 网卡会话无法正常建立,或会话数超过上限。 | 检查该实例的网卡是否能正常建立会话。 如果网卡无法建立会话或已建立的会话超过限制,将影响实例的网络连通性或网络吞吐,例如导致实例无法远程连接,或网速过慢。您可以尝试通过重启实例进行恢复。 |
DDos攻击的防护状态异常 | 检查实例的公网IP是否受到DDoS攻击以及防护状态。 | 检查该实例的IP地址是否受到了DDoS攻击。 阿里云免费提供的DDoS原生防护服务可以帮您完成一定程度的攻击流量清洗,缓解DDoS攻击造成的不可用,但如果攻击流量已超出实例的防护能力,仍会导致实例进入不可用状态,无法正常访问。更多DDoS攻击详情,请参见什么是DDoS攻击。 您可以视情况购买其他DDoS防护产品抵御DDoS攻击,更多信息,请参见阿里云DDoS防护产品概述。针对需要应急解除黑洞的情况,您还可以申请DDoS攻击免费应急服务。 阿里云DDoS预防最佳方案,请参见缓解DDoS攻击的最佳实践。 |
存储服务健康诊断
存储服务健康诊断项具体如下表所示。
诊断项 | 描述 | 诊断范围及建议操作 |
磁盘扩容未生效 | 在控制台对Linux实例的磁盘扩容后,检查是否需要进一步执行扩容命令。 | 检查在控制台对该实例的磁盘扩容后,是否已经生效。 如果在控制台完成了扩容操作但实际没有生效,需要手动执行扩容命令扩容分区和文件系统。具体操作,请参见扩容数据盘。 |
实例磁盘扩缩容异常 | 磁盘扩缩容后,操作系统调整文件系统的大小失败。 | 检查该实例的系统盘在扩容后,云盘上的文件系统是否也调整成功。 如果文件系统未成功调整,表示云盘容量因资源不足或其他原因导致扩容失败,新扩容的磁盘无法使用。请重新发起扩容操作。具体操作,请参见扩容数据盘。 |
实例磁盘IO hang | 磁盘IO hang,导致磁盘无法读写。 | 检查该实例的系统盘是否存在IO hang的情况(即磁盘内的文件系统因读写IO延迟过高导致系统不稳定或宕机)。 如果出现IO hang,磁盘无法进行读写操作,建议您查看磁盘的性能指标。具体操作,请参见查看磁盘读写指标。如果您使用的是Alibaba Cloud Linux 2操作系统,检测IO hang的操作,请参见检测文件系统和块层的IO hang。 |
实例磁盘加载异常 | 创建或挂载磁盘时出现错误。 | 检查该实例在启动时云盘是否能正常挂载。 如果挂载失败,则会导致实例无法正常启动。请停止实例后再次启动实例,或重新挂载云盘,进行恢复。挂载云盘的操作,请参见挂载数据盘和分区格式化数据盘。 |
实例云盘读写受限 | 磁盘IO出现延迟过长,或达到该云盘类型的IO上限。 | 检查该实例系统盘的读写IO是否存在延迟,以及读写的IOPS是否超过了该云盘的IOPS上限。 如果云盘读写IOPS超过上限,则云盘读写将被限制,查看云盘指标的操作,请参见查看云盘监控信息。为避免该情况再次发生,请您降低磁盘的读写频率或升级为更高性能的云盘类型。各类云盘的读写性能指标,请参见块存储性能。 |
实例配置管理诊断
实例配置管理诊断项具体如下表所示。
诊断项 | 描述 | 诊断范围及建议操作 |
实例核心操作异常 | 您对实例进行管理控制的操作执行失败。 | 检查您对该实例最近执行的管理操作,例如开机、关机、升配等是否执行成功。 如果执行失败,您需要重新发起该操作。 |
实例镜像加载异常 | 实例所使用的镜像无法正常加载。 | 检查该实例在启动时所使用的镜像是否能正常加载。 镜像可能因为系统原因、镜像问题等加载失败。您可以尝试通过重启实例进行恢复。 |
实例启动异常 | 实例无法被管控系统正常启动。 | 检查该实例的boot操作是否能正常执行加载。 如果实例无法正常启动,您需要创建一个新的实例。 |
实例操作系统内相关配置诊断(Linux)
Linux实例操作系统内相关配置诊断项具体如下表所示。
诊断项(控制台) | 描述 | 诊断范围及建议操作 |
总CPU使用率过高 | 实例当前CPU的使用率已经超过80%(基于top命令返回的数据)。 | 检查该实例的总CPU使用率。 如果使用率过高,请您定位使用较多CPU资源的进程并判断是否正常。查询CPU资源使用情况的操作,请参见Linux系统CPU负载的查询和案例分析。 |
disk中inode检查 | 检查Disk中inode是否足够。 | 检查该实例磁盘的inode使用率。 |
系统防火墙状态检查 | 检查系统防火墙是否打开。 | 检查该实例的防火墙。 如果实例开启了防火墙,并设置了屏蔽外界访问的规则,可能会导致无法远程连接实例。开启和关闭防火墙的方法,请参见开启或关闭Linux实例中的系统防火墙。 |
常见业务端口监听状态检查 | 检查常见业务端口(例如22和3389)是否处于监听状态。 | 检查该实例的常见业务端口。 如果端口未处于监听状态,可能会导致不能访问实例上的应用。检查并修改常见业务端口的方法,请参见Linux实例启动常见服务并查询端口监听状态的方法。 |
CPU使用率超过50%的进程 | 实例当前CPU的使用率已经超过50%(基于top命令返回的数据)。 | 检查该实例中进程的CPU使用率。 如果一些进程的CPU使用率过高,请您判断进程是否正常。检查CPU使用率的方法,请参见Linux系统CPU负载的查询和案例分析Linux系统的ECS实例CPU使用率或CPU负载较高问题的排查及解决方案。 |
selinux状态检查 | 检查SELinux是否开启。 | 检查该实例是否开启了SELinux服务。 如果开启了SELinux服务,会导致SSH远程连接实例时报错,请您视情况选择临时或永久关闭SELinux服务。关闭SELinux服务的方法,请参见Linux实例中由于SELinux服务开启导致SSH远程连接异常。 |
SSH访问权限检查 | 检查SSH的访问权限配置是否正确。 | 检查该实例的SSH访问权限配置。 如果SSH访问权限配置不正确,可能会导致无法登录实例。修改SSH访问权限的方法,请参见SSH的访问权限异常导致无法远程连接Linux实例。 |
SSH关键文件系统检查 | 检查SSH访问所需要的关键文件或目录是否存在。 | 检查该实例中SSH服务所需的关键文件或目录。 如果SSH服务所需的关键文件或目录不存在,可能会导致无法SSH登录实例。修复SSH服务所需的关键文件或目录的方法,请参见检查Linux实例是否存在SSH服务所需的必备文件或目录。 |
SSH是否允许root用户登录检查 | 检查SSH配置是否允许root用户连接。 | 检查SSH配置是否允许root用户连接。 如果禁止使用root用户登录实例,会导致使用root用户登录实例时返回Permission denied, please try again错误。修复root用户登录实例报错的问题,请参见如何解决使用root用户通过SSH登录Linux实例时报“Permission denied, please try again”的错误。 |
实例操作系统内相关配置诊断(Windows)
Windows实例操作系统内相关配置诊断项具体如下表所示。
诊断项(控制台) | 描述 | 诊断范围及建议操作 |
Windows操作系统的版本检查 | 微软已经不再维护Windows Server 2008及之前的版本。 | 检查该实例的Windows系统版本。 阿里云和微软不再维护Windows Server 2008及之前的版本,请您视情况重装更高版本的Windows系统。具体操作,请参见重置系统。 |
总CPU的使用率过高 | 检查Windows CPU使用率总体超过85%。 | 检查该实例的CPU使用率。 如果CPU总使用率过高,请您定位使用较多CPU资源的进程并判断是否正常。检查CPU使用率的方法,请参见Windows实例中CPU使用率较高问题的排查及解决方法。 |
内存使用率偏高 | 检查Windows系统内存使用率是否超过80%。 | 检查内存的使用率是否超过80%。 如果该实例当前内存的总使用率已经超过80%,会列出内存使用率排名前5的进程,请检查对应进程是否正常。分析Windows内存使用率过高的具体操作,请参见Windows系统内存分析工具介绍。 |
Windows常用业务端口占用状态检查 | 检查Windows系统的3389端口是否开放。 | 检查该实例的3389端口。 如果未开启3389端口,会导致无法使用远程桌面连接RDP服务访问实例。开启3389端口允许远程桌面连接的方法,请参见Windows实例如何启动远程桌面连接RDP服务。 |
磁盘容量检查 | 检查系统C盘容量是否小于1 GB。 | 检查该实例系统盘(C盘)的可用空间。 如果可用空间小于1 GB,可能会导致系统运行缓慢,甚至实例无法启动,请您根据需要扩容磁盘。具体操作,请参见升级配置。 |
Windows防火墙状态检查 | 检查Windows防火墙的状态是否为打开状态。 | 检查该实例的防火墙状态。 如果防火墙处于开启状态,可能会导致无法访问实例上的服务,请视情况调整防火墙的相关策略配置。配置防火墙策略的方法,请参见Windows Server实例防火墙策略的配置方法。 |
Administrator账号检查 | 检查Administrator账号是否存在。 | 检查是否存在Administrator账号。 如果不存在Administrator账号,可能会导致服务无法正常访问,请根据业务需要选择是否要创建Administrator账号。Windows系统创建账号的具体操作,请参见如何使用管理控制台添加或删除管理员。 |