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正确解析?