feat: merge Xid-Catalog.xlsx, fix dmesg regex, and improve history UI

This commit is contained in:
unknown
2026-06-24 14:43:05 +09:00
commit 59e3a62ee5
13 changed files with 3913 additions and 0 deletions
+79
View File
@@ -0,0 +1,79 @@
# NV-Log Analyzer
NVIDIA Bug Report 로그 자가 진단 서비스
`nvidia-bug-report.log.gz` 파일을 업로드하면 XID 에러, GPU 상태, 커널 로그를 자동 분석하여 권장 조치를 안내합니다.
## 주요 기능
- **XID 에러 탐지**: `NVRM: Xid` 패턴 자동 검출 + 에러 코드별 한글 권장 조치 제공
- **GPU 헬스 체크**: 온도, 전력, ECC 에러, 메모리 상태 요약
- **커널 로그 필터링**: dmesg 내 Critical, Error, OOM, PCIe 에러 추출
- **원본 로그 검색**: 키워드 기반 로그 검색 기능
- **XID 코드 조회**: 사이드바에서 XID 번호로 즉시 의미 확인
## 빠른 시작
### 방법 1: 로컬 실행
```bash
pip install -r requirements.txt
streamlit run app.py
```
브라우저에서 `http://localhost:8501` 접속
### 방법 2: Docker
```bash
docker-compose up -d
```
브라우저에서 `http://localhost:8501` 접속
## 프로젝트 구조
```
nvidia/
├── app.py # Streamlit 대시보드 (메인 UI)
├── log_parser.py # 핵심 분석 엔진
├── data/
│ └── xid_database.json # XID 에러 코드 매핑 DB (18종)
├── requirements.txt
├── Dockerfile
├── docker-compose.yml
└── README.md
```
## 분석 대상 로그 생성 방법
GPU 서버에서 아래 명령 실행:
```bash
sudo nvidia-bug-report.sh
```
생성된 `nvidia-bug-report.log.gz` 파일을 웹 대시보드에 업로드하면 됩니다.
## 지원하는 XID 코드
| XID | 이름 | 심각도 |
|-----|------|--------|
| 8 | GPU Stopped Responding | 심각 |
| 13 | Graphics Engine Exception | 심각 |
| 31 | GPU Memory Page Fault | 심각 |
| 32 | Invalid Push Buffer | 경고 |
| 38 | Driver Firmware Mismatch | 경고 |
| 43 | GPU Stopped Processing | 심각 |
| 45 | GPU Preemption Failure | 경고 |
| 48 | Double Bit ECC Error | 심각 |
| 61 | GPU Fallen Off the Bus | 심각 |
| 62 | GPU ECC Page Retirement | 경고 |
| 63 | ECC Page Retirement: Double Bit | 심각 |
| 64 | ECC Page Retirement Failure | 심각 |
| 69 | GPU Access to System Memory Failed | 경고 |
| 79 | GPU Fallen Off the Bus (Fatal) | 심각 |
| 92 | High Single-bit ECC Error Rate | 경고 |
| 94 | Contained ECC Error | 정보 |
| 95 | Uncontained ECC Error | 심각 |
| 119 | GPU Recovery Action | 정보 |