📂
디렉토리 구조 완전 해설
Splunk Enterprise 10.4.0 기준. $SPLUNK_HOME 전체 디렉토리 트리, etc/ 설정 파일 구조, 인덱스 버킷 생명주기, 앱 구조, 설정 우선순위, 주요 conf 파일 위치까지 한눈에 정리.
Enterprise 10.4.09.0+ 디렉토리 변경 반영공식 Docs 기준
핵심 환경 변수splunk-launch.conf에서 설정
SPLUNK_HOMESplunk 설치 경로
/opt/splunkSPLUNK_DB인덱스 데이터 저장 루트. 기본값: $SPLUNK_HOME/var/lib/splunk
/data/splunkSPLUNK_ETC설정 파일 루트. 기본값: $SPLUNK_HOME/etc
/opt/splunk/etcSPLUNK_SERVER_NAME이 Splunk 인스턴스의 서버명 (server.conf의 serverName)
indexer-01SPLUNK_BINDIPsplunkd가 바인딩할 IP 주소 (다중 NIC 환경)
0.0.0.0SPLUNKD_OPTIONSsplunkd 시작 옵션 추가
--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/ 자동 이름 변경됨. 이전 이름도 하위 호환 지원.