[ /Applications/Splunk/bin/]$ splunk search index=* Splunk username: admin Password:
Command | Desc | Usage | |||
---|---|---|---|---|---|
stop | $ splunk stop Stopping splunkd... Shutting down. Please wait, as this may take a few minutes. .. Stopping splunk helpers... Done. | ||||
clean all | stop 필요, 비번 클리어 됨(changeme), 데이터만 없어짐. | $ splunk clean all This action will permanently erase all indexed event data, app key/value-store database, user information, global data, and internal logs; it cannot be undone. Are you sure you want to continue [y/n]? y Cleaning all data... Removing user info. Cleaning database _audit. Cleaning database _blocksignature. Cleaning database _internal. Cleaning database _introspection. Cleaning database _thefishbucket. Cleaning database appmgmt. Cleaning database history. Cleaning database iris_idx. Cleaning database main. Cleaning database mossplunkbootcamp. Cleaning database secure_idx. Cleaning database summary. Disabled database 'splunklogger': will not clean. | |||
TOP | 지정된필드의상위값을계산 | 상위 10위까지 고객아이피의 리스트를 만드세요. → clientip count percent--------------- ----- -------- 131.178.233.243 5965 4.761069 128.241.220.82 5963 4.759472 130.253.37.97 5947 4.746702 12.130.60.4 5919 4.724353 141.146.8.66 5872 4.686839 12.130.60.5 5793 4.623784 125.17.14.100 5780 4.613408 10.2.1.44 2289 1.827005 87.194.216.51 891 0.711167 194.215.205.19 705 0.562708 | |||
SEARCH | 키워드,따옴표로묶은절, 와일드카드및키/값쌍식을 사용하여 결과를 필터링 합니다. | 최근15분동안접속횟수가 많은 고객의 IP 중에서 앞자리가 20으로 시작되는 IP를 찾 → splunk search “sourcetype=access_combined | stats count by clientip | search” <br /> 근 1시간 동안 1000건 이상 방문한 사용자의 관심품목 (product_name)명의 리스트를 함께 나타내세요. → splunk search “sourcetype=access_combined|statsvalues(product_name)countbyclientip | search count>1000” 최근 1시간 동안 1000번 이상 방문한 고객의 IP를 찾아보세요.→sourcetype=access_combined|statscountbyclientip|searchcount>1000 splunk search “index=appmgmt|stats values(product_name) as PRDNAME,list(product_name) count by clientip search count >1000|rename PRDNAME as '관심품목'” 최근 15분 동안 특정패턴 = (^1\d{2}\.)</code>을 보이는 고객의 방문 수를 고객 IP별로 나타내세요. →splunk search 'index=appmgmt| regex clientip="^1\d{2}\." | stats count by clientip' 수집된 데이터에서 정규식으로 필드 추출( Raw 데이터의 clientip 를 SRC_IP로 추출)→sourcetype=access_combined|rexfield=_raw"(?<SRC_IP>\d+.\d+.\d+.\d+)" | |||
strcat | 문자열 값을 연결합니다. | clientip 와 host의 값을 “/” 구분으로 COMBO라는 필드를 생성 → sourcetype=access_combined | stats count by clientip, host| strcat clientip "/" host COMBO action의 내용과 product_name 을 “ : ” 로 연결하세요. sourcetype=access_combined|statscountbyaction,product_name | strcat action " : " product_name COMBO | |||
EVAL – IF | eval_status_code 라는 가상의 Field를 생성 하여, status 값이 200이면 “OK” 200이 아니면 “Error”로 표시하세요. → sourcetype=access_combined|evalstatus_code=if(status==200,"OK","Error") |statscountbystatus STATUS가200이면“OK”로필드를변경변경 → sourcetype=access_combined|evalSTATUS=if(status==200,"OK",status) | stats count by STATUS Status가400이하이면성공,이상이면 실패로 status의 통계를 구하여 막대형 차트로 표현하세요.→ sourcetype=access_combined|evalSTATUS=if(status<400,"성공","실패")|statscountbySTATUS | ||||
EVAL – CASE | 최근24시간동안status가400이하이면“성공”, status가400보다크거나같으면“에러”로 status의 통계를 구하여 막대형 차트로 표현하세요. → sourcetype=access_combined|evalSTATUS=case(status<400,"성공",status>=400,"에러")|statscountbySTATUS | ||||
EVAL – MATCH | 최근24시간동안접속한고객아이피의앞자리가숫자두자리면“T”로, 그렇지않으면“F”로표시하세요.그리고필드명을 “isvalue”,“clientip”로하여 table로 나타내세요.→ sourcetype=access_combined|evalisvalue=if(match(clientip,"^\d{2}\."),"T","F") | table isvalue, clientip | head 10 | ||||
EVAL – strftime | 시간 형태를 바꾸어 나타내기→ sourcetype=access_combined | eval TIME=strftime(_time, "%Y년%m월%d일 %H:%M:%S") | table _time, TIME | head 10 | ||||
RENAME | 지정된 필드의 이름을 변경합니다. 필드를 여러 개 지정할 경우 와일드카드(*)를 사용할 수 있습니다. | 최근24시간동안접속한고객 아이피와 호스트의 필드 명을 “고객IP”, “호스트 서버” 로 변경하여 테이블 형태로 나타내세요.→ sourcetype=access_combined| stats count by clientip, host | rename clientip as "고객IP", host as "호스트 서버" | |||
rename | 컬럼이름 바꾸기-가급적 마지막 절에 넣을 것 | sourcetype=access_combined | eval TYPE=if(date_hour>=7 ,if(date_hour<=20, "S","M"),"M") | stats count, count(eval(match(TYPE,"S"))) as Sun, count(eval(match(TYPE,"M"))) as Moon by action | rename Sun as "독수리", Moon as "올빼미" | |||
REPLACE | 변경 | 최근 24시간 동안 action별 count를 구하고 addtocart →“장바구니”로 changequantity → “수량 변경”으로 purchase → “구매” 로 필드명을 변경하세요. → sourcetype=access_combined|statscountbyaction|replaceaddtocartwith"장바구니", changequantitywith "수량변경",purchasewith"구매" 최근 24시간 동안 category_id 별 count를 구하고 BAKING →“ 빵 ” 로 필드명을 변경한 후 파이차트로 나타내세요. → sourcetype=access_combined|statscountbycategory_id | replace BAKING with "빵" in category_id | |||
SORT | 지정된 필드를 기준으로 검색 결과를 정렬합니다. | 최근 60분 동안 clientip 별 count를 구하고 count의 내림차순으로 정렬하세요. → sourcetype=access_combined | stats count by clientip | sort - count 최근60분동안category_id별count를구하고, BAKING→“빵”으로변경한후 count의 내림차순으로 정렬하여 파이차트로 나타내세요 → sourcetype=access_combined|statscountbycategory_id|replaceBAKINGwith"빵"in category_id | sort - count | |||
HEAD | 지정된 결과의 첫 번째 n개를 반환합니다 | 최근60분동안고객IP별구매가격의합을 10개만나타내세요. → sourcetype=access_combinedaction=purchase|statssum(price)byclientip|head10 | |||
TAIL | 지정된 결과의 마지막 n개를 반환합니다. | 최근60분동안고객IP별구매가격의합을count별로내림차순한후마지막 5개를 반환해 보세요.→ sourcetype=access_combined|statscountbyclientip|sort-count|tail5 | |||
DEDUP | 지정된 기준과 일치하는 최신 결과를 보여줍니다. | 최근 60분 동안 접속한 최신 고객의 정보를 고객IP기준으로 나타내세요.→ sourcetype=access_combined|dedupclientip | |||
FIELDFORMAT | 원복 값은 변경하지 않고 출력시만 지정한 포멧으로 변경합니다. | 최근 4시간 동안 카운트를 출력하고 숫자를 comma를 넣어서 출력하세요→sourcetype=access_combined|statscount|fieldformatcnt=tostring(count,"commas") | |||
RANGEMAP | 결과값을 일정범위로 구분하여 표현합니다. | sourcetype=access_combined action=purchase | stats count by category_id | rangemap field=count green=1-100 blue=100-200 red=200-300 default=gray | stats count by range |
IPLOCATION | IP와 일치하는 도시, 나라, 위도, 경도 보여줍니다. | sourcetype=access_combined | iplocation clientip | table clientip, City, Country, lat, lon | |
GEOSTATS | 지정된 기준과 일치하는 결과 구글맵상에 통계를 보여줍니다.(시각화에서 지도 사용해서 볼것) ... | geostats latfield=위도좌표 longfield=경도좌표 function by groupby_name | sourcetype=appmgmt | iplocation clientip | geostats latfield=lat longfield=lon count by action | |||
OVERLAY CHART | 동일 차트에 두 개의 값을 표현합니다. | sourcetype=access_combined | iplocation clientip | stats count, dc(clientip) as dcip by Country |
* sourcetype=acc* action=* |fields action,clientip * sourcetype=acc* action=* |fields action,clientip |top clientip action