5.0 KiB
5.0 KiB
LogHunter 테스트 가이드
1. 사전 요구사항
| 항목 | 버전 | 확인 명령어 |
|---|---|---|
| Java | 17 이상 | java -version |
| Node.js | 18 이상 | node -v |
| npm | 9 이상 | npm -v |
2. 프로젝트 실행
2-1. Frontend 빌드
cd /Users/coziny/devs/osolit-research/workspace/log-hunter/frontend
# 의존성 설치 (최초 1회)
npm install
# 빌드 (결과물이 ../src/main/resources/static 으로 복사됨)
npm run build
2-2. Backend 실행
cd /Users/coziny/devs/osolit-research/workspace/log-hunter
# Gradle Wrapper로 실행
./gradlew bootRun
2-3. 접속
- 실행 시 브라우저가 자동으로 열림
- 수동 접속: http://localhost:8080
3. 테스트 시나리오
3-1. 패턴 등록 (먼저!)
- 패턴 관리 메뉴 클릭
- + 패턴 추가 클릭
- 샘플 패턴 입력:
| 패턴명 | 정규식 | 심각도 | 컨텍스트 |
|---|---|---|---|
| Exception | Exception|Error |
ERROR | 5 |
| NullPointer | NullPointerException |
CRITICAL | 5 |
| WARN 로그 | \[WARN\] |
WARN | 3 |
| Tomcat 에러 | SEVERE|FATAL |
CRITICAL | 5 |
- 테스트 버튼으로 정규식 검증 가능
3-2. 서버 등록
- 서버 관리 메뉴 클릭
- + 서버 추가 클릭
- 서버 정보 입력:
비밀번호 인증 예시:
서버명: 운영서버1
호스트: 192.168.1.100
포트: 22
사용자명: username
인증방식: 비밀번호
비밀번호: ********
키파일 인증 예시:
서버명: 개발서버
호스트: 10.0.0.50
포트: 22
사용자명: deploy
인증방식: 키 파일
키 파일 경로: C:\Users\사용자\.ssh\id_rsa
Passphrase: (없으면 비워둠)
- 테스트 버튼으로 연결 확인
3-3. 로그 경로 등록
- 서버 목록에서 경로 버튼 클릭
- 로그 경로 추가:
| 경로 | 파일 패턴 | 설명 |
|---|---|---|
/var/log/tomcat/ |
catalina.*.log |
Tomcat 로그 |
/var/log/ |
*.log |
시스템 로그 |
/app/logs/ |
application-*.log |
애플리케이션 로그 |
3-4. 분석 실행
- 대시보드 메뉴 클릭
- 개별 서버 분석 실행 또는 전체 분석 실행
- 진행상황 확인 (프로그레스 바)
- 완료 후 에러 이력에서 결과 확인
3-5. 결과 확인 및 내보내기
- 에러 이력 메뉴 클릭
- 필터로 검색 (서버, 심각도, 기간 등)
- 상세 버튼으로 컨텍스트 확인
- HTML 내보내기 또는 TXT 내보내기
4. 단일 JAR 빌드
4-1. 전체 빌드 (Frontend + Backend)
cd /Users/coziny/devs/osolit-research/workspace/log-hunter
# Frontend 빌드
cd frontend && npm run build && cd ..
# JAR 빌드
./gradlew clean bootJar
4-2. 빌드 결과
build/libs/log-hunter-0.0.1-SNAPSHOT.jar
4-3. JAR 실행
java -jar build/libs/log-hunter-0.0.1-SNAPSHOT.jar
5. Windows 실행 스크립트
run.bat 생성
@echo off
title LogHunter
echo LogHunter 시작 중...
java -jar log-hunter.jar
pause
배포 폴더 구조
LogHunter/
├── log-hunter.jar
├── run.bat
└── data/ <- 자동 생성됨 (SQLite DB)
6. 트러블슈팅
포트 충돌 (8080 사용 중)
# application.yml에서 포트 변경
server:
port: 9090
또는 실행 시 지정:
java -jar log-hunter.jar --server.port=9090
SFTP 연결 실패
- 호스트/포트 확인
- 방화벽 확인 (22번 포트)
- 사용자명/비밀번호 확인
- 키파일 경로 확인 (Windows:
C:\Users\..., 절대경로)
한글 깨짐
- 로그 파일 인코딩이 UTF-8인지 확인
- 필요시 서버에서
file -i 파일명으로 인코딩 확인
DB 초기화 (데이터 삭제)
# data 폴더의 DB 파일 삭제
rm -rf data/loghunter.db
7. 개발 모드 (Hot Reload)
Frontend 개발 서버
cd frontend
npm run dev
- http://localhost:5173 에서 실행
- API 프록시 설정으로 백엔드(8080)와 연동됨
Backend만 재시작
./gradlew bootRun
8. API 테스트 (curl 예시)
# 서버 목록 조회
curl http://localhost:8080/api/servers
# 패턴 목록 조회
curl http://localhost:8080/api/patterns
# 연결 테스트
curl -X POST http://localhost:8080/api/servers/1/test-connection
# 스캔 실행 (동기)
curl -X POST http://localhost:8080/api/scan/execute/1
# 에러 로그 검색
curl "http://localhost:8080/api/error-logs?page=0&size=10"
체크리스트
- Java 17+ 설치 확인
- Node.js 18+ 설치 확인
- Frontend 빌드 완료 (2025-01-06 19:23 확인)
- Backend 실행 성공 (2025-01-06 19:23 확인)
- 브라우저 접속 확인 (localhost:8080)
- 패턴 등록
- 서버 등록
- 연결 테스트 성공
- 로그 경로 등록
- 분석 실행
- 에러 검출 확인
- 내보내기 테스트