更新时间:2024-10-30 GMT+08:00
分享

深度诊断ECS

操作场景

ECS支持操作系统的深度诊断服务,提供GuestOS内常见问题的自诊断能力,您可以通过方便快捷的自诊断服务解决操作系统内的常见问题。

本文介绍支持深度诊断的操作系统版本以及诊断结论说明。

约束与限制

  • 该功能依赖云运维中心(Cloud Operations Center,简称COC),需开通并授权COC服务。

    对于IAM用户,需额外配置COC资源操作类权限,详细内容,请参见配置ECS自助运维自定义策略

  • 该功能依赖UniAgent。UniAgent是统一数据采集Agent,支持脚本下发和执行。

    若ECS未安装UniAgent,则无法免登录发送命令,详细内容,请参见为ECS安装UniAgent

  • 仅Linux操作系统的ECS支持深度诊断。
  • 支持深度诊断的操作系统类型及版本。

    操作系统类型

    版本

    CPU架构

    Huawei Cloud EulerOS

    Huawei Cloud EulerOS 2.0

    Huawei Cloud EulerOS 1.1

    x86/鲲鹏

    CentOS

    CentOS 8.2 64bit

    CentOS 8.0 64bit

    CentOS 7.9 64bit

    CentOS 7.8 64bit

    CentOS 7.7 64bit

    CentOS 7.6 64bit

    CentOS 7.5 64bit

    CentOS 7.4 64bit

    CentOS 7.3 64bit

    CentOS 7.2 64bit

    x86

    Ubuntu

    Ubuntu 22.04 server 64bit

    Ubuntu 20.04 server 64bit

    x86

    Debian

    Debian 11.1.0 64bit

    Debian 10.0.0 64bit

    x86

操作步骤

  1. 登录管理控制台,进入弹性云服务器列表页面。
  2. 在待深度诊断的ECS的“操作”列,单击“更多 > 运维与监控 > 深度诊断”。
  3. (可选)在“开通云运维中心并添加权限”页面,阅读服务声明并勾选后,单击“开通并授权”。

    若当前账号未开通并授权COC服务,则会显示该页面。

  4. 在“深度诊断”页面,选择“深度诊断场景”为“全面诊断”。

    深度诊断功能依赖UniAgent,如果提示未安装UniAgent或者安装失败,请参考为ECS安装UniAgent进行安装,否则无法发送命令。

    图1 深度诊断
  5. 勾选“同意安装插件并采集数据”后,单击“确定”。

    诊断结果及说明,请参见深度诊断结论

  6. 在诊断结果的“诊断报告”页签查看诊断详情。
    图2 诊断报告
  7. 在“诊断详情”区域,单击异常项左侧的“”查看异常详情,并根据“优化建议”进行处理。
    图3 诊断异常项(示例)

深度诊断结论

诊断项ID

诊断项名称

诊断结论

guestos.cpu.high_total_usage

总CPU占用率过高

实例整体CPU占用率已超过80%。

guestos.cpu.high_process_usage

单进程CPU占用率过高

单进程CPU占用率超过整机的50%。

guestos.cpu.high_core_usage

单核CPU占用率过高

单核CPU占用率超过85%。

guestos.disk.high_inode_usage

磁盘使用率检查

当前实例当前部分云盘对应文件系统的使用率或inode使用率已经超过了80%,可能导致在这些分区上无法创建新的文件。

guestos.filesystem.invalid_device

fstab中的设备检查

当前实例的/etc/fstab文件中配置的某个设备不存在,可能会导致实例无法启动。

guestos.filesystem.device_mount_failure

fstab中的设备挂载状态检查

该实例存在未在 /etc/fstab中配置自动挂载的云盘,可能会导致实例无法启动。

guestos.filesystem.invalid_format

fstab文件格式检查

fatab文件存在配置格式错误,可能会导致实例无法启动。

guestos.network.firewall_status_check

系统防火墙状态检查

当前实例的防火墙(即iptables设置)目前处于开启状态,如果服务器开启了防火墙,并设置了屏蔽外界访问的规则,可能会导致远程访问实例失败。

guestos.memory.oom_events

检查操作系统是否OOM

当前实例Guest OS内部曾经发生了OOM(out-of-memory)问题。

guestos.ssh.incorrect_file_permission

SSH公钥和私钥访问权限检查

当前实例SSH依赖的公钥或私钥文件权限不正确,会导致实例无法通过SSH访问。

guestos.ssh.missing_critical_file

SSH关键文件检查

当前实例SSH服务对应的关键文件或目录缺失,会导致实例无法通过SSH访问。

guestos.memory.high_total_usage

内存使用率过高

当前实例内存使用率已经超过80%。

guestos.ssh.forbidden_root_login

SSH是否允许root用户登录

当前实例SSH服务禁止root账号登录,会导致实例无法通过root用户SSH访问。

guestos.system.port_listenning

常见业务端口监听状态检查

端口22不存在进程监听,请您登录实例,检查端口业务服务是否存在异常,并根据需要进行修复。

guestos.system.unreasonable_file_limits

limits设置检查

当前实例系统文件/etc/security/limits.conf 中部分配置大于系统默认值,可能导致实例无法远程登录。

guestos.memory.unreasonable_hugepage_config

内存大页配置检查

当前实例内核参数vm.nr_hugepages配置的大页内存数量过大,可能导致实例无法远程登录。

guestos.network.wrong_nat_config

NAT环境内核参数检查

当前实例NAT相关的内核参数配置存在异常,导致用户无法通过ssh连接实例,还会导致当前实例上的HTTP服务访问出现异常。

guestos.network.wrong_tcp_sack

TCP SACK配置检查

当前实例未开启tcp_sack,可能会影响Linux实例的网络性能。

guestos.system.wrong_selinux_status

selinux状态检查

该实例开启了SELinux服务,会导致SSH远程连接实例时报错,请您视情况选择临时或永久关闭SELinux服务。

guestos.system.missing_critical_user

系统关键用户状态和密码设置检查

当前实例的系统账号不存在,可能会导致实例无法登录。

guestos.network.disabled_multi_queue

网卡多队列开启状态检查

网卡多队列特性状态未开启,可能对网络性能造成影响。请根据需要将该配置调整为开启状态。

guestos.filesystem.critical_file_exists

系统文件状态检查

该实例系统目录中的部分关键系统文件缺失,可能导致实例无法登录。

guestos.system.critical_service_exists

系统关键进程启动状态检查

该实例系统关键进程(比如SSH进程)处于未运行状态,可能会导致实例无法访问。

guestos.filesystem.critical_file_format_invalid

系统关键文件格式检查

当前实例系统账号对应文件的文件格式错误(不是unix格式),可能会导致实例无法登录。

相关文档