1,簡單例子介紹
首先提取自定義字段
rex field=_raw "customer-alert-(?<postcode>.*)"
作用就是匹配正則,並把匹配的內容作為新的field,名為postcode。
然后規定時間長度為
timechart span=1mon count
最后以postcode為分組依據
timechart span=1mon count by postcode
Splunk對於分組會默認有一個限制,超過限制的部分會命名為Others,顯然我們不需要Others,而是需要所有分組,郵編有超過兩千個,直接粗暴一些,禁用others,然后最大長度限制為3000
useother=f limit=3000
[加入span參數來定義時間間隔為8h一次分隔統計]
2,對滿足條件的事件進行統計
stats count() :括號中可以插入字段,主要作用對事件進行計數
stats dc():distinct count,去重之后對唯一值進行統計
stats values(),去重復后列出括號中的字段內容
stats list(),未去重之后列出括號指定字段的內容
stats avg(),求平均值
3,在用於制作圖表的表格輸出中返回結果。
chart count():
chart max() [求出最大值]
chart min() [求出最小值]
chart avg() [根據第一次的結果求出平均值]
rare, 顯示字段出現次數最少的值
fields :保留或刪除搜索結果中的字段。fields – xx 刪除xx字段,保留則不需要 – 符號
rex field=待提取數據的字段 "正則表達式"
注意,正則表達式中一定要給提出的字段定義名稱, ?<ip>表示將新字段命名為ip