📂

디렉토리 구조 완전 해설

Splunk Enterprise 10.4.0 기준. $SPLUNK_HOME 전체 디렉토리 트리, etc/ 설정 파일 구조, 인덱스 버킷 생명주기, 앱 구조, 설정 우선순위, 주요 conf 파일 위치까지 한눈에 정리.

Enterprise 10.4.09.0+ 디렉토리 변경 반영공식 Docs 기준
핵심 환경 변수splunk-launch.conf에서 설정
SPLUNK_HOME
Splunk 설치 경로
/opt/splunk
SPLUNK_DB
인덱스 데이터 저장 루트. 기본값: $SPLUNK_HOME/var/lib/splunk
/data/splunk
SPLUNK_ETC
설정 파일 루트. 기본값: $SPLUNK_HOME/etc
/opt/splunk/etc
SPLUNK_SERVER_NAME
이 Splunk 인스턴스의 서버명 (server.conf의 serverName)
indexer-01
SPLUNK_BINDIP
splunkd가 바인딩할 IP 주소 (다중 NIC 환경)
0.0.0.0
SPLUNKD_OPTIONS
splunkd 시작 옵션 추가
--minfreemb 500

기본 설치 경로: /opt/splunk (TGZ/RPM 설치 기준. 설치 방식/OS에 따라 다를 수 있음)

9.0+ 변경: master-apps/manager-apps/, slave-apps/peer-apps/ (이전 이름도 하위 호환)

$SPLUNK_HOME 전체 디렉토리 트리Enterprise 10.4.0
$SPLUNK_HOME/                          ← 기본: /opt/splunk
├── bin/                             ← CLI 실행 파일
│   ├── splunk                       ← 메인 실행 파일 (CLI)
│   ├── splunkd                      ← 서버 데몬 (직접 실행 X)
│   └── python3.9                    ← 내장 Python (10.x 기준)
│
├── etc/                             ← 모든 설정 파일의 루트
│   ├── system/
│   │   ├── default/                 ← Splunk 내장 기본값 (절대 수정 금지)
│   │   │   ├── props.conf
│   │   │   ├── transforms.conf
│   │   │   ├── inputs.conf
│   │   │   ├── outputs.conf
│   │   │   ├── indexes.conf
│   │   │   ├── limits.conf
│   │   │   ├── server.conf
│   │   │   ├── web.conf
│   │   │   └── ...
│   │   └── local/                   ← 시스템 전역 커스터마이징 (최고 우선순위)
│   │       ├── inputs.conf
│   │       ├── server.conf
│   │       └── user-seed.conf       ← 최초 admin 계정 설정 (시작 후 자동 삭제)
│   │
│   ├── apps/                        ← 설치된 앱들
│   │   ├── search/                  ← 기본 Search 앱 (삭제 금지)
│   │   │   ├── default/
│   │   │   ├── local/
│   │   │   ├── metadata/
│   │   │   │   ├── default.meta
│   │   │   │   └── local.meta
│   │   │   ├── lookups/
│   │   │   └── bin/
│   │   ├── splunk_monitoring_console/
│   │   ├── SplunkEnterpriseSecuritySuite/  ← ES (별도 라이선스)
│   │   └── <custom_app>/            ← 사용자 정의 앱
│   │
│   ├── deployment-apps/             ← Deployment Server가 배포할 앱 소스
│   │   └── <app_to_deploy>/
│   │
│   ├── master-apps/                 ← 인덱서 클러스터 Cluster Manager 배포 소스
│   │   └── <app>/
│   │
│   ├── shcluster/                   ← Search Head Cluster 관련
│   │   ├── apps/                    ← SHC Deployer가 배포할 앱 소스
│   │   └── members/                 ← SHC 멤버 정보
│   │
│   ├── slave-apps/                  ← 인덱서 클러스터 피어(Peer)가 받은 앱
│   │
│   ├── users/                       ← 사용자별 설정 (저장된 검색 등)
│   │   └── admin/
│   │       └── search/local/
│   │
│   ├── auth/                        ← 인증 관련 파일
│   │   ├── ca.pem                   ← CA 인증서
│   │   ├── server.pem               ← 서버 인증서
│   │   └── audit/                   ← 감사 로그 서명 키
│   │
│   └── licenses/                    ← 라이선스 파일
│
├── var/
│   ├── lib/splunk/                  ← 인덱스 데이터 저장 루트 (기본)
│   │   ├── defaultdb/               ← main 인덱스 (기본 인덱스)
│   │   │   ├── db/                  ← Hot/Warm 버킷
│   │   │   ├── colddb/              ← Cold 버킷
│   │   │   └── thaweddb/            ← Thawed(복원) 버킷
│   │   ├── _internal/               ← Splunk 내부 메트릭/이벤트
│   │   ├── _audit/                  ← 감사 로그
│   │   ├── _introspection/          ← 시스템 모니터링
│   │   └── fishbucket/              ← 파일 모니터링 위치 추적 DB (BTree)
│   │
│   ├── log/splunk/                  ← Splunk 내부 로그
│   │   ├── splunkd.log              ← 메인 프로세스 로그
│   │   ├── metrics.log              ← 성능/처리량 지표
│   │   ├── audit.log                ← 보안 감사 로그
│   │   ├── mongod.log               ← KV Store 로그
│   │   ├── scheduler.log            ← 저장된 검색/알림 로그
│   │   └── search_messages.log      ← 검색 관련 메시지
│   │
│   └── run/splunk/                  ← 실행 중 임시 파일
│       ├── splunkd.pid              ← 프로세스 ID 파일
│       ├── dispatch/                ← 실행 중인 검색 작업(Job)
│       └── deployment-client/       ← DS 클라이언트 임시 파일
│
└── openssl/                         ← 내장 OpenSSL

핵심 디렉토리 역할 요약

⚙️bin/

splunk CLI, splunkd 데몬, 내장 Python 위치. $SPLUNK_HOME/bin/splunk 로 모든 CLI 명령 실행.

📁etc/

모든 설정 파일과 앱의 루트. system/, apps/, deployment-apps/, shcluster/ 등 포함.

💾var/lib/splunk/

실제 인덱싱된 데이터 저장소. $SPLUNK_DB 환경변수로 경로 변경 가능. 별도 고용량 스토리지 마운트 권장.

📋var/log/splunk/

splunkd.log, metrics.log, audit.log 등 Splunk 내부 로그. 이 로그들은 _internal 인덱스로 자동 수집됨.

🔄var/run/splunk/

실행 중 임시 파일. dispatch/ (검색 작업), splunkd.pid, deployment-client/ 등.

🔒etc/system/local/

가장 높은 우선순위 설정 위치. 커스터마이징은 여기서. 업그레이드 후에도 유지됨.

Splunk 9.0+ 디렉토리 이름 변경

이전 (8.x)이후 (9.0+)역할위치
etc/master-apps/etc/manager-apps/인덱서 클러스터 Manager가 배포하는 앱 소스Cluster Manager (CM)
etc/slave-apps/etc/peer-apps/CM으로부터 배포받은 앱 (자동 관리)Indexer Peer
💡 9.0 업그레이드 시 slave-apps/ → peer-apps/ 자동 이름 변경됨. 이전 이름도 하위 호환 지원.