我想从启动失败的 Amazon Elastic Compute Cloud (Amazon EC2) Linux 实例收集日志。
解决方法
要排除故障并确定 Amazon EC2 Linux 实例失败的根本原因,您必须收集日志。要从 Amazon EC2 Linux 实例访问并检索日志,请选择最适合您的用例的选项:
- 使用 EC2Rescue for Linux 访问实例并收集日志。
- 使用 chroot 函数访问实例,使用 sosreport 工具收集日志。
使用 EC2Rescue 访问实例并收集日志
对于 Linux 实例,使用 EC2Rescue for Linux 功能访问实例并收集日志。EC2Rescue 是一个预安装的代理,允许您通过 AWS 管理控制台或 AWS 命令行界面 (CLI) 对实例进行故障排除和修复。
注意:如果在运行 AWS CLI 命令时收到错误,请参阅排查 AWS CLI 错误。此外,请确保您使用的是最新版本的 AWS CLI。
使用 chroot 访问实例,使用 sosreport 收集日志
如果无法选择 EC2Rescue for Linux,请使用 chroot 函数访问该实例。然后,使用 GitHub 网站上的 sosreport 工具收集日志。
使用 chroot 访问实例
Amazon Linux 2
如果您使用 Amazon Linux 2,请按照以下步骤操作:
- 打开 Amazon EC2 控制台。**注意:**请确保您位于正确的 AWS 区域。
- 要访问该实例,请使用 chroot 函数。使用 Amazon Linux 2023 作为救援实例。有关详细信息,请参阅使用救援实例。
Amazon Linux 2023
如果您使用 Amazon Linux 2023,请按照以下步骤操作:
- 打开 Amazon EC2 控制台。**注意:**请确保您位于正确的 AWS 区域。
- 要访问该实例,请使用 chroot 函数。使用 Amazon Linux 2023 作为救援实例。有关详细信息,请参阅使用救援实例。
**注意:**运行以下命令为 Amazon Linux 2023 安装额外的 pip 软件包:
dnf install pip -y
创建 sos 报告
要安装并生成 sos 报告,请完成以下步骤:
-
使用 python3 从 GitHub 网站上的官方 GitHub 存储库安装 sosreport util:
python3 -m pip install https://github.com/sosreport/sos/archive/refs/tags/4.8.0.tar.gz
注意: 有关 sosreport 的最新版本,请参阅 GitHub 网站上的版本发布。
-
要生成 sos 报告,请运行以下命令:
/usr/local/bin/sos report --batch
-
要导航到 sosreport tar 文件,请运行以下命令:
cd /var/tmp/
-
要退出 chroot 环境,请运行以下命令:
exit
-
然后,运行以下命令来卸载 /dev、/run、/proc 和 /sys:
sudo umount /mnt/{dev,proc,run,sys,}
-
sosreport 文件位于 /mnt/var/tmp 中。该文件具有以下命名约定:sosreport-ip-x-x-x-x-yyyy-mm-dd-pwgxswy.tar.xz。
**注意:**将 x-x-x-x 替换为 IP 地址,将 -yyyy-mm-dd 替换为日期。
相关信息
对 Amazon EC2 实例的问题进行故障排除
如何使用 EC2Rescue for Linux 来解决操作系统级别的问题?