오늘은 splunk 이벤트 타입에 관하여 포스팅한다.
유튜브를 참고, 공식문서를 참고했다. 첨부된 그림은 공식 문서 그림과 내가 직접 실습한 화면의 그림을 섞어 첨부했다.
중요한 부분인데, 나도 몰랐던 부분이다. 이벤트 타입을 상당히 많이 사용하고 있는데 .. 사용하지 않는 이벤트 타입은 지워둬야 겠다.
우리가 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번이다.
이벤트 타입을 정의할 때에 중요한 사항임으로 기억해두자!
1) 파이프 연산자를 포함할 수 없다. 단순 검색만 가능하다.
2) 하위 검색(subsearch)를 포함할 수 없다.
3) savesearch 보고서 이름을 참조하는 경우는 단순 검색으로 처리해야 한다. ( | savedsearch와 같은 커맨드 사용 불가능)
설정 탭에서 > Event type을 클릭한다.
새 Event type을 클릭한다.
이벤트 타입을 정의한다. 각 항목에 대한 설명은 다음과 같다.
이름: 이벤트 타입의 명칭을 정의한다.
검색 문자열: 이벤트 타입으로 정의할 데이터를 검색하는 문자열을 입력한다.
태그: 이벤트 타입을 태그로 정의할 수 있다.
예를 들어 status=404 를 Notfound 이벤트 타입으로 정의하고, status=403를 Not Authorization에 대한 이벤트 타입으로 정의 한다.
두 가지 이벤트 타입에 모두 HTTP client error
라는 태그를 설정하게 되면 이런 검색으로 2가지 이벤트 타입을 모두 검색할 수 있다.
tag::eventtype=HTTP client error
색상: 색상을 선택하여 해당되는 필드는 색상을 지정해줄 수 있다. (splunk 공식 문서 그림)
우선순위: 검색 시 적용할 우선순위를 선정한다.
우선순위를 적용하게 되면, 다음과 같이 상위 우선순위가 검색 결과에 먼저 나타난다. (splunk 공식 문서 그림)
내가 어떠한 검색을 실행 후, 검색으로 반환된 이벤트들에서 이벤트 타입을 추출해주는 명령어가 findtypes
이다. 실제로 실행해보면 다음과 같이 나오게 된다.
검색 문 + findtypes를 하게 되면, 이벤트 타입으로 전환될 수 있는 패턴을 식별하여 보여준다.
이벤트 타입을 conf 파일에서도 정의하고 수정할 수 있다.
위치는 2가지 경로에 있다.
구성은 다음과 같다.
[$EVENTTYPE] -> 이벤트 타입 명을 지정한다.
disabled = <1|0> -> 활성화/비활성화 여부를 지정한다.
search = <string> -> 이벤트타입에 정의된 검색 문자열이다.
description = <string> -> 사용자가 이벤트 타입에 대해 읽을 수 있는 설명이다.
priority = <integer> -> 우선순위이다.
color = <string> -> 색상이다.
템플릿을 정의하게 되면, 정의된 모든 유형이 이벤트 타입으로 정의되기 때문에 정말 필요한 경우가 아니면 사용하지 않는 것이 좋을 것 같다.
[$NAME-%$FIELD%] -> 이벤트 타입 명칭 - 필드
$SEARCH_QUERY -> 검색 문자열
이렇게 템플릿이 구성되어있고 공식 문서의 예시를 보면 다음과 같다.
[cisco-%code%]
검색 = 시스코
이렇게 되면 다음과 같은 이벤트 타입이 생기게 된다.
cisco-432, cisco-433, cisco-43n .. cisco-n..