Configuration in Splunk/Splunk .conf 파일 우선순위/Splunk 구성파일

Munang·2023년 12월 20일
1

splunk

목록 보기
33/57
post-custom-banner

오늘은 Splunk를 사용한다면 가장 많이 접근하게 되는 .conf 구성 파일의 우선 순위를 알아볼 것 이다. local, default 등의 디렉토리가 나오는데 사용하다 보면 헷갈려서 정리해두는게 좋을 것 같다.

그림정보와 내용은 유튜브와 공식 홈페이지를 참고하였다.

1. Splunk 구성 파일

splunk 에서 구성 파일은 다음과 같은 설정을 지정할 때에 사용된다.

  • 환경 설정
  • 인증 및 인가 정보
  • 인덱스 관련 설정
  • 배포 및 클러스터 구성
  • Knowledge 개체 및 저장된 검색

이러한 구성 파일은 한 곳에만 있는 것이 아니다. 기본 경로, 사용자 경로 등에 따라 여러개로 나뉘게 되는데 어떠한 종류가 있는지 알아볼 것 이다.

2. Splunk 구성 파일 디렉터리

구성 파일의 종류는 위의 그림과 같다.

1) 디렉토리 종류

먼저 상위 디렉토리 종류 별로 나타내면 총 3가지 디렉토리에 구성 파일이 존재한다.

  1. system: system level의 모든 conf 파일을 가지고 있다.
  2. users: user level의 모든 conf 파일을 가지고 있다.
  3. apps: app level의 모든 conf 파일을 가지고 있다.

그 다음 상위 디렉토리 하위에는 default, local 디렉토리로 나뉘어지게 되는데 이는 말 그대로 default한 설정이냐? 사용자 혹은 관리자에 따라 변경된 local 설정이냐? 라고 해석해도 좋을 것 같다.

  1. default: 최초 설치 시 구성되는 설정(노란색)
  2. local: 사용하면서 변경된 설정(연두색)

2) 주로 사용하는 구성파일 디렉토리

  • 우리가 Splunk 인스턴스를 설치하였을 때 가장 기본적으로 구성되는 conf 파일은 $SPLUNK_HOME/etc/system/default 경로에 위치해 있다.
  • Splunk 공홈에서는 위의 경로 하위의 conf 파일은 편집을 하면 안된다고 나와있다. 왜냐면 업그레이드를 하게 될 경우, 해당 폴더의 내용을 덮어쓰며 내가 편집했던 내용이 모두 폐기 되기 때문이다.
  • 수정된 설정을 유지하려면, $SPLUNK_HOME/etc/system/local, $SPLUNK_HOME/etc/apps/$app_name/local 경로에 설정 값을 저장하면 되고, 우리는 주로 이 디렉토리의 파일을 수정한다.

3. 구성 파일 우선 순위

위와 같이 여러 디렉토리에 구성 파일이 존재하는데, 실제 날리지 오브젝트나 보고서 등이 실행될 때에는 여러 구성 파일이 덮어씌워지면서 설정이 최종적으로 결정된다. 이 덮어씌워지는 순서에 따라서 최종 설정이 바뀌게 되는데, 이 순서 또한 글로벌이냐 인덱서 클러스터냐 앱 또는 사용자가 소유한 오브젝트냐에 따라 달라진다.

1) GLOBAL context에서 구성 파일 우선순위

Global context는 다음의 행위를 일컫는다. (참고자료)

  • 데이터를 Indexing 할 때 (수집): 기본 필드 추출, 기본 호스트 할당, 인덱스 시간 추출, 타임스탬프 및 개행처리 와같은 프로세스

위와 같은 실행에서는 다음과 같은 우선순위가 적용된다.

  • 앱의 이름이 충돌하면 네임 순으로 실행된다.

2) Indexer Cluster Peer 에서 우선순위

인덱서 클러스터링을 설정하게 되면, 피어 노드 전체에서 구성을 일관되게 유지해야 하는데 이를 위해 구성파일이 클러스터 관리자 노드에서 관리된다. 관리자 노드는 배포해야 할 설정 파일을 peer-app 경로 하위에 두고, 이를 배포한다. 이때 다음과 같은 우선 순위가 적용된다.

(이부분은 영상에서 다루지 않아서 일부 그림을 편집 했는데, unix 부분은 나와있지 않으나 전체 설정의 흐름상 아래의 그림 순일 것으로 추정된다.)

3) 앱 또는 사용자 실행에서 우선순위

앱 또는 사용자 실행이 되는 경우는 아래의 경우이다.

  • 검색 실행 시, 검색시간 필드 추출, 필드 alias 추출, 태그 추출, 이벤트 타입 추출 프로세스, 세이브 서치 실행 등


** 그림의 예시는 mary라는 사용자가 unix 앱 내에서 실행할 경우의 우선 순위이다. 공식 문서의 순서 가이드는 다음과 같다.

  1. 현재 사용자에 대한 사용자 디렉터리 - 가장 높은 우선순위
  2. 현재 실행 중인 앱에 대한 앱 디렉터리(local->default 순)
  3. 다른 모든 앱에 대한 앱 디렉터리(local->default 순) - 내보낸 설정에만 해당
  4. 시스템 디렉터리(local->default 순) - 가장 낮은 우선순위

4. 구성파일 우선 순위 예시

  • 위의 설정 파일이 글로벌 혹은 인덱서 클러스터링이라고 가정한다.
  • 우선순위는 SPLUNK_HOME/etc/system/local/ 이 가장 높기 때문에 가장 마지막에 덮인다.
  • 먼저 SPLUNK_HOME/etc/apps/search/local/ 의 설정이 저장되고, 이후에 SPLUNK_HOME/etc/system/local/ 설정이 덮여 씌인다. 따라서 b 스탠자의 x 값은 x=0으로 끝나게 된다.

이것으로 구성설정 파일의 종류와 우선순위를 알아보았다. 끝이다.

post-custom-banner

1개의 댓글

comment-user-thumbnail
2023년 12월 21일

끝이다.

답글 달기