Container-Optimized OS 包含 sosreport 公用程式,可依需求收集資訊,協助您偵錯 Container-Optimized OS 虛擬機器執行個體的問題。系統會收集資訊並儲存在執行個體的檔案系統本機。Google 不會在其他地方收集或儲存這項資料。
如果您因執行個體發生問題而向Google Cloud 支援團隊提出客服案件,我們可能會要求您提供sosreport資料,以利調查。本頁說明如何收集這項資訊。
sosreport 的輸出內容會儲存在 .tar.xz 封存檔中,且不會經過加密。
封存檔可能會包含個人識別資訊 (PII),因為封存檔會收集許多重要系統元件 (例如 journald) 的資料。您可以在執行個體上檢查封存檔,大多數內容都是純文字。這項sosreport工具採用開放原始碼,您可以查看其程式碼。
收集 sosreport 資料
如要產生 sosreport,請按照下列步驟操作:
使用
gcloud compute ssh指令連線至執行個體。gcloud compute ssh [INSTANCE_NAME] --zone [ZONE] --project [PROJECT_ID]
查看作業系統版本:
sudo cat /etc/os-release| egrep -w 'NAME|VERSION'輸出結果會與下列內容相似:
NAME="Container-Optimized OS" VERSION=105執行與您作業系統版本對應的
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 檔案的形式呈現。.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]