2022. 9. 25. 20:59ㆍ빅데이터 분석/Splunk
Storage engine migration recommended
If your instance uses the MMAPv1 storage engind, migrate your KV store to the WiredTiger storage engine to significantly reduce the amount of storage you need and to improve performance. To check your environment's storage engine use the 'show kvstore-status' command.
The WiredTiger storage engine will be a prerequisite for all Splunk Enterprise versions released in 2022 and later. This message is only visible to Splunk Admins.
Splunk에서 KV store의 성능 향상을 위해서는 WiredTiger로의 migration이 권장되니 수행하는 내용이다.
우선 KV store란 무엇일까?
KV store는 Splunk 6.2 버전에서부터 등장했으며 Splunk 내부의 여러 작업을 수행하는데 사용되며 MongoDB로 구현되어 있다.
>> 작업 대기열을 제어
>> UI 세션을 관리하기 위해 사용자 또는 애플리케이션 상태를 저장
>> 사용자 메타데이터를 저장
>> Splunk 또는 외부 데이터 저장소의 검색 쿼리 결과 캐싱
>> 그 외
예를 들자면, CSV 파일에 대해 룩업 정의를 지정한 경우 KV store를 이용하여 작업을 수행한다.
자동룩업 기능을 사용하려면 룩업 정의 기능을 그냥 지나칠 수가 없다.
MongoDB의 엔진인 MMAPv1과 WiredTiger는 무슨 차이가 있을까?
참고1) https://nicewoong.github.io/development/2018/02/10/mongodb-internal/
참고2) https://www.vembu.com/blog/mongodb-mmap-vs-wiredtiger-comprehensive-comparison/
참고3) https://www.percona.com/blog/2019/01/03/mongodb-engines-mmapv1-vs-wiredtiger/
참고4) https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=sealriel&logNo=220588999926
MMAPv1
>> 버퍼가 아닌 가상 메모리 공간인 page에 파일을 불러온다. 파일 I/O 함수를 사용하지 않기 때문에 파일 디스크립터나 파일 구조체 포인터 방식에 비해 처리량과 속도가 빨라진다.
>> 컬렉션 수준의 암호화 지원
>> 데이터 압축 기능 미지원
>> RAM 크기를 늘리면 페이지 오류 수가 줄어들어 성능이 향상되나 CPU 코어 추가에는 성능 차이 없음
>> MongoDB 3.0 버전까지 사용
WiredTiger
>> 데이터 압축 및 데이터 암호화 기능을 지원한다.
>> 문서 수준의 암호화 지원 + 체크포인트를 이용한 롤백 지원
>> 데이터 압축 기능 지원 (Snappy compression방식 / Zlib 방식)
>> 멀티스레딩을 사용할 수 있으므로 멀티 코어 CPU에서 더 나은 성능
>> MongoDB 3.2 버전부터 사용
Splunk에서 WiredTiger 엔진으로의 migration은 어떻게 수행할까?
참고) https://docs.splunk.com/Documentation/Splunk/8.2.5/Admin/MigrateKVstore
1. Splunk 설치 후 실행 이전에 KV store migration 진행
2. 8.0 이하 버전인 Standaolne 아키텍처에서 8.1 또는 8.2 버전으로 업그레이드 중 KV store migration 동시 진행
3. 8.1 또는 8.2 버전 이상인 Standaolne 아키텍처에서 KV store migration 진행
4. 8.1 또는 8.2 버전 이상인 clustering 아키텍처에서 KV store migration 진행
우리 프로젝트에서는 3번에 해당하는 방법을 진행했다.
1. splunk 중지
[splunk@host ~]# $SPLUNK_HOME/bin/splunk stop
2. server.conf 파일 열기
[splunk@host ~]# vi $SPLUNK_HOME/etc/system/local/server.conf
3. server.conf 파일 편집 (스탠자가 없으면 새로 작성)
[kvstore]
storageEngineMigration=true
4. 터미널을 추가로 연 뒤 migration 상태를 확인하기 위해 mongod.log 파일을 실시간 출력
[splunk@host ~]# tail -f $SPLUNK_HOME/var/log/splunk/mongod.log
5. migration 실행을 위한 명령어 입력
[splunk@host ~]# splunk migrate kvstore-storage-engine --target-engine wiredTiger
'빅데이터 분석 > Splunk' 카테고리의 다른 글
[Splunk] 스플렁크 작업 이력 검색하기 (0) | 2022.09.27 |
---|---|
[Splunk] 데이터 품질 점검하기 (0) | 2022.09.27 |
[Splunk] DB Connect로 데이터 연동하기 (db_inputs.conf) (0) | 2022.09.07 |
[Splunk] DB Connect 3.9.0 에서의 JDBC (0) | 2022.09.05 |
[Splunk] 스플렁크에서 MariaDB 데이터 연동하기 (DB Connect) (0) | 2022.08.29 |