728x90
반응형
Global Configuration Settings
Global 설정은 Eventgen 전체 동작에 영향을 주는 코어 설정이며,
개별 stanza 수준이 아닌 전역 레벨에서만 적용된다.
이 설정들은 Eventgen의 쓰레딩 모델, 큐 처리 방식, 프로파일링 등
성능 및 실행 구조에 영향을 준다.
2.1 threading
threading = thread | process
| 값 | 설명 |
|---|---|
thread |
Python thread 기반 (기본값) |
process |
multiprocessing.Process 기반으로 GIL 회피 |
💬 실사용 해설:
Python은 GIL(Global Interpreter Lock)로 인해 thread 기반 병렬성의 한계가 존재함.
Eventgen이 대량 이벤트 생성 시 CPU bottleneck이 발생할 경우process모드가 유리함.
💥 Splunk ES 적용 팁:
RBA나 Timeline 재현처럼 burst traffic이 필요한 경우process가 더 적합.
2.2 profiler
profiler = true | false
Eventgen 실행 시 Python profiler를 활성화할지 여부
기본값: false
⚙️ 분석 용도:
Synthetic generator를 성능 튜닝할 때 사용되며 일반 운영에서는 비활성 유지 권장.
2.3 useOutputQueue
useOutputQueue = true | false
Output Queue 사용 여부 제어
true: Output queue 사용 (기본값)false: 멀티스레드 출력 허용 시 성능 증가
🔥 핵심 개념:
Output Queue는 reducer 역할을 수행함.
즉, 단일 출력 소켓/파일/FD 대상일 때 흐름 제어(backpressure) 책임을 가짐.
| Output Mode | 추천 설정 | 사유 |
|---|---|---|
| file | true |
단일 파일에 기록되므로 queue 필요 |
| stdout | true |
파이프/리다이렉션 안정성 확보 |
| splunkstream | false |
병렬 전송시 성능 향상 |
| httpevent(HEC) | false |
HEC 병렬 ingest 장점 활용 |
💥 Splunk ES / HEC 기준:
HEC는 indexer-side buffering이 가능하고 N→N ingest 구조를 가짐.
즉, synthetic 공격 재현 시 TPS + throughput 모두 상승.
2.4 outputWorkers
outputWorkers = <int>
Deprecated 예정.
⚠️ 주의:
이 설정은 향후 제거 예정이므로 사용 비권장.
생성 파이프 설계 시useOutputQueue또는 generator workers로 대체하는 것이 맞음.
2.5 generatorWorkers
generatorWorkers = <int>
Generator가 이벤트를 생성하는 병렬 worker 수 설정
기본값: 1
🧠 성능 영향:
각 stanza는 최소 1개의 worker를 점유함.
특히 PCRE 기반 stanza 매칭이 있을 경우 worker 사용량이 증가할 수 있음.
💥 과할당 리스크:
CPU-bound + I/O-bound 혼재 상황에서 generatorWorkers를 과하게 올리면
OS context switching 오버헤드 발생 → 실제 throughput 저하 가능.
2.6 Global 설정 정리 요약
| 옵션 | 기본 | 목적 | 환경 추천 |
|---|---|---|---|
| threading | thread | 병렬 모델 | process (ES 시연) |
| useOutputQueue | true | 출력 제어 | false (HEC) |
| profiler | false | 성능 분석 | false |
| generatorWorkers | 1 | 생성 worker | 2~4 (CPU 기준) |
2.7 Global 설정 Best Practice (ES + 공격 재현 기준)
[global]
threading = process
useOutputQueue = false
generatorWorkers = 4
🔥 이 설정이 좋은 이유:
RBA 기반 공격 시나리오 재현 시 다음 목적을 모두 달성함:
✓ burst traffic 생성
✓ 지연 없는 timeline 이벤트 흐름
✓ HEC를 통한 N:1 ingest
✓ Indexer-side buffering 활용
728x90
반응형
'Splunk > Splunk Dev' 카테고리의 다른 글
| EventGen | Rater Settings (0) | 2026.01.27 |
|---|---|
| EventGen | Stanza Configuration Settings (0) | 2026.01.27 |
| EventGen | Config 기본 개념 & Stanza (0) | 2026.01.27 |
| EventGen | EventGen 설정 방법 소개 (0) | 2026.01.27 |
| EventGen | EventGen 이란? (0) | 2026.01.27 |