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
Dashboard studio - sample data 추가 (0) | 2022.08.06 |
---|---|
dashboard studio에 submit button 추가 (0) | 2022.08.05 |
eval을 활용하여 필드의 이벤트 개수 확인 (0) | 2022.06.26 |
Splunk SPL - chart vs timechart vs stats (0) | 2022.06.24 |
Splunk SPL - stats command example (0) | 2022.06.18 |
댓글 영역