Logrange 프로젝트 구조 분석
1. 디렉토리 구성 및 설명
프로젝트의 주요 폴더 구조는 다음과 같습니다:
logrange/
├── api/
├── assets/
├── build/
├── client/
├── cmd/
├── doc/
├── examples/
├── pkg/
├── server/
├── .gitignore
├── .travis.yml
├── LICENSE
├── Makefile
├── README.md
├── go.mod
├── go.sum
├── install
└── version.go
주요 폴더 설명:
- api/: 인터페이스 정의 및 서비스 계약서 보관
- assets/: 정적 파일 및 리소스 저장
- build/: 빌드 프로세스 관련 스크립트
- client/: 클라이언트 모듈 및 설정 파일
- cmd/: 실행 가능한 명령어 및 초기화 스크립트
- doc/: 기술 문서 및 사용 설명서
- examples/: 샘플 코드 및 시나리오
- pkg/: 핵심 로직 및 모듈
- server/: 서버 엔진 및 구성 파일
- .gitignore: 버전 관리 제외 파일 설정
- .travis.yml: 자동 빌드 설정
- LICENSE: 소프트웨어 라이선스 계약
- Makefile: 빌드 및 배포 명령어 정의
- README.md: 프로젝트 개요 및 기초 사용법
- go.mod: 의존성 관리 설정
- go.sum: 의존성 해시 값
- install: 설치 스크립트
- version.go: 버전 정보 저장
2. 실행 파일 구성
명령어 실행 파일은 cmd/ 디렉토리에 위치합니다. 주요 실행 파일은 다음과 같습니다:
- cmd/logrange/: 서버 실행 스크립트
- cmd/lr/: 클라이언트 실행 스크립트
서버 실행 방법
다음 명령어로 서비스를 시작할 수 있습니다:
./cmd/logrange/logrange run --data-path=/var/log --background
클라이언트 실행 방법
다음 명령어로 수집 모듈을 실행할 수 있습니다:
./cmd/lr/lr monitor --target-path=/tmp/data --background
3. 설정 파일 구성
설정 파일은 config/ 디렉토리에 저장됩니다. 주요 설정 파일은 다음과 같습니다:
- config/logrange.yaml: 서버 설정 파일 (데이터 경로, 로그 수준 등)
- config/lr.yaml: 클라이언트 설정 파일 (수집 경로, 서버 주소 등)
설정 파일 예시
# 서버 설정
server:
data-path: /var/log
log-verbosity: debug
# 클라이언트 설정
collector:
target-path: /tmp/logs
remote-host: 127.0.0.1:8080
이 설정 파일을 수정하여 서비스 동작 방식을 커스터마이징할 수 있습니다.