[英]Automatically parse logs fields with Logstash
假設我有這種日志:
6月2日00:00:00 192.168.14.4日期= 2016-06-01時間= 23:56:05 devname = POPB-FW-01 devid = FG1K2D3I14800220 logid = 1059028704 type = utm subtype = app-ctrl eventtype = app-ctrl -all level = information vd =“ root” appid = 40568 user =“” srcip = 10.20.4.35 srcport = 52438 srcintf =“ VRF-PUBLIC” dstip = 125.209.230.238 dstport = 443 dstintf =“ OUT” proto = 6 service = “ HTTPS” sessionid = 424666004 applist =“所有監視器” appcat =“ Web.Others” app =“ HTTPS.BROWSER” action = pass hostname =“ lcs.naver.com” url =“ /” msg =“ Web.Others :HTTPS.BROWSER,“ apprisk = medium
因此,使用下面的代碼,我可以在未來的彈性字段中正則化時間戳記和ip:
filter {
grok {
match => {"message" => "%{SYSLOGTIMESTAMP:timestamp} %{client}" }
}
}
現在,如何自動獲取其余日志的字段? 有沒有簡單的說法:
“ =“之前的內容是字段名稱,之后的內容是值。
因此,我可以為每個日志行的許多字段獲取具有彈性索引的JSON:
{
"path" => "C:/Users/yoyo/Documents/yuyu/temp.txt", "@timestamp" => 2017-11-29T10:50:18.947Z, "@version" => "1", "client" => "192.168.14.4", "timestamp" => "Jun 2 00:00:00", "date" => "2016-06-01", "time" => "23:56:05", "devname" => "POPB-FW-01 ", "devid" => "FG1K2D3I14800220", etc,...
}
提前致謝
好吧,我真的很傻
這很容易,而不是在Google上搜索如何匹配等於,我只需要搜索與logstash匹配的鍵值。
所以我只需要寫:
filter {
kv {
}
}
完成了!
抱歉
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.