Splunk tstats 에 관해

Munang·2023년 12월 18일
2

splunk

목록 보기
31/52

오늘은 tstats에 관해 알아본다.

1. tstats란?

tsidx 파일의 통계수행을 위한 전용 커맨드이다. 기능은 stats와 유사하지만 훨씬 더 효율 적이다.

2. tsidx란?

tsidx는 timeseriesindex 이다. tsidx는 데이터의 각 고유 키워드를 원시 데이터에 저장되는 이벤트의 위치값과 함께 연결한다. 원시 데이터파일과 tsidx 파일이 함께 인덱스 버킷을 구성하게 된다. 이렇게 말하면 무슨 말인지 모른다. 따라서 아래의 그림을 보면서 Splunk 검색이 어떻게 되는지 먼저 알아야 한다!

참고 파일 을 확인해보면 좋다.

1) 검색이 이뤄지는 과정

  • index=world name=waldo 라는 검색을 실행한다.
  • Splunk에서는 waldo라는 단어를 해시값으로 변경한다. 이후 블루밍 필터를 생성한다. (= waldo라는 단어가 존재하는지 확인하는 필터를 만든다.)
    * Bloom Filter: Bloom Filter는 빅데이터 플랫폼에 주로 사용되는 방법으로 특정 대상을 검색할때 전체 집합 속 데이터의 존재 여부를 알려준다. 없는 것을 빨리 찾아주기 때문에 불필요한 검색을 줄여준다.
  • world 인덱스를 찾아서 검색할 버킷을 찾는다.
  • 앞서 만들었던 Bloom Filter를 각 버킷의 Bloom Filter와 대조한다.
    * 필터를 통해 waldo라는 단어가 포함된 버킷만 추출하게 된다. (그림에서는 4->5의 과정이다.)
  • 버킷은 tsidx와 journal.gz로 이뤄져 있는데, tsidx에는 waldo라는 키워드가 저장되는 이벤트의 위치값과 함께 연결되어있다.
  • tsidx에서 waldo라는 키워드와 매칭된 원시 데이터의 위치 값을 찾아 journal.gz에서 데이터를 가져온다.

가 검색이 이뤄지는 과정이다. 위의 과정을 확인해보면 tsidx는 각 키워드와 그 키워드의 원시데이터가 저장된 위치값이 저장된 인덱스 파일이라는 말이 자연스럽게 납득된다.

이러한 tsidx는 인덱싱된 데이터나 가속 데이터 모델을 사용하면 생성된다. 우리가 데이터 모델을 가속화 하여 효과를 볼 수 있는 이유는 원시 데이터를 보지 않고, tsidx를 검색하여 결과를 얻기 때문이다.

tstats는 이러한 tsidx를 통계검색하기 위한 커맨드이다.

3. 사용법

| tstats 통계함수 where index=index_name by field (1)
or
| tstats 통계함수 from datamodel=datamodel_name(가속화되어있어야함)

이렇게 사용하면 된다. 헷갈릴 수 있어서 이것을 자주 사용하는 stats 커맨드로 바꿔서 봐보면 다음과 같다.

index=index_name | stats 통계함수 by field (1)

위의 (1)과 아래의 (1)은 같은 기능이다.

1) 통계함수

통계함수는 공식 사이트에서는 다음과 같이 지원이 된다.

2) 옵션

  • allowed_old_summaries: true로 하면 데이터 모델 정의를 변경하기 이전에 생성된 요약데이터까지 모두 사용한다. 디폴트는 false로 되어있다.
  • chunked_size: splunk가 검색 시, 단일 파일에서 한번에 검색되는 이벤트 수를 제어한다. tstats에서 너무 많은 메모리를 사용할 경우를 대비하기 위해 사용한다. 보통 값이 여러 종류인 필드를 통계 검색할 때 메모리 소비가 크다. 따라서 chunk size를 낮게하면 tstats의 응답이 빠르게 이뤄지지만 완료되는 최종 속도는 느리게 된다. (조금씩 검색하기 때문)
  • local: 검색이 검색 헤드에서만 실행되도록 해준다.
  • prestats: chart, timechart가 가능한 형태로 변경시켜준다.
  • summarieonly: true로 하게 되면, 현재 데이터 모델의 결과에서 요약된 것만 반환한다. (가속화 되지 않았더라도 사용하고 싶을때 사용한다.)

4. 예시

splunk 사이트는 splunk bots에서 제공하는 apthunting.splunk.show 서버를 사용했다.

끝이다.

profile
Moonlilght

2개의 댓글

comment-user-thumbnail
2023년 12월 21일

splunk 검색하면 munang님 블로그만 뜨네요 오늘도 잘보고갑니다!!

답글 달기
comment-user-thumbnail
7일 전

깔끔한 정리 감사합니다 ~

답글 달기