상세 컨텐츠

본문 제목

mv*** 함수

Splunk/Platform

by 야솔아빠 2022. 8. 3. 08:55

본문

반응형

mv*** 함수들을 많이 알고 있으면 활용할 수 있는 것들이 많다.

mv는 multi values의 약자이며, stats 의 list 또는 values 를 통해서 multi values로 치환 된 이후에 사용하는 것이 일반적인데, 응용하면 복잡한 쿼리를 쉽게 풀어 쓸수 있다. 

다른 함수는 몰라도 mv*** 관련 함수만 잘 알아도 복잡한 요구사항을 해결 가능하다. 

에러타입 23발생시, 직전의 에러타입이 어떤것인지 확인하는 쿼리.

streamstats 으로도 가능하나 mv**** 함수등으로 응용이 가능하다.

index=hsd* 
| eval time=strftime(_time,"%Y-%m-%d %H:%M:%S"), errtype_time = ERRTYPE + "|" + ERRTYPE_NM + "|" + MODEL_NM + "|" + time
| fields CUST_NUM, errtype_time
| stats list(errtype_time) as errtype_time by CUST_NUM | eval err_23_yn=if(mvfind(errtype_time,"^23") >= 0, "Y", "N") | where err_23_yn="Y" | eval errtype_time2 = mvindex(errtype_time, mvfind(errtype_time,"^23") + 1, mvcount(errtype_time) -1) 
| fields CUST_NUM, errtype_time2  
| mvexpand errtype_time2 | eval err_no=mvindex(split(errtype_time2,"|"),0), err_name=mvindex(split(errtype_time2,"|"),1), model_nm=mvindex(split(errtype_time2,"|"),2) | where NOT (err_no=22 OR err_no=23)
| stats count, dc(CUST_NUM) as cust_cnt by model_nm, err_name 
| sort - count
반응형

관련글 더보기

댓글 영역