簡體   English   中英

代理日志上的Grok篩選器

[英]Grok Filter on Proxy Logs

我試圖使用ELK堆棧中的GROK篩選器解析和構造原始代理數據,但我無法以正確的格式獲取時間戳和用戶代理字符串。 請參考以下示例日志:

"1488852784.440 1 10.11.62.19 TCP_DENIED/403 0 GET http://xxx.xxx.com/xxx - NONE/- - BLOCK_WEBCAT_12-XXX-XXX-NONE-NONE-NONE-NONE <IW_aud,0.0,-,""-"",-,-,-,-,""-"",-,-,-,""-"",-,-,""-"",""-"",-,-,IW_aud,-,""-"",""-"",""Unknown"",""Unknown"",""-"",""-"",0.00,0,-,""-"",""-"",-,""-"",-,-,""-"",""-""> - L ""http://xxx.xxx.xxx"" 10.11.11.2 - 403 TCP_DENIED ""Streaming Audio"" - - - GET ""Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36"" http://xxx.xxx.xxx"

我正在使用以下過濾器:

%{NUMBER:timestamp}%{SPACE}%{NUMBER:request_msec:float} %{IPORHOST:src_ip} %{WORD}/%{NUMBER:response_status:int} %{NUMBER:response_size} %{WORD:http_method} (%{URIPROTO:http_proto}://)?%{IPORHOST:dst_host}(?::%{POSINT:port})?(?:%{NOTSPACE:uri_param})? %{USERNAME:user} %{WORD}/(%{IPORHOST:dst_ip}|-)%{GREEDYDATA:content_type}

基於http://grokconstructor.appspot.com ,我能夠解析出除時間戳(1488852784.440)和用戶代理字符串之外的某些字段。 我在時間戳上嘗試了不同的Drok默認過濾器,但仍顯示為數字。

那是因為Grok無法轉換為date數據類型。 為此,您需要使用date過濾器,該過濾器會為您進行准確的轉換。

filter {
  date {
    match => [ "timestamp", UNIX_MS ]
  }
}

這將設置@timestamp事件的現場在解析時間戳timestamp字段。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM