Container-Optimized OS에는 Container-Optimized OS 가상 머신 인스턴스에서 문제를 디버그하는 데 도움이 되는 주문형 정보를 수집하는 sosreport
유틸리티가 포함되어 있습니다. 정보는 인스턴스의 파일 시스템에 로컬로 수집 및 저장됩니다. Google은 이 데이터를 다른 곳에서 수집하거나 저장하지 않습니다.
인스턴스 문제로 인해 Cloud de Confiance by S3NS 지원으로 지원 케이스를 열면 조사의 일환으로 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
파일에 저장됩니다. .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]