소개
이 문서에서는 QPS(Quantum Policy Suite) 시스템 장애 또는 충돌이 발생할 때 정보를 캡처하기 위해 완료해야 하는 단계에 대해 설명합니다.하드웨어, 소프트웨어 및 가상 머신 요구 사항이 충족되면 QPS가 충돌할 가능성이 낮습니다.
사전 요구 사항
요구 사항
이 문서에 대한 특정 요건이 없습니다.
사용되는 구성 요소
이 문서의 정보는 다음 소프트웨어 및 하드웨어 버전을 기반으로 합니다.
참고:QPS 릴리스 5.5보다 오래된 QPS 릴리스에는 특정 로그가 나타나지 않습니다.
이 문서의 정보는 특정 랩 환경의 디바이스를 토대로 작성되었습니다.이 문서에 사용된 모든 디바이스는 초기화된(기본) 컨피그레이션으로 시작되었습니다.현재 네트워크가 작동 중인 경우, 모든 명령어의 잠재적인 영향을 미리 숙지하시기 바랍니다.
캡처 정보
QPS 시스템 장애가 발생하면 다음 정보를 수집합니다.
진단 및 디버그 로그
- PCRF(Policy and Charging Rules Function) 클라이언트 가상 머신(예: pcrfclient01)에 로그인하고 진단 정보(예: /opt/broadhop/installer/diag/diagnostics.sh)을 수집합니다.
- PCRF 클라이언트 가상 컴퓨터에 로그인하고 디버그 정보를 수집합니다.디버그 정보에는 통합 QNS 로그, svn repo 및 QNS 구성 세부 정보가 포함됩니다.통합 로그에 시스템 오류 시간이 포함되고 logback.xml 파일에 디버그 레벨이 설정되어 있는지 확인합니다.
- QPS에서 이 출력을 수집합니다(예: /opt/broadhop/installer/diag/zip_debug_info.sh 실행). 출력은 /var/tmp/debug_info<date>.zip에 저장됩니다.
QPS 라이센스 정보
- PCRF 클라이언트 가상 머신에 로그인하여 QPS 라이센스 정보를 수집합니다.QPS는 일반적으로 특정 기능에 대해 라이센스가 부여되며, 지원되는 최대 동시 세션 수가 있습니다.QPS에는 이 기능의 만료 날짜도 있습니다.
- 다음 디렉토리로 이동합니다./etc/broadhop/license 및 라이센스(.lic) 파일의 출력을 캡처합니다.(예: cat /etc/broadhop/license/QUANTUM201311210402429360.lic).
시스템 통계
- 시스템 통계를 캡처합니다(예:CPU, 메모리, 디스크 사용률).
- PCRF 클라이언트 가상 머신에 로그인하여 출력을 수집합니다.예: /opt/broadhop/control/top_qps.sh
- pcrfclient0x, lb0x, qns0x와 같은 가상 머신에 로그인하고 다음 시스템 통계를 캡처합니다.
cat /proc/meminfo > 할당된 메모리 정보
사용 가능한 -s 60 > 1분마다 메모리 통계
vmstat 1 > 1분마다 CPU 상태
ps -보조 | head -10 > Top 10 process details(상위 10개 프로세스 세부사항) - 대부분의 CPU 사용률을 사용합니다.
swapon -s > 디바이스당 스왑 사용량 요약
.두개 | 정렬 -n -r | head -n 10 > Top 10 files/directories usage more space(더 많은 공간을 사용하는 상위 10개 파일/디렉토리)
- sessionmgr 가상 컴퓨터에 로그인하여 mongostat 및 mongotop의 출력을 수집하여 문제가 데이터베이스와 관련되었는지 여부를 해결하는 데 도움이 됩니다.
정책 작성기의 스레드 구성
정책 작성기에 로그인하고 Reference Data(참조 데이터) > System-1 > Plugin Configurations(플러그인 구성) > Threading Configuration(스레딩 구성)으로 이동합니다.
스레드 수는 TPS의 경우 40~50개 사이이지만 1,000개 미만입니다. 구성할 수 있는 최대 스레드 수는 50개입니다. 스레드 수를 늘리면 시스템 성능에 영향을 줍니다.
치명적인 오류 로그
시스템 오류가 발생하면 QPS는 치명적인 오류가 발생한 당시의 프로세스 상태를 포함하는 치명적인 오류 로그를 생성합니다.치명적인 오류 또는 치명적인 예외 오류로 인해 프로그램이 중단됩니다.
치명적인 오류 로그에는 다음 정보가 포함됩니다.
- 치명적 오류를 발생시킨 작동 예외 또는 신호
- 버전 및 구성 정보
- 심각한 오류 및 스레드의 스택 추적을 유발한 스레드의 세부 정보
- 실행 중인 스레드 목록 및 상태
- 힙에 대한 요약 정보
- 로드된 네이티브 라이브러리 목록
- 명령줄 인수
- 환경 변수
- 운영 체제(OS) 및 CPU(중앙 처리 장치)에 대한 세부 정보
기본 로그 파일 이름은 다음 형식을 따릅니다. hs_err_pid<pid>.log이며 해당 Java 프로세스가 시작된 작업 디렉토리에서 생성됩니다.예:사용자가 QNS 프로세스를 시작할 때 사용자의 작업 디렉토리입니다.
작업 디렉토리를 모르는 경우 시스템에서 hs_err_pid*.log라는 파일을 검색하고 오류가 발생했을 때 일치하는 시간을 확인합니다.
치명적인 오류의 위치를 지정하려면 다음 단계를 완료하십시오.
- pcrfclient01 가상 컴퓨터에 로그인
- jvm.conf(예: vi /etc/broadhop/pcrf/jvm.conf)을 엽니다.
- 옵션을 추가합니다. -XX:ErrorFile=<directory>/<file-name>%p.log를 목록에 추가하고 지정한 디렉터리 경로가 있는지, 사용자 QNS에 해당 디렉터리에 대한 전체 권한이 있는지 확인하십시오. 예: -X:ErrorFile=/home/qns/fatal_error%p.log
- "syncconfig.sh" 명령은 pcrfclient01:/etc/broadhop의 conf 파일이 QNS 서비스를 실행하는 VM의 /etc/broadhop에 있는 conf 파일과 동기화되지 않은 경우 많은 문제를 일으킬 수 있습니다.syncconfig.sh는 pcrfclient01:/etc/broadhop conf 파일을 가져와서 QNS를 실행하는 VM의 /etc/broadhop에 conf 파일을 덮어씁니다.
경고:synconfig.sh 명령은 pcrfclient01:/etc/broadhop conf 파일을 가져오고 QNS 서비스를 실행하는 가상 시스템(예: iomgr01, iomgr02, qns01, qns02 등)의/etc/broadhop에 있는 모든 conf 파일을 덮어씁니다.
- QNS 애플리케이션을 다시 시작하고 restart.sh 명령을 입력합니다.