User Tools

Site Tools


Sidebar

command

Base Setting for Linux/Unix

Usage

[ /Applications/Splunk/bin/]$ splunk search index=*
Splunk username: admin
Password: 

Example

CommandDescUsage
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
  • Lookup을 이용해서 Replace를 확장해서 사용하면 유리함.
  • toTest : splunk search 'index=appmgmt|head 100|eval time=_time|table time|eval TIME=strftime(_time,"%Y년%m월%d %H:%M:%s")|eval TIME2=strftime(time,"%Y년%m월%d %H:%M:%s.%3N")'

Examples

* sourcetype=acc* action=* |fields action,clientip * sourcetype=acc* action=* |fields action,clientip |top clientip action

command.txt · Last modified: 2019/02/25 14:50 (external edit)