안녕 윤,
Microsoft Windows 포럼에 질문을 올려주셔서 감사합니다!
이슈 설명에 근거해 있습니다. 자, 그렇군요! 이 현상에 대한 그럴듯한 설명은, Splunk 인덱서의 파싱 큐가 100% 용량에 도달하면 역압 메커니즘이 작동하기 때문입니다. 이 메커니즘은 수신 네트워크 스레드가 들어오는 데이터를 받지 못하게 막아, 파이프라인을 유니버설 포워더의 출력 큐로 '버블업'하게 만듭니다. 포워더의 큐가 가득 차면 데이터 손실을 막기 위해 로그 전송이 일시적으로 멈추고, 인제스팅 공백이 발생합니다.
기본적으로 Splunk 인덱서는 단일 파이프라인 세트를 실행하며(단일 스레드 경로에서 파싱, 타이핑, 인덱싱을 순차적으로 처리합니다). 이를 확장하려면 Parallel Ingestion Pipelines를 구성하여 독립적인 파이프라인 세트를 생성할 수 있습니다. 각 파이프라인은 전용 파싱 큐와 워커 스레드를 가지고 있습니다. 이를 가능하게 하려면, [일반 사항] parallelIngestionPipelines의 경우 인덱서의 stanza 아래 server.conf를 1에서 2로 업데이트하세요
하지만 parallelIngestionPipelines를 늘리기 전에 다음 사항들을 고려할 가치가 있습니다.
- 각 추가 파이프라인 세트는 상당한 자원을 소모하기 때문입니다. 예를 들어, 2 값으로 이동하려면 일반적으로 4개에서 6개의 CPU 코어와 인덱서당 약 300에서 400 IOPS가 필요합니다. 하드웨어가 이미 CPU나 디스크 수준에서 병목 현상이 되지 않았는지 확인하세요.
- 파싱과 인덱싱이 더 많은 CPU 코어를 소모하기 때문에, 동시에 사용자 검색에 사용할 수 있는 코어 수가 줄어듭니다.
- Splunk Professional Services에서 명시적으로 별도의 권고를 하지 않는 한, parallelIngestionPipelines는 최대 2로 설정하거나 엄격한 용량 계획이 지원되는 경우가 한합니다. 높은 값은 코어 경쟁과 스토리지 I/O 제한으로 인해 수익이 점점 줄어드는 경우가 많습니다.
위 정보가 도움이 되길 바랍니다!