0
使用我們的新的Web服務器,訪問日誌使用JSON,我無法使用典型的awk命令來提取流量信息。我發現了jsawk,但是當我試圖從訪問日誌中取出任何東西時,我總是收到解析錯誤。我有一種感覺,日誌不在一個格式分析器喜歡使用Jsawk分析JSON訪問日誌
下面是從日誌中的條目示例:
{ "@timestamp": "2014-09-30T21:33:56+00:00", "webserver_remote_addr": "24.4.209.153", "webserver_remote_user": "-", "webserver_body_bytes_sent": 193, "webserver_request_time": 0.000, "webserver_status": "404", "webserver_request": "GET /favicon.ico HTTP/1.1", "webserver_request_method": "GET", "webserver_http_referrer": "-", "webserver_http_user_agent": "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.124 Safari/537.36" }
因此,舉例來說,如果我要拉的IP地址進行的日誌,我會用這樣的:
cat access.log | jsawk 'return this.webserver_remote_addr'
然而,這不僅導致「jsawk:JSON解析錯誤:」和打印的整個訪問日誌。
我正確地認爲訪問日誌是分析器無法識別的格式嗎?日誌中的每個條目都在一行上。我如何才能讓jsawk正確解析?