Sosreport 도구

Apigee Edge 문서입니다.
Apigee X 문서로 이동하세요.
info

Sosreport는 오픈소스 소프트웨어 SoS를 기반으로 하는 시스템 수준 진단 및 데이터 수집 도구입니다. Sosreport 도구를 사용하여 Apigee 구성요소가 실행되는 노드에서 문제를 디버깅하는 데 도움이 되는 정보를 수집할 수 있습니다. 이 도구는 노드의 파일 시스템에 정보를 로컬로 수집하고 저장합니다.

Sosreport 도구는 시스템에서 구성 세부정보, 시스템 정보, 진단 정보를 수집하고 데이터를 보관 파일에 저장합니다. Apigee 구성요소의 경우 Sosreport는 다음을 수집합니다.

  • 실행 중인 커널 버전
  • 로드된 모듈
  • 시스템 및 서비스 구성 파일

Sosreport는 다음과 같은 추가 정보를 수집하기 위해 외부 프로그램도 실행합니다.

  • 모든 구성요소의 Apigee 로그
  • 런타임 진단
  • nodetool 명령어를 사용하여 수집된 Cassandra 진단입니다.

Sosreport 도구에는 다음과 같은 두 가지 주요 명령어가 있습니다.

  • sosreport: 데이터를 수집하고 보고서를 생성하는 기본 명령어입니다.
  • apigee-sosreport: sosreport를 설치하고 Apigee 구성요소와 관련된 sosreport 플러그인을 관리하는 데 사용되는 보조 도구입니다.

설치

다음 표에는 Private Cloud용 Edge 지원 버전의 Sosreport 도구 가용성 및 설치 방법이 자세히 나와 있습니다.

OPDK 버전 새로 설치 인플레이스 업그레이드
4.50.00.11~4.52.01.00 수동 설치 필요 수동 설치 필요
4.52.01.01+ 기본 설치 기본 설치
Amazon Linux 2023 이상 지원되지 않음 지원되지 않음

Sosreport 도구는 Private Cloud 버전 4.52.01.01 이상용 Edge를 설정하거나 업데이트할 때 모든 노드에 기본적으로 설치됩니다.

다음 명령어를 실행하여 Sosreport 도구와 플러그인의 설치 및 버전을 확인할 수 있습니다.

apigee-service apigee-sosreport version

Sosreport 도구를 지원하는 모든 플러그인을 나열하려면 다음 명령어를 사용합니다.

sudo sosreport --list-plugins

Apigee 전용 플러그인만 나열하려면 다음 명령어를 실행합니다.

sudo sosreport --list-plugins | grep apigee

Edge for Private Cloud 버전 4.50.00.11~4.52.01.00의 경우 Sosreport 도구를 사용할 수 있지만 환경에 따라 수동 설정이 필요할 수 있습니다.

sosreport의 SoS 버전이 이미 설치된 경우

sosreport의 원래 SoS 버전이 시스템에 이미 설치되어 있는 경우 설치 경로가 충돌할 수 있으므로 Apigee 버전을 설정하지 마세요. 대신 아래와 같은 명령어를 사용하여 /opt/apigee/apigee-sosreport/source/plugin 디렉터리에서 Apigee 전용 플러그인을 적절한 Python site-packages 디렉터리로 복사합니다. 예를 들어 apigee-mgmt.py를 복사하려면 다음을 실행합니다.

  • Python 2를 사용하는 경우 다음을 입력합니다.
    sudo cp apigee-mgmt.py /usr/lib/python2.7/site-packages/sos/plugins/
  • Python 3을 사용하는 경우 다음을 입력합니다.
    sudo cp apigee-mgmt.py /usr/local/lib/python3.6/site-packages/sos/plugins/

플러그인이 설치되었는지 확인하려면 다음을 입력합니다.

sudo sosreport --list-plugins

궁금한 점이 있으면 Apigee 지원팀에 문의하세요.

다음 섹션에서는 버전 4.50.00.11~4.52.01.00에 `sosreport` 를 설치하는 방법을 설명합니다.

Apigee 버전의 sosreport 설치

sosreport의 SoS 버전이 시스템에 아직 설치되어 있지 않은 경우 Edge for Private Cloud가 설치된 모든 노드에서 다음 명령어를 입력하여 Apigee 버전을 설치할 수 있습니다.

/opt/apigee/apigee-service/bin/apigee-service apigee-sosreport install
/opt/apigee/apigee-service/bin/apigee-service apigee-sosreport setup

sosreport가 설치되었는지 테스트하려면 Apigee와 관련된 플러그인이 다음 디렉터리에 있는지 확인합니다.

/usr/lib/pythonx.x/site-packages/sos/plugins

여기서 pythonx.x은 설치된 Python 버전입니다.

또는 다음 명령어 중 하나를 실행할 수 있습니다.

  • Apigee 전용 플러그인만 확인하려면 다음 단계를 따르세요.
    apigee-service apigee-sosreport diagnose -l

    그러면 다음과 같은 Apigee 관련 플러그인 목록이 반환됩니다.

    sosreport (version 3.9)
    
    The following plugins are currently enabled:
    
    apigee-mgmt          This is the apigee plugin for edge-management-server
    apigee-mp            This is the apigee plugin for edge-message-processor
    apigee-rrt           This is the apigee plugin for edge-router
    apigee-sample        Main diagnostics gathering class
  • 모든 플러그인을 확인하려면 다음을 실행하세요.
    apigee-service apigee-sosreport diagnose -s -l

    그러면 sosreport에서 사용할 수 있는 플러그인 목록이 반환됩니다.

    sosreport (version 3.9)
    
    The following plugins are currently enabled:
    
     acpid                ACPI daemon information
     alternatives         System alternatives
     anacron              Anacron job scheduling service
     apigee-cassandra     This is the base class for sosreport plugins. Plugins should subclass
        this and set the class variables where applicable. ←truncated→
     apigee-mgmt          This is the base class for sosreport plugins. Plugins should subclass
        this and set the class variables where applicable. ←truncated→
     apigee-mp            Main diagnostics gathering class
     apigee-rrt           This is the base class for sosreport plugins. Plugins should subclass
        this and set the class variables where applicable. ←truncated→
    
    ………………………………………………….
    ………………………………………………….
    ………………………………………………….
    ←truncated→

보고서 만들기

프라이빗 클라우드용 Edge 버전 4.52.01.01 이상

Sosreport 도구는 노드에서 기존 구성요소를 감지하고 지원팀에서 분석에 필요한 모든 로그의 보고서를 생성할 수 있습니다.

보고서를 생성하려면 다음 명령어를 사용하세요.

apigee-service apigee-sosreport diagnose

필요한 경우 다음 플래그를 추가할 수 있습니다.

  • -f | --file | --config : 설정을 실행하는 동안 사용되는 구성 파일의 경로입니다.
    Example: apigee-service apigee-sosreport diagnose -f /path/to/configuration.file
  • -o | --output : 생성된 sosreport를 특정 디렉터리 또는 경로로 리디렉션합니다.
    Example: apigee-service apigee-sosreport diagnose -o /path/to/output_directory/

Edge for Private Cloud 버전 4.50.00.11~4.52.01.00

Sosreport 도구를 사용하여 보고서를 만들려면 필요한 플러그인 옵션과 함께 sosreport 명령어를 실행합니다 (Apigee 플러그인 참고). 보고서가 저장되는 기본 디렉터리는 tmp 또는 /var/tmp입니다. 다른 디렉터리를 tmp-dir 옵션에 전달하여 보고서가 저장된 디렉터리를 변경할 수 있습니다. 예를 들어 관리 서버에 관한 보고서를 만들어 my_report-dir이라는 디렉터리에 저장하려면 다음 중 하나를 입력합니다.

  • Apigee 버전의 sosreport 사용:
    sudo sosreport --config-file /opt/apigee/apigee-sosreport/conf/sos.conf -o apigee-mgmt  --batch --tmp-dir=my_report-dir
  • SoS 버전의 sosreport 사용:
    sudo sosreport -o apigee-mgmt  --batch --tmp-dir=my_report-dir

보고서는 tmp-dir 옵션을 사용하여 지정한 디렉터리의 .tar.xz 파일에 저장됩니다. .tar.xz 파일의 위치는 STDOUT 및 체크섬에 표시됩니다. 예를 들면 다음과 같습니다.

Your sosreport has been generated and saved in:
 /var/sosreport-prc-test-0-9613-2021-07-12-orwxufx.tar.xz
The checksum is: 5a8b97c6020346a688254c8b04ef86ec
For more available options for sosreport, read the man file:
sudo man sosreport

보고서는 tmp-dir 옵션을 사용하여 지정한 디렉터리의 .tar.xz 파일에 저장됩니다. .tar.xz file의 위치는 STDOUT 및 체크섬에 표시됩니다. 예를 들면 다음과 같습니다.

sosreport에 사용할 수 있는 옵션에 관한 자세한 내용은 man 파일을 참고하세요.

sudo man sosreport

Apigee 플러그인

다음 섹션에서는 다음 구성요소의 Sosreport 도구용 Apigee 플러그인을 설명합니다.

관리 서버

apigee-mgmt 플러그인은 관리 서버에서 다음 정보를 수집합니다.

  • 서버 호스트 이름 (기본값)
  • cpuinfo (기본값)
  • meminfo (기본값)
  • 메모리, Djdk.tls.allowUnsafeServerCertChange 등 Java 가상 머신 (JVM) 설정 (기본값)
  • 현재 관리 로그 (기본값)
  • 10개의 순차적 상위 및 jstacks 출력 (기본값)
  • 전체 관리 로그 폴더 (선택사항)
  • config-files (선택사항)

예:

모든 기본 항목을 수집하려면 다음 중 하나를 입력합니다.

  • Apigee 버전의 sosreport 사용:
    sudo sosreport --config-file /opt/apigee/apigee-sosreport/conf/sos.conf  -o apigee-mgmt --batch my_report-dir
  • SoS 버전의 sosreport 사용:
    sudo sosreport -o apigee-mgmt --batch my_report-dir

모든 기본 항목과 명령어에 지정된 선택적 항목(예: 구성 파일 및 모든 로그)을 수집하려면 다음 중 하나를 입력합니다.

  • Apigee 버전의 sosreport 사용:
    sudo sosreport --config-file /opt/apigee/apigee-sosreport/conf/sos.conf  -o apigee-mgmt --batch -k apigee-mgmt.config-files -k apigee-mgmt.all-logs
  • SoS 버전의 sosreport 사용:
    sudo sosreport -o apigee-mgmt --batch -k apigee-mgmt.config-files -k apigee-mgmt.all-logs

모든 항목을 수집하려면 다음 중 하나를 입력합니다.

  • Apigee 버전의 sosreport 사용:
    sudo sosreport --config-file /opt/apigee/apigee-sosreport/conf/sos.conf  -o apigee-mgmt --batch -k apigee-mgmt.config-files -k apigee-mgmt.all-logs

    또는 다음을 입력할 수 있습니다.

    sudo sosreport --config-file /opt/apigee/apigee-sosreport/conf/sos.conf  -o apigee-mgmt --batch -a
  • SoS 버전의 sosreport 사용:
    sudo sosreport -o apigee-mgmt --batch -k apigee-mgmt.config-files -k apigee-mgmt.all-logs

    또는 다음을 입력할 수 있습니다.

    sudo sosreport -o apigee-mgmt --batch -a

메시지 프로세서

apigee-mp 플러그인은 관리 프로세서 (MP)에서 다음 정보를 수집합니다.

  • 서버 호스트 이름 (기본값)
  • cpuinfo (기본값)
  • meminfo (기본값)
  • buildinfo/release info (기본값)
  • apigee-all 상태 (기본값)
  • 서버 세부정보 (기본값)
  • JVM 수준 설정(예: 메모리, Djdk.tls.allowUnsafeServerCertChange 등)(기본값)
  • 현재 MP 로그 (기본값)
  • 상위 10개 순차, jstack, NIO 측정항목 출력 (기본값)
  • 전체 MP 로그 폴더 (선택사항)
  • 분류 트리 (선택사항)
  • 힙 덤프 (선택사항)
  • config-files (선택사항)
  • 런타임 트레이스 (선택사항, org:env:api:rev detail가 제공된 경우에만 해당). 참고: 플러그인은 런타임 요청을 수집하기 위해 25초 동안 기다립니다.

예:

모든 기본 항목을 수집하려면 다음 중 하나를 입력합니다.

  • Apigee 버전의 sosreport 사용:
    sudo sosreport --config-file /opt/apigee/apigee-sosreport/conf/sos.conf  -o apigee-mp --batch
  • SoS 버전의 sosreport 사용:
    sudo sosreport -o apigee-mp --batch

모든 기본 항목 외에 수집할 추가 선택적 항목을 지정할 수도 있습니다. 예를 들어 -k apigee-mp.heap 플래그를 사용하여 힙 덤프를 지정하려면 다음 중 하나를 입력합니다.

  • Apigee 버전의 sosreport 사용:
    sudo sosreport --config-file /opt/apigee/apigee-sosreport/conf/sos.conf  -o apigee-mp --batch -k apigee-mp.heap
  • SoS 버전의 sosreport 사용:
    sudo sosreport -o apigee-mp --batch -k apigee-mp.heap

마찬가지로 다음 선택사항을 지정할 수 있습니다.

-k apigee-mp.deployments
-k apigee-mp.heap
-k apigee-mp.all-logs
-k apigee-mp.config-files
-k apigee-mp.trace=gsc-cps:test:httpbin:3

단일 명령어에 여러 옵션을 지정할 수 있습니다. 예를 들면 다음과 같습니다.

  • Apigee 버전의 sosreport 사용:
    sudo sosreport --config-file /opt/apigee/apigee-sosreport/conf/sos.conf  -o apigee-mp --batch -k apigee-mp.deployments -k apigee-mp.all-logs
  • SoS 버전의 sosreport 사용:
    sudo sosreport -o apigee-mp --batch -k apigee-mp.deployments -k apigee-mp.all-logs

트레이스를 제외한 모든 항목을 수집하려면 다음 중 하나를 입력합니다.

  • Apigee 버전의 sosreport 사용:
    sudo sosreport --config-file /opt/apigee/apigee-sosreport/conf/sos.conf  -o apigee-mp --batch -a
  • SoS 버전의 sosreport 사용:
    sudo sosreport -o apigee-mp --batch -a

라우터

apigee-rrt 플러그인은 라우터에서 다음 정보를 수집합니다.

  • 서버 호스트 이름 (기본값)
  • cpuinfo (기본값)
  • meminfo (기본값)
  • buildinfo/release info (기본값)
  • apigee-all 상태 (기본값)
  • 서버 세부정보 (기본값)
  • ps 출력 이렇게 하면 메모리, Djdk.tls.allowUnsafeServerCertChange 등 JVM 수준 설정이 제공됩니다 (기본값).
  • 현재 라우터 로그 (기본값)
  • 잘못된 파일 이름을 포함한 vhost 파일 이름 목록 (기본값)
  • 전체 라우터 로그 폴더 (선택사항)
  • config-files (선택사항)

예:

모든 기본 항목을 수집하려면 다음 중 하나를 입력합니다.

  • Apigee 버전의 sosreport 사용:
    sudo sosreport --config-file /opt/apigee/apigee-sosreport/conf/sos.conf  -o apigee-rrt --batch
  • SoS 버전의 sosreport 사용:
    sudo sosreport -o apigee-rrt --batch

모든 기본 항목 외에 수집할 추가 선택적 항목을 지정할 수도 있습니다. 예를 들어 -k apigee-rrt.all-logs 플래그를 사용하여 전체 로그 폴더를 지정하려면 다음 중 하나를 입력합니다.

  • Apigee 버전의 sosreport 사용:
    sudo sosreport --config-file /opt/apigee/apigee-sosreport/conf/sos.conf  -o apigee-rrt --batch -k apigee-rrt.all-logs
  • SoS 버전의 sosreport 사용:
    sudo sosreport -o apigee-rrt --batch -k apigee-rrt.all-logs

마찬가지로 다음 선택사항을 지정할 수 있습니다.

-k apigee-rrt.all-logs
-k apigee-rrt.config-files

모든 항목을 수집하려면 다음 단계를 따르세요.

  • Apigee 버전의 sosreport 사용:
    sudo sosreport --config-file /opt/apigee/apigee-sosreport/conf/sos.conf  -o apigee-rrt --batch -a
  • SoS 버전의 sosreport 사용:
    sudo sosreport -o apigee-rrt --batch -a

Cassandra

apigee-cassandra 플러그인은 Cassandra 노드에서 다음 정보를 수집합니다.

  • 머신 통계:
    "hostname -i"
    "cat /proc/cpuinfo"
    "cat /proc/meminfo"
    "ulimit -a"
    "ps auxw"
    "df -kh"
    "du -sh"
    "netstat -ntlpu"
    "free -h"
    "ifconfig -h"
    "ps -ef"
  • Apigee 구성요소의 상태 및 버전 apigee-all version 및 apigee-all status
  • apigee-cassandra 로그: /opt/apigee/var/log/apigee-cassandra/ 아래의 모든 파일
  • 커밋 로그 수
  • Top 명령어 출력
  • 스레드 덤프
  • 구성 파일: cassandra-topology.properties, cassandra.yaml, cassandra-env.sh
  • 다음 매개변수의 Nodetool 출력: version, status, ring, info, gossipinfo, compactionstats -H, tpstats, netstats, cfstats, proxyhistograms

예:

모든 기본 항목을 수집하려면 다음 중 하나를 입력합니다.

  • Apigee 버전의 sosreport 사용:
    sudo sosreport --config-file /opt/apigee/apigee-sosreport/conf/sos.conf  -o apigee-cassandra
  • SoS 버전의 sosreport 사용:
    sudo sosreport -o apigee-cassandra