Container-Optimized OS 包含 sosreport
实用程序,该实用程序会按需收集信息,帮助您调试 Container-Optimized OS 虚拟机实例中的问题。信息收集后存储在实例的本地文件系统上。Google 不会收集或将此数据存储在其他地方。
如果您因实例问题而向 Google Cloud 支持团队提交支持请求,则可能会要求您提供 sosreport
数据作为调查的一部分。本页面介绍如何收集此信息。
sosreport
的输出在未加密的前提下存储在 .tar.xz
归档中。该归档可能包含个人身份信息 (PII),因为它从许多关键的系统组件(例如 journald)中收集数据。可以在实例上检查该归档,并且大多数内容为纯文本格式。sosreport
工具是开源的,您可以查看其代码。
收集 sosreport 数据
如需创建报告,请使用 gcloud compute ssh
命令通过 SSH 登录到相关的虚拟机实例:
gcloud compute ssh [INSTANCE_NAME]
然后,运行以下 sosreport
命令:
sudo sos report --all-logs --batch --tmp-dir=/var
您可以通过将其他目录传递到 --tmp-dir
选项来更改存储报告的目录。您还可以通过在实例上编辑 /etc/sos.conf
来更改命令的默认行为。
输出结果存储在您使用 --tmp-dir
选项指定的目录的 .tar.xz
文件中。.tar.xz
文件的位置和校验和显示在 STDOUT 上。
Your sosreport has been generated and saved in:
/var/sosreport-cos-20181106231224.tar.xz
The checksum is: 5a8b97c6020346a688254c8b04ef86ec
查看收集的数据
该报告为 root
拥有,其他用户不可读取。使用以下命令将所有者更改为当前用户,并使报告可供您读取。请勿使其人人可读。
TARBALL=[PATH/TO/TARBALL] sudo chown $(whoami) $TARBALL chmod +r $TARBALL
然后,如果要查看节点上的报告内容,可以通过运行以下命令来提取它:
tar xvf $TARBALL
现在,单独的报告文件与 .tar.xz
位于相同位置的目录中。您可以使用 less
之类的命令查看日志,也可以使用 grep
之类的命令在日志中查找信息。
下载报告
如需将报告下载到本地机器上,请使用 gcloud compute scp
命令:
gcloud compute scp $(whoami)@[INSTANCE_NAME]:[PATH/TO/FILE] [LOCAL/PATH/TO/DIRECTORY]