Container-Optimized OS 包含 sosreport
公用程式,可根據需求收集資訊,協助您在 Container-Optimized OS 虛擬機器執行個體中偵錯問題。系統會收集這些資訊,並儲存在執行個體的本機檔案系統中。Google 不會在其他地方收集或儲存這類資料。
如果您因執行個體發生問題,向 Google Cloud 支援團隊建立客服案件,我們可能會要求您提供 sosreport
資料,以便進行調查。本頁面將說明如何收集這項資訊。
sosreport
的輸出內容會以未加密的方式儲存在 .tar.xz
封存檔中。由於這個封存檔會從許多重要系統元件 (例如 journald) 收集資料,因此可能會包含個人識別資訊 (PII)。您可以在執行個體上檢查封存檔案,其中大部分內容都是純文字。sosreport
工具採用開放原始碼,您可以查看程式碼。
收集 sosreport 資料
如要產生 sosreport,請按照下列步驟操作:
使用
gcloud compute ssh
指令連線至執行個體。gcloud compute ssh [INSTANCE_NAME] --zone [ZONE] --project [PROJECT_ID]
查看 OS 版本:
sudo cat /etc/os-release| egrep -w 'NAME|VERSION'
輸出結果會與下列內容相似:
NAME="Container-Optimized OS" VERSION=105
執行與 OS 版本相對應的
sos
指令:
COS 85 以下
執行下列 sosreport
指令來收集記錄:
sudo sosreport --all-logs --batch --tmp-dir=/var
如果先前的 sosreport: command not found
指令失敗,請安裝 sosreport
套件,然後執行先前的 sosreport
指令:
sudo toolbox
sudo apt install sosreport -y
COS 105 以上版本
執行下列 sos
指令來收集記錄:
sudo sos report --all-logs --batch --tmp-dir=/var
如果先前的 sos: command not found
指令失敗,請安裝 sosreport
套件,然後執行先前的 sos report
指令:
sudo toolbox
sudo apt install sosreport -y
Ubuntu-18 以下版本
執行下列 sosreport
指令來收集記錄:
sudo sosreport --all-logs --batch --tmp-dir=/var
如果先前的指令在 sosreport: command not found
中失敗,請安裝 sosreport
套件,然後執行先前的 sosreport
指令:
sudo apt install sosreport
Ubuntu-20 以上版本
執行下列 sos
指令來收集記錄:
sudo sos report --all-logs --batch --tmp-dir=/var
如果先前的 sos: command not found
指令失敗,請安裝 sosreport
套件,然後執行先前的 sos report
指令:
sudo apt install sosreport
您可以將不同的目錄傳遞至 --tmp-dir
選項,藉此變更報表的儲存目錄。您也可以在執行個體上編輯 /etc/sos.conf
,變更指令的預設行為。
輸出內容會儲存在您使用 --tmp-dir
選項指定的目錄中 .tar.xz
檔案中。STDOUT 會顯示 .tar.xz
檔案的位置和總和檢查碼。
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]