splunk 교육자료 v1.2

67
인텔리안시스템즈 Splunk 6.2.3 사용자 교육

Upload: junmyoung-youn

Post on 07-Aug-2015

517 views

Category:

Data & Analytics


27 download

TRANSCRIPT

Page 1: Splunk 교육자료 v1.2

인텔리안시스템즈

Splunk 6.2.3 사용자 교육

Page 2: Splunk 교육자료 v1.2

2COPYRIGHT ⓒ 2015 Intelliansystems ALL RIGHTS RESERVED.

인텔리안시스템즈강사 소개

인텔리안시스템즈 연 준 명 부장

주 요 이 력

기간 담 당 업 무

2012.02-현재 Splunk 보안 / 빅데이터 컨설팅 및 기술 지원

1999.05-2012.01 SC은행 ITO 업무

주요 업무 – 빅데이터 관련 솔루션 컨설팅, 보안 컨설팅, 금융권 ITO 수행 등

Splunk Architect, CISSP, CISA, CPPG, PMP, MCSE, Splunk User Group 회장

Splunk User Group 네이버 카페 - http://cafe.naver.com/splunker페이스북 - https://www.facebook.com/groups/SplunkKoreaUserGroup/

이메일 – [email protected]

Page 3: Splunk 교육자료 v1.2

3COPYRIGHT ⓒ 2015 Intelliansystems ALL RIGHTS RESERVED.

인텔리안시스템즈

http://ko.splunk.com/download 에서 회원가입 후 최신 버전 다운로드

Splunk 설치 파일 다운로드

Page 4: Splunk 교육자료 v1.2

4COPYRIGHT ⓒ 2015 Intelliansystems ALL RIGHTS RESERVED.

인텔리안시스템즈

윈도우의 경우 실행 파일을 클릭하여 설치

Splunk 설치 - 윈도우

. Check this box to accept the License Agreement 체크 박스에 체크

. Install 버튼을 클릭

. Finish 버튼을 클릭하면 Splunk 초기 화면이 실행됨

Page 5: Splunk 교육자료 v1.2

5COPYRIGHT ⓒ 2015 Intelliansystems ALL RIGHTS RESERVED.

인텔리안시스템즈

설치 파일을 /opt 아래로 복사

tar xvfz splunk_package_name.tgz

설치 옵션들

설치 디렉터리 지정

tar xvzf splunk_package_name.tgz -C /opt

실행하기 - /opt/splunk/bin 으로 이동

./splunk start

라이선스 바로 동의하고 설치하기 옵션

./splunk start --accept-license

서버 부팅 시 자동 실행 옵션 지정

./splunk enable boot-start

Splunk 설치 - 리눅스

Page 6: Splunk 교육자료 v1.2

6COPYRIGHT ⓒ 2015 Intelliansystems ALL RIGHTS RESERVED.

인텔리안시스템즈

시작 -> 모든 프로그램 -> Splunk Enterprise -> Splunk Enterprise

재시작 방법 : 시작 -> 프로그램 및 파일 검색에 “CMD” 입력 -> 엔터

Windows 64bit : cd C:\Program Files \Splunk\bin

Windows 32bit : cd C:\Program Files (x86)\Splunk\bin

스플렁크 시작 명령어를 " splunk.exe restart " 입력

Splunk 시작하기

Page 7: Splunk 교육자료 v1.2

7COPYRIGHT ⓒ 2015 Intelliansystems ALL RIGHTS RESERVED.

인텔리안시스템즈

웹 브라우져로 http://127.0.0.1:8000 혹은 localhost:8000 으로 접근

사용자 "admin"에 암호 "changeme" 로 로그인

Splunk 시작 화면

Page 8: Splunk 교육자료 v1.2

8COPYRIGHT ⓒ 2015 Intelliansystems ALL RIGHTS RESERVED.

인텔리안시스템즈

Admin 계정의 암호 변경, 암호는 반듯이 기억할 것. 초기화 불가

Splunk 관리자 암호 변경

Page 9: Splunk 교육자료 v1.2

9COPYRIGHT ⓒ 2015 Intelliansystems ALL RIGHTS RESERVED.

인텔리안시스템즈

Splunk Manual

• http://docs.splunk.com/Documentation/Splunk/6.2.3/Translated/Koreanmanuals

데이터 파일 다운로드 경로

• http://docs.splunk.com/images/Tutorial/tutorialdata.zip

• http://docs.splunk.com/images/d/db/Prices.csv.zip

데이터 추가하기

1. 좌측 상단의 splunk 로고 클릭하여 홈 화면 이동

2. 상단 메뉴 중에서 “데이터 추가“ 클릭

3. “업로드” 클릭

4. 파일 선택 버튼 클릭 후 다운로드 한 파일(tutorialdata.zip)을 선택

5. 상단의 “다음” 클릭

6. 호스트 설정에서 “경로 내 세그먼트“ 선택 후 세그먼트 번호에 “1” 입력

7. 상단의 “검토"를 클릭

8. 내용 확인 후 상단의 “제출“을 클릭

9. “검색 시작”을 클릭하여 데이터 확인

한글 매뉴얼 및 참고 자료

Page 10: Splunk 교육자료 v1.2

10COPYRIGHT ⓒ 2015 Intelliansystems ALL RIGHTS RESERVED.

인텔리안시스템즈

Splunk 인덱싱 개념

• Splunk는 데이터 자체는 수정하지 않고 데이터 내 단어에 대해 시간 기반 지도를 만들어 원시

데이터를 인덱싱 함

• Splunk 인덱스는 특정 키워드가 있는 페이지를 가리키는 책의 마지막 부분에 있는 인덱스와 유사한

개념

• Splunk에서 대량의 데이터를 검색하려면 데이터를 먼저 인덱스해야 함

splunk 인덱싱

Page 11: Splunk 교육자료 v1.2

11COPYRIGHT ⓒ 2015 Intelliansystems ALL RIGHTS RESERVED.

인텔리안시스템즈

Splunk는 인덱싱 시 source, sourcetype, host, _time 의 4개 필드를 생성함

splunk 인덱싱 시 생성되는 필드

Page 12: Splunk 교육자료 v1.2

12COPYRIGHT ⓒ 2015 Intelliansystems ALL RIGHTS RESERVED.

인텔리안시스템즈

실습을 위해 모든 데이터에 접근 가능하도록 권한 설정

설정 > 엑세스제어 > 역할 > admin에서 “내부 인덱스가 아닌 모든 인덱스”를 추가

인덱스 설정

Page 13: Splunk 교육자료 v1.2

13COPYRIGHT ⓒ 2015 Intelliansystems ALL RIGHTS RESERVED.

인텔리안시스템즈

Splunk 홈 화면은 상단에 Splunk 로고를 클릭했을 때 나타나는 화면으로 아래와 같음

홈 화면 구성

앱 메뉴

데이터 추가, 앱 관리, 도움말, Q&A 메뉴

홈 대시보드 선택 메뉴

Page 14: Splunk 교육자료 v1.2

14COPYRIGHT ⓒ 2015 Intelliansystems ALL RIGHTS RESERVED.

인텔리안시스템즈메뉴 모음 사용

Page 15: Splunk 교육자료 v1.2

15COPYRIGHT ⓒ 2015 Intelliansystems ALL RIGHTS RESERVED.

인텔리안시스템즈

왼쪽 상단 Splunk 로고 옆에 앱 버튼 클릭 -> 검색 및 보고 클릭

• 검색란

• 시간 범위 선택기

• 검색 방법

• 검색할 내용

검색 대시보드

Page 16: Splunk 교육자료 v1.2

16COPYRIGHT ⓒ 2015 Intelliansystems ALL RIGHTS RESERVED.

인텔리안시스템즈

데이터 요약 대화상자

• Host - 이벤트가 발생한 네트워크 시스템의 호스트 이름, IP 주소 또는 완전한 도메인 이름

• Source - 이벤트가 발생한 파일이나 디렉터리 경로, 네트워크 포트 또는 스크립트

• Sourcetype - 일반적인 형식 지정 방식에 기반한 데이터 유형

검색할 내용

Page 17: Splunk 교육자료 v1.2

17COPYRIGHT ⓒ 2015 Intelliansystems ALL RIGHTS RESERVED.

인텔리안시스템즈

검색란에 검색할 내용 및 명령어 입력

• * 입력하기 – 와일드 카드 지원

• 대소문자 구분하지 않음

• Booleans 표현 – 대문자 “AND” , “OR”, “NOT”

• 정확한 단어열은 “” 로 표현하며 복잡한 검색 요건은 “( )”로 그룹화하기

• 실습 – 검색란에 buttercupgames 입력

검색하기

Page 18: Splunk 교육자료 v1.2

18COPYRIGHT ⓒ 2015 Intelliansystems ALL RIGHTS RESERVED.

인텔리안시스템즈

시간 범위 선택기를 사용하여 검색에서 시간 경계를 설정

• 미리 설정 – 실시간, 상대, 전체 시간

• 상대, 실시간, 날짜 범위, 날짜 및 시간 범위, 고급

시간 범위 검색 제한

Page 19: Splunk 교육자료 v1.2

19COPYRIGHT ⓒ 2015 Intelliansystems ALL RIGHTS RESERVED.

인텔리안시스템즈

검색 작업 및 검색 모드로 작업 환경 제어

• 작업 설정 편집, 백그라운드로 작업 보내기, 작업 검사, 작업 삭제

• 검색 모드 – 고속 모드, 스마트 모드, 상세 모드

검색 작업 및 검색 모드

Page 20: Splunk 교육자료 v1.2

20COPYRIGHT ⓒ 2015 Intelliansystems ALL RIGHTS RESERVED.

인텔리안시스템즈

검색 결과에 대한 이벤트, 통계, 시각화 탭

• 이벤트 탭 – 이벤트 시간 표시줄, 필드 사이드바, 결과 영역

• 통계 탭

• 시각화 탭

• 검색란에 “buttercupgames | top categoryid” 입력

검색 결과 탭

Page 21: Splunk 교육자료 v1.2

21COPYRIGHT ⓒ 2015 Intelliansystems ALL RIGHTS RESERVED.

인텔리안시스템즈

검색 결과를 출력, 내보내기, 공유하거나 화면으로 변환

• 다른 이름으로 저장 – 보고서, 대시보드 패널, 경고, 이벤트 유형

• 공유, 내보내기, 인쇄

검색 결과 처리

Page 22: Splunk 교육자료 v1.2

22COPYRIGHT ⓒ 2015 Intelliansystems ALL RIGHTS RESERVED.

인텔리안시스템즈

검색란에 단어를 입력하는 방식으로 쉽게 검색

• 검색란에 “buttercupgames” 입력 – 검색 길잡이 표시

• 그룹화 – “buttercupgames (simulation OR strategy)” 입력

인덱스에서이벤트 검색

Page 23: Splunk 교육자료 v1.2

23COPYRIGHT ⓒ 2015 Intelliansystems ALL RIGHTS RESERVED.

인텔리안시스템즈

고급 검색을 사용하기 위한 필드에 대한 이해

• 필드란? – 대부분 값 또는 이름-값으로, 각 필드에 이름에 대한 단일 값이나 다중 값

• 추출된 필드 – 인덱싱 시 기본 필드 추출, 검색 시 특정 필드 추출

• 특정 필드 검색 – fieldname=“fieldvalue”

• 검색란에 “sourcetype=“access_*”” 입력

• 필드 숨기기, 모든 필드

필드를 사용하여검색

Page 24: Splunk 교육자료 v1.2

24COPYRIGHT ⓒ 2015 Intelliansystems ALL RIGHTS RESERVED.

인텔리안시스템즈

필드를 더 세분화해서 사용하기

Buttercup Games 상점에서 성공적인 구입을 검색

• sourcetype=access_* status=200 action=purchase

• sourcetype=access_* status!=200 action=purchase

일반 오류를 검색

• (error OR failed OR severe) OR (status=404 OR status=500 OR status=503)

어제 팔린 시뮬레이션 게임 수량

• sourcetype=access_* status=200 action=purchase categoryId=simulation

필드를 사용하여검색 실습

Page 25: Splunk 교육자료 v1.2

25COPYRIGHT ⓒ 2015 Intelliansystems ALL RIGHTS RESERVED.

인텔리안시스템즈

검색 언어를 사용하여 원하는 값 찾기

• 검색 길잡이로 배우기

• 통계 탭에서 보고서 보기

• 시각화 탭에서 보고서 보기 및 형식 지정

• sourcetype=access_* status=200 action=purchase | top categoryId

검색 언어 사용

Page 26: Splunk 교육자료 v1.2

26COPYRIGHT ⓒ 2015 Intelliansystems ALL RIGHTS RESERVED.

인텔리안시스템즈

이벤트를 하위 검색과 연결하기

• sourcetype=access_* status=200 action=purchase | top limit=1 clientip

• sourcetype=access_* status=200 action=purchase clientip=87.194.216.51 | stats count,

dc(productId) by clientip

하위 검색을 이용하면

• sourcetype=access_* status=200 action=purchase [search sourcetype=access_* status=200

action=purchase | top limit=1 clientip | table clientip] | stats count, dc(productId),

values(productId) by clientip

• sourcetype=access_* status=200 action=purchase [search sourcetype=access_* status=200

action=purchase | top limit=1 clientip | table clientip] | stats count AS "Total Purchased",

dc(productId) AS "Total Products", values(productId) AS "Products ID" by clientip | rename

clientip AS "VIP Customer"

하위 검색 사용

Page 27: Splunk 교육자료 v1.2

27COPYRIGHT ⓒ 2015 Intelliansystems ALL RIGHTS RESERVED.

인텔리안시스템즈

필드 룩업을 사용하여 새 필드를 이벤트에 추가하기

• prices.csv.zip 파일 압축 풀기

• 오른쪽 상단 설정 -> 지식 -> 룩업 클릭

• 룩업 테이블 파일 업로드

• 룩업 테이블 파일 -> 작업 -> 새로 추가 클릭

• 파일 선택 클릭 -> prices.csv 지정 -> 대상 파일 이름에 “prices.csv” 입력 -> 저장 클릭

필드 룩업 사용

Page 28: Splunk 교육자료 v1.2

28COPYRIGHT ⓒ 2015 Intelliansystems ALL RIGHTS RESERVED.

인텔리안시스템즈

필드 룩업을 사용하여 검색하기

• 필드 룩업 정의

• 룩업 -> 룩업 정의 -> 새로 만들기

• 이름에 “prices_lookup” 입력 -> 유형에 파일 기반 선택 -> 룩업파일에 “prices.csv” 선택 -> 저장

필드 룩업 사용

Page 29: Splunk 교육자료 v1.2

29COPYRIGHT ⓒ 2015 Intelliansystems ALL RIGHTS RESERVED.

인텔리안시스템즈

필드 룩업을 사용하여 검색하기

• 룩업 자동화

• 룩업 -> 자동 룩업 -> 새로 만들기

• 이름에 “price_lookup” 입력 -> 룩업 테이블 “price_lookup” 선택

• 적용 대상에 “sourcetype” 선택, 값에 “access_combined_wcookie” 입력

• 룩업 필드에 productId = productId 입력

• 룩업 출력 필드에 product_name = productName , price = price 입력 -> 저장 클릭

필드 룩업 사용

Page 30: Splunk 교육자료 v1.2

30COPYRIGHT ⓒ 2015 Intelliansystems ALL RIGHTS RESERVED.

인텔리안시스템즈

필드 룩업을 사용하여 검색하기

• 검색 앱에서 “sourcetype=access_*” 입력

• price 및 productName 필드 추가

• 새 룩업 필드를 사용하여 검색

• sourcetype=access_* status=200 action=purchase [search

sourcetype=access_* status=200 action=purchase | top limit=1 clientip | table

clientip] | stats count AS "총 구매금액", dc(productId) AS "총 구매수량",

values(productName) AS "제품명" by clientip | rename clientip AS "VIP 고객"

필드 룩업 사용

Page 31: Splunk 교육자료 v1.2

31COPYRIGHT ⓒ 2015 Intelliansystems ALL RIGHTS RESERVED.

인텔리안시스템즈

Splunk 검색 언어의 구현 형식

검색 파이프 라인

검색 구조

Page 32: Splunk 교육자료 v1.2

32COPYRIGHT ⓒ 2015 Intelliansystems ALL RIGHTS RESERVED.

인텔리안시스템즈

“|” 은 이전의 결과를 다음 명령의 Input으로 사용

아래의 경우 앞의 결과에서 Top 10 클라이언트 IP만 추출

• sourcetype=access_* status=200 action=purchase | top limit=10 clientip

Data의 처리 및 정리

Page 33: Splunk 교육자료 v1.2

33COPYRIGHT ⓒ 2015 Intelliansystems ALL RIGHTS RESERVED.

인텔리안시스템즈

필드 정의 / 데이터 처리

• multikv / eval / strcat / rex

필드 변환

• rename / replace

데이터 필터링

• dedup / regex / search

데이터 정렬

• sort / reverse / head

분석

• stats / chart / timechart

검색 명령어 유형

Page 34: Splunk 교육자료 v1.2

34COPYRIGHT ⓒ 2015 Intelliansystems ALL RIGHTS RESERVED.

인텔리안시스템즈

Structure : stats func(field), func(field), func(field) by field, field, field

* | stats count

* | stats count by host

* | stats sum(price), values(productId) by categoryId

* | stats count(eval(method="GET")) as GET, count(eval(method="POST")) as POST

by host

stats 명령어

Page 35: Splunk 교육자료 v1.2

35COPYRIGHT ⓒ 2015 Intelliansystems ALL RIGHTS RESERVED.

인텔리안시스템즈

Structure : timechart func(field), func(field), func(field) by field

* | timechart count

* | timechart count by host

* | timechart sum(price), values(productId) by categoryId

* | timechart count(eval(method="GET")) as GET, count(eval(method="POST")) as

POST by host

timechart 명령어

Page 36: Splunk 교육자료 v1.2

36COPYRIGHT ⓒ 2015 Intelliansystems ALL RIGHTS RESERVED.

인텔리안시스템즈

주요 함수는 아래와 같음

Splunk-6.2.0-ko_KO-SearchReference 매뉴얼의 함수 부분 참고

함수

Page 37: Splunk 교육자료 v1.2

37COPYRIGHT ⓒ 2015 Intelliansystems ALL RIGHTS RESERVED.

인텔리안시스템즈

TOP : 지정된 필드의 상위 값을 계산

문제: 상위 10위까지 고객 아이피의 리스트를 만드세요.

sourcetype=access_* | top 10 clientip

주요명령어: TOP

Page 38: Splunk 교육자료 v1.2

38COPYRIGHT ⓒ 2015 Intelliansystems ALL RIGHTS RESERVED.

인텔리안시스템즈

SEARCH : 키워드, 따옴표로 묶은 절, 와일드 카드 및 키/값 쌍식을 사용하여 결과를 필터링

문제: 최근 15분 동안 접속 횟수가 많은 고객의 IP 중에서 앞자리가20으로 시작되는 IP를 찾아

보세요.

sourcetype=access_* | stats count by clientip | search clientip=20*.*.*.*

문제: 최근 1시간 동안 1000 번 이상 방문한 고객의 IP를 찾아 보세요.

sourcetype=access_* | stats count by clientip | search count>1000

최근 1시간 동안 1000 건 이상 방문한 사용자의 관심 품목(productName)명의 리스트를 함께

나타내세요.

sourcetype=access_* | stats values(productName) count by clientip | search

count>1000

주요명령어: SEARCH

Page 39: Splunk 교육자료 v1.2

39COPYRIGHT ⓒ 2015 Intelliansystems ALL RIGHTS RESERVED.

인텔리안시스템즈

Regex : 특정 패턴 검색

문제: 최근 15 분 동안 특정 패턴=(^1\d{2}\.)을 보이는 고객의 방문수를 고객 IP별로 나타내

세요.

sourcetype=access_* action=purchase | regex clientip="^1\d{2}\." | stats count by

clientip

문제: 수집된 데이터에서 정규식으로 필드 추출( Raw 데이터의 clientip를 SRC_IP로 추출)

sourcetype=access_* | rex field=_raw "(?<SRC_IP>\d+.\d+.\d+.\d+)"

주요명령어: REGEX

Page 40: Splunk 교육자료 v1.2

40COPYRIGHT ⓒ 2015 Intelliansystems ALL RIGHTS RESERVED.

인텔리안시스템즈

STRCAT : 문자열 값을 연결

문제: clientip와 host의 값을 “/” 구분으로 COMBO라는 필드를 생성

sourcetype=access_* | stats count by clientip, host | strcat clientip "/" host COMBO

문제: action의 내용과 productName을 “ : ” 로 연결하세요.

sourcetype=access_* | stats count by action, productName | strcat action " : "

productName COMBO

문제: 최근 24 시간 동안 이벤트에서 관심 물품에 대한 접속자 수, 총 금액을 하나의 Value로 표

현해 보세요.

주요명령어: STRCAT

Page 41: Splunk 교육자료 v1.2

41COPYRIGHT ⓒ 2015 Intelliansystems ALL RIGHTS RESERVED.

인텔리안시스템즈

문제: status_code라는 가상의 Field를 생성하여, status 값이200이면 “OK” 200이 아니면

“Error”로 표시하세요.

sourcetype=access_* | eval status_code= if(status== 200, "OK", "Error") | table

clientip status_code

문제: status가 200이면 “OK”로 필드 값을 변경

sourcetype=access_* | eval status=if(status==200, "OK", status) | stats count by status

문제: status가 400 이하이면 성공, 이상이면 실패로 status의 통계를 구하여 막대형 차트로 표

현하세요.

sourcetype=access_* | eval status=if(status<400, "성공", "실패") | chart count by status

주요명령어: EVAL–IF

Page 42: Splunk 교육자료 v1.2

42COPYRIGHT ⓒ 2015 Intelliansystems ALL RIGHTS RESERVED.

인텔리안시스템즈

문제: 최근 24 시간 동안 status가 400 이하이면 “성공”, status 가400보다 크거나 같으면 “에

러”로 status의 통계를 구하여 막대형 차트로 표현하세요.

sourcetype=access_* | eval STATUS=case(status<400, "성공", status>=400,"에러") |

stats count by STATUS

문제: 최근 24시간 동안 접속한 고객 아이피의 앞자리가 숫자 두 자리면 “T” 로, 그렇지 않으면

“F”로 표시하세요. 그리고 필드명을 “isvalue”, “clientip” 로하여 table로 나타내세요.

sourcetype=access_* | eval isvalue=if(match(clientip,"^\d{2}\."),"T","F") | table

isvalue, clientip | head 10

시간형태를 바꾸어 나타내기

sourcetype=access_* | eval TIME=strftime(_time, "%Y년%m월%d일%H:%M:%S") |

table _time, TIME | head 10

주요명령어: EVAL–Function

Page 43: Splunk 교육자료 v1.2

43COPYRIGHT ⓒ 2015 Intelliansystems ALL RIGHTS RESERVED.

인텔리안시스템즈

문제: 최근 24 시간 동안 action별 count를 구하고 addtocart->"장바구니"로

changequantity-> "수량변경"으로 purchase -> "구매"로 필드명을 변경하세요.

sourcetype=access_* | stats count by action | replace addtocart with "장바구니",

changequantity with "수량변경", purchase with "구매", remove with "구매포기", view

with "상품보기“

문제: 최근 24시간 동안 categoryId별 count를 구하고 NULL ->"제외" 로 필드명을 변경한 후

파이차트로 나타내세요.

sourcetype=access_* | stats count by categoryId | replace NULL with "제외" in

categoryId

주요명령어: REPLACE

Page 44: Splunk 교육자료 v1.2

44COPYRIGHT ⓒ 2015 Intelliansystems ALL RIGHTS RESERVED.

인텔리안시스템즈

문제: 최근 60분 동안 clientip별 count를 구하고 count의 내림차순으로 정렬하세요.

sourcetype=access_* | stats count by clientip | sort –count

문제: 최근 60분 동안 고객IP별 구매 가격의 합을 10개만 나타내세요.

sourcetype=access_* action=purchase | stats sum(price) by clientip | head 10

문제: 최근 60분 동안 고객IP별 구매 가격의 합을 count별로 내림차순한후 마지막 5개를 반환

해보세요.

sourcetype=access_* | stats count by clientip | sort -count | tail 5

문제: 최근 60분 동안 접속한 최신 고객의 정보를 고객IP 기준으로 나타내세요.

sourcetype=access_* | dedup clientip | table clientip

기타 주요명령어1

Page 45: Splunk 교육자료 v1.2

45COPYRIGHT ⓒ 2015 Intelliansystems ALL RIGHTS RESERVED.

인텔리안시스템즈

Fieldformat: 원본값은 변경하지 않고 출력 시만 지정한 포멧으로 변경합니다.

sourcetype=access_* | stats count | fieldformat cnt=tostring(count,"commas")

RANGEMAP : 결과값을 일정 범위로 구분하여 표현합니다.

sourcetype=access_* action=purchase | stats count by categoryId | rangemap

field=count green=1-100 blue=100-200 red=200-300 default=gray | stats count by

range

기타 주요명령어2

Page 46: Splunk 교육자료 v1.2

46COPYRIGHT ⓒ 2015 Intelliansystems ALL RIGHTS RESERVED.

인텔리안시스템즈

IPLOCATION: IP와 일치하는 도시, 나라, 위도, 경도를 보여줍니다.

sourcetype=access_* | iplocation clientip | table clientip, City, Country, lat, lon

GEOSTATS : 지정된 기준과 일치하는 결과를 구글 지도상에 통계를 보여줍니다

… | geostats latfield=위도좌표 longfield=경도좌표 function by groupby_name

sourcetype=access_* | iplocation clientip | geostats latfield=lat longfield=lon count by

action

OverlayChart

sourcetype=access_* | iplocation clientip | stats count, dc(clientip) as dcip by Country

기타 주요명령어3

Page 47: Splunk 교육자료 v1.2

47COPYRIGHT ⓒ 2015 Intelliansystems ALL RIGHTS RESERVED.

인텔리안시스템즈

sourcetype=access_* action=purchase | transaction clientip maxspan=10m | chart

count by duration span=log2

sourcetype=access_* action=purchase | transaction clientip maxspan=10m | chart

avg(eventcount) by duration span=log2

sourcetype=access_* action=purchase | chart dc(clientip) over date_hour by

categoryId usenull=f

sourcetype=access_* action="purchase" [ search sourcetype=access_*

action="purchase" | stats sum(price) by clientip | sort - sum(price) | head 1 | fields +

clientip ] | timechart sum(price) by productName

검색 예제

Page 48: Splunk 교육자료 v1.2

48COPYRIGHT ⓒ 2015 Intelliansystems ALL RIGHTS RESERVED.

인텔리안시스템즈

sourcetype=access_* action=purchase clientip="12.*“

sourcetype=access_* action=purchase clientip=“87.*“

sourcetype=access_* action=purchase | chart dc(clientip) over date_hour by

categoryId usenull=f

검색 예제

Page 49: Splunk 교육자료 v1.2

49COPYRIGHT ⓒ 2015 Intelliansystems ALL RIGHTS RESERVED.

인텔리안시스템즈

보고서로 저장

sourcetype=access_* status=200 action=purchase [search sourcetype=access_* status=200

action=purchase | top limit=1 clientip | table clientip] | stats count AS "Total Purchased", dc(productId) AS

"Total Products", values(productName) AS "Product Names" by clientip | rename clientip AS "VIP

Customer"

검색란 위 다른 이름으로 저장을 클릭하고 보고서를 선택

제목에 “VIP Customer” 설명에 “Buttercup Games most frequent shopper” 입력

시각화에 대해 없음을 클릭, 저장 클릭

뷰 버튼 클릭하여 저장된 보고서 보기

새 보고서를 저장하면 권한이 기본적으로 "비공개"로 설정됨, 권한을 변경하여 공유하거나 대시보드에 추가

보고서 저장

Page 50: Splunk 교육자료 v1.2

50COPYRIGHT ⓒ 2015 Intelliansystems ALL RIGHTS RESERVED.

인텔리안시스템즈

보고서 찾기

앱 메뉴 중 보고서 클릭 -> 작성한 “VIP Customer” 찾기

보고서 권한 편집

해당 보고서 옆에 편집 버튼 클릭

앱 버튼 선택하고 모든 사용자에 읽기 권한, admin에 쓰기 권한 체크

저장 버튼 클릭

VIP Custmor 클릭하여 보고서 열고 시간 범위 선택기 조정하여 편집하기

보고서 찾기

Page 51: Splunk 교육자료 v1.2

51COPYRIGHT ⓒ 2015 Intelliansystems ALL RIGHTS RESERVED.

인텔리안시스템즈

시각화 보고서 만들기

sourcetype=access_* status=200 | chart count AS views count(eval(action="addtocart")) AS

addtocart count(eval(action="purchase")) AS purchases by productName | rename

productName AS "상품명", views AS "상품보기", addtocart AS "장바구니", purchases AS "구매

다른 이름으로 저장 클릭 -> “제품 보기와 구입 비교"를 입력, 설명에 "제품을 보고 장바구니에 추가 및

구입한 횟수"를 입력 -> 저장을 클릭

보고서 예제 1

Page 52: Splunk 교육자료 v1.2

52COPYRIGHT ⓒ 2015 Intelliansystems ALL RIGHTS RESERVED.

인텔리안시스템즈

통계 보고서 만들기

sourcetype=access_* status=200 | stats count AS views count(eval(action="addtocart")) AS addtocart

count(eval(action="purchase")) AS purchases by productName | eval

viewsToPurchase=(purchases/views)*100 | eval cartToPurchase=(purchases/addtocart)*100 | table

productName views addtocart purchases viewsToPurchase cartToPurchase | rename productName AS "상

품명" views AS "상품보기", addtocart As "장바구니", purchases AS "구매", viewsToPurchase AS "상품보기구

매율", cartToPurchase AS "장바구니구매율"

백분율 표시부분 수정하기 -> 소수점 두 번째 자리까지 표현, round 함수 사용하기

“%” 기호 추가하기 -> eval 함수 이용

sourcetype=access_* status=200 | stats count AS views count(eval(action="addtocart")) AS addtocart

count(eval(action="purchase")) AS purchases by productName | eval

viewsToPurchase=round((purchases/views)*100,2) | eval

cartToPurchase=round((purchases/addtocart)*100,2) | eval viewsToPurchase=viewsToPurchase+"%" |

eval cartToPurchase=cartToPurchase+"%" | table productName views addtocart purchases

viewsToPurchase cartToPurchase | rename productName AS "상품명" views AS "상품보기", addtocart As "

장바구니", purchases AS "구매", viewsToPurchase AS "상품보기구매율", cartToPurchase AS "장바구니구매율"

보고서 예제 2

Page 53: Splunk 교육자료 v1.2

53COPYRIGHT ⓒ 2015 Intelliansystems ALL RIGHTS RESERVED.

인텔리안시스템즈

시간대별로 구입한 제품 차트

sourcetype=access_* | timechart count(eval(action="purchase")) by productName

usenull="f" useother="f"

usenull 및 useother 인수를 사용, productName에 대한 값을 가진 이벤트만 차트에서 계산

시각화 탭 클릭 -> 꺽은선형 선택

제목이 "상품별 구입현황"이고 설명이 "각 상품의 구입 개수"인 보고서를 저장

보고서 예제 3

Page 54: Splunk 교육자료 v1.2

54COPYRIGHT ⓒ 2015 Intelliansystems ALL RIGHTS RESERVED.

인텔리안시스템즈

sparkline 사용하기

sourcetype=access_* status=200 action=purchase | chart count AS Total by categoryId |

rename categoryId AS "Category"

구입 개수가 sparkline() 함수의 인수로 사용하여 트렌드 표시

sourcetype=access_* status=200 action=purchase| chart sparkline(count) AS "Purchases

Trend" count AS Total by categoryId | rename categoryID AS "Category"

제목이 "구입동향"이고 설명이 "각 상품의 구입 개수 동향"인 보고서를 저장

보고서 예제 4

Page 55: Splunk 교육자료 v1.2

55COPYRIGHT ⓒ 2015 Intelliansystems ALL RIGHTS RESERVED.

인텔리안시스템즈

검색을 대시보드 패널로 저장하기

sourcetype=access_* status=200 action=purchase | top categoryId

시각화 탭을 클릭하고 원형 차트를 선택

검색란 위에서 다른 이름으로 저장을 클릭, 대시보드 패널을 선택

대시보드에 대해 새로 만들기를 클릭, 대시보드 제목에 “Buttercup Games Purchases” 입력

대시보드 설명에 “Reports on Buttercup Games successful purchases data.” 입력

패널 제목에 “Top Purchases by Category” 입력

저장 버튼 클릭

대시보드 보기 클릭

대시보드작성

Page 56: Splunk 교육자료 v1.2

56COPYRIGHT ⓒ 2015 Intelliansystems ALL RIGHTS RESERVED.

인텔리안시스템즈

검색을 대시보드 패널로 저장하기

앱 탐색 메뉴에서 대시보드를 클릭

i(정보) 아래 화살표를 클릭, 대시보드에 대한 자세한 정보 확인

작업에서 편집을 클릭, 패널 편집을 선택

패널 추가를 클릭 -> 콘텐츠 유형에 대해 "보고서"를 클릭 -> 저장된 보고서 선택

콘텐츠 제목에 보고서 제목을 입력

패널 추가를 클릭

대시보드편집

Page 57: Splunk 교육자료 v1.2

57COPYRIGHT ⓒ 2015 Intelliansystems ALL RIGHTS RESERVED.

인텔리안시스템즈

Splunk Application의 의미

App - 여러 이종의 데이터 View를 체계화하여 하나의 애플리케이션으로 UI를 연계 정리한

Splunk 내의 구성

• 예 : “Splunk for Cisco Security” 이나 “Unix” App

Add-on – Splunk에 추가되어 추가적인 자원 (예 :command, 데이터 인지 룰) 으로 기능

을 확장 하는 모듈

• 예 : 여러 Splunk 상의 설정, Parsing Rule 및 이벤트 설정, Splunk 신규 Search 명령

Application의 정의

Page 58: Splunk 교육자료 v1.2

58COPYRIGHT ⓒ 2015 Intelliansystems ALL RIGHTS RESERVED.

인텔리안시스템즈

데이터

Add-on (기본 Splunk의 설정이나 사용자 정의 설정)

Splunk 구현 자원들

“Saved Searches” 저장된 검색

보고서

Views

정규식 정의 및 Test Tool (Regexr)

XML / Code 편집기 (XML Marker 1.X, Notepad++)

App 만들기 전 필요 사항

Page 59: Splunk 교육자료 v1.2

59COPYRIGHT ⓒ 2015 Intelliansystems ALL RIGHTS RESERVED.

인텔리안시스템즈

App 생성 – 왼쪽 상단 앱 -> 앱 관리 -> 앱 만들기

폴더 이름은 반듯이 영문으로 스페이스 없이 쓸 것

신규 App 생성

Page 60: Splunk 교육자료 v1.2

60COPYRIGHT ⓒ 2015 Intelliansystems ALL RIGHTS RESERVED.

인텔리안시스템즈

신규 앱에서 대시보드 작성하기

대시보드 -> 새 대시보드 만들기 클릭

제목, ID, 설명, 권한 입력

대시보드 만들기 클릭

대시보드만들기

Page 61: Splunk 교육자료 v1.2

61COPYRIGHT ⓒ 2015 Intelliansystems ALL RIGHTS RESERVED.

인텔리안시스템즈

조회 조건을 선택할 수 있는 입력 추가

입력 추가에서 드롭다운 선택

연필 버튼 클릭, 레이블에 “액션“ 입력, 변경사항 검색 체크, 토큰에 “action” 입력, 접두사에 “action=“

입력

입력 추가하기

Page 62: Splunk 교육자료 v1.2

62COPYRIGHT ⓒ 2015 Intelliansystems ALL RIGHTS RESERVED.

인텔리안시스템즈

조회 조건을 선택할 수 있는 입력 추가

동적 옵션 클릭 -> 콘텐츠 유형 인라인 검색 선택, 검색문자열에 “sourcetype=access_combined_* |

dedup action | table action” 입력, 적용 버튼 클릭

입력 추가하기

Page 63: Splunk 교육자료 v1.2

63COPYRIGHT ⓒ 2015 Intelliansystems ALL RIGHTS RESERVED.

인텔리안시스템즈

조회 조건과 연동하는 결과 패널 만들기

패널 추가 클릭 -> 콘텐츠 제목 입력, 콘텐츠 유형 인라인 검색 선택, 검색 문자열에 “” 입력 후 패널 추

가 클릭

패널 추가하기

Page 64: Splunk 교육자료 v1.2

64COPYRIGHT ⓒ 2015 Intelliansystems ALL RIGHTS RESERVED.

인텔리안시스템즈

입력에서 선언하는 토큰 사용법

입력에서 선언하는 토큰은 패널에서 변수로 사용할 수 있다

• 예) 토큰명 “action” 일 경우 패널 검색식에서 “$action$” 로 사용한다.

토크 접두사 및 접미사는 변수에 포함되어 전달된다

• 예) 접두사가 “action=“ 일 경우 선택 값이 “purchase”이면 “$action$”에 전달되는 값은

“action=purchase”

대시보드만들기 정리

Page 65: Splunk 교육자료 v1.2

65COPYRIGHT ⓒ 2015 Intelliansystems ALL RIGHTS RESERVED.

인텔리안시스템즈

15일간 Splunk 서비스를 AWS 서비스로 이용

https://www.splunk.com/getsplunk/cloudtrial 에서 Start Now 클릭

설치된 사이트 주소와 ID/PW를 제공

Free Online Sandbox 이용하기

Page 66: Splunk 교육자료 v1.2

인텔리안시스템즈

Q & A

Page 67: Splunk 교육자료 v1.2

인텔리안시스템즈

감사합니다