Splunk eventtype, 이벤트 타입, 스플렁크 이벤트 타입, 이벤트 타입의 모든 것

Munang·2022년 10월 29일
2

splunk

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

오늘은 splunk 이벤트 타입에 관하여 포스팅한다.
유튜브를 참고, 공식문서를 참고했다. 첨부된 그림은 공식 문서 그림과 내가 직접 실습한 화면의 그림을 섞어 첨부했다.

1. 개념

  • Eventtype은 스플렁크에서 룩업, 태그와 같은 knowledge object 중 하나이다.
  • Eventtype은 우리가 특정한 이벤트 들을 카테고리처럼 분류하여 볼 수 있게 해준다.
  • 보통 유사한 패턴을 가진 데이터를 찾고, 보고서를 생성할때 많이 활용된다.

1. 검색 시간 및 작업 순서

  • 우리가 어떤 SPL검색을 실행하게 되면, 검색 후 반환된 이벤트에 eventtype을 적용한다.
  • Tag보다 먼저 수행된다. 따라서 이벤트 타입에 정의하는 문자열은 태그를 참조할 수 없다. (이벤트 타입을 정의할 때 태그를 넣을 수 없다는 의미임)
  • 이벤트 타입을 순위로 정렬 후, ASCII 정렬 순서로 정렬 후 가장 처음부터 오는 이벤트 타입부터 실행한다.

2. 이벤트 타입 작동 방식

중요한 부분인데, 나도 몰랐던 부분이다. 이벤트 타입을 상당히 많이 사용하고 있는데 .. 사용하지 않는 이벤트 타입은 지워둬야 겠다.

우리가 successful_purchase 라는 이벤트 타입을 아래와 같이 정의했다고 하자.

sourcetype=access_combined status=200 action=purchase

이렇게 되면, Splunk는 모든 검색마다 successful_purchase 에 해당되는 데이터를 추가로 검색해서 검색 결과에 추가한다. 이것은 successful_purchase와 관련된 검색이 아니어도 항상 실행된다. 따라서 많은 이벤트 타입을 사용하게 되면 성능저하가 발생할 수 있다.

이벤트 타입으로 소비되는 비용을(시간을) 확인하고 싶으면, 검색 이후 작업 검사에서 command.search.typer 라는 항목을 확인하면 된다.


검색 이후, 작업 버튼을 클릭하면 -> 작업 검사 항목이 나온다.
작업 검사에서 command.search.typer 이라는 항목을 찾으면 다음과 같이 소비된 시간, 추가된 이벤트 수에 대해 확인할 수 있다.

-> 시간은 0.68초가 소요되었고, 이벤트 타입을 처리하기 위해 입력, 출력된 데이터 수는 각각 345.012개 이다. 또한, 검색이 실행되는 동안 이벤트 타입이 호출된 횟수는 80번이다.

3. 이벤트 타입 정의 제한사항

이벤트 타입을 정의할 때에 중요한 사항임으로 기억해두자!

1) 파이프 연산자를 포함할 수 없다. 단순 검색만 가능하다.
2) 하위 검색(subsearch)를 포함할 수 없다.
3) savesearch 보고서 이름을 참조하는 경우는 단순 검색으로 처리해야 한다. ( | savedsearch와 같은 커맨드 사용 불가능)

2. 이벤트 타입 생성하기


설정 탭에서 > Event type을 클릭한다.

새 Event type을 클릭한다.


이벤트 타입을 정의한다. 각 항목에 대한 설명은 다음과 같다.

  • 이름: 이벤트 타입의 명칭을 정의한다.

  • 검색 문자열: 이벤트 타입으로 정의할 데이터를 검색하는 문자열을 입력한다.

  • 태그: 이벤트 타입을 태그로 정의할 수 있다.
    예를 들어 status=404 를 Notfound 이벤트 타입으로 정의하고, status=403를 Not Authorization에 대한 이벤트 타입으로 정의 한다.
    두 가지 이벤트 타입에 모두 HTTP client error 라는 태그를 설정하게 되면 이런 검색으로 2가지 이벤트 타입을 모두 검색할 수 있다.

    tag::eventtype=HTTP client error
  • 색상: 색상을 선택하여 해당되는 필드는 색상을 지정해줄 수 있다. (splunk 공식 문서 그림)

  • 우선순위: 검색 시 적용할 우선순위를 선정한다.
    우선순위를 적용하게 되면, 다음과 같이 상위 우선순위가 검색 결과에 먼저 나타난다. (splunk 공식 문서 그림)

3. 이벤트 타입 관련 명령어

1. findtypes

내가 어떠한 검색을 실행 후, 검색으로 반환된 이벤트들에서 이벤트 타입을 추출해주는 명령어가 findtypes 이다. 실제로 실행해보면 다음과 같이 나오게 된다.

검색 문 + findtypes를 하게 되면, 이벤트 타입으로 전환될 수 있는 패턴을 식별하여 보여준다.

4. eventtypes.conf

이벤트 타입을 conf 파일에서도 정의하고 수정할 수 있다.

1. 이벤트 타입 정의

위치는 2가지 경로에 있다.

  • 전역: $SPLUNK_HOME/etc/system/local/
  • 앱 하위: $SPLUNK_HOME/etc/apps/

구성은 다음과 같다.

[$EVENTTYPE] -> 이벤트 타입 명을 지정한다.
disabled = <1|0> -> 활성화/비활성화 여부를 지정한다.
search = <string> -> 이벤트타입에 정의된 검색 문자열이다.
description = <string> -> 사용자가 이벤트 타입에 대해 읽을 수 있는 설명이다.
priority = <integer> -> 우선순위이다.
color = <string> -> 색상이다. 

2. 이벤트 타입 템플릿 정의

템플릿을 정의하게 되면, 정의된 모든 유형이 이벤트 타입으로 정의되기 때문에 정말 필요한 경우가 아니면 사용하지 않는 것이 좋을 것 같다.

[$NAME-%$FIELD%] -> 이벤트 타입 명칭 - 필드
$SEARCH_QUERY -> 검색 문자열

이렇게 템플릿이 구성되어있고 공식 문서의 예시를 보면 다음과 같다.

[cisco-%code%]
검색 = 시스코

이렇게 되면 다음과 같은 이벤트 타입이 생기게 된다.

cisco-432, cisco-433, cisco-43n .. cisco-n..

post-custom-banner

0개의 댓글