EventGen | Global Settings
본문 바로가기

Splunk/Splunk Dev

EventGen | Global Settings

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