Ani*_*aul 7 nginx amazon-cloudwatch amazon-cloudwatchlogs aws-cloudwatch-log-insights
我正在尝试使用 aws log Insights 对包含 nginx 日志的日志组运行查询。
这是我在 ec2 机器上设置的日志格式:
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
Run Code Online (Sandbox Code Playgroud)
NGINX 日志示例:
xx.xx.xx.xx - - [10/Nov/2020:15:28:30 +0530] "POST /xx HTTP/1.1" 200 57 "https://xxxx.in/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.121 Safari/537.36" "-"
Run Code Online (Sandbox Code Playgroud)
我尝试使用日志见解和以下代码来解析它:
parse @message '* - - [*] "* * *" * * "-" "*"' as remote_addr, timestamp, request_type, location, protocol, response_code, body_bytes_sent
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
Expression is invalid: parse@message'* - - [*] "* * *" * * "-" "*"'asremote_addr,timestamp,request_type,location,protocol,response_code,body_bytes_sent
Run Code Online (Sandbox Code Playgroud)
任何帮助将不胜感激
Jac*_*Leo 23
你已经成功了 99%。所缺少的只是匹配选择器和输出变量的数量,因此如果您将附加user_agent
到列表中,它将开始工作。
工作查询示例:
fields @message
| parse @message '* - - [*] "* * *" * * "-" "*"' as remote_addr, timestamp, request_type, location, protocol, response_code, body_bytes_sent, user_agent
| display request_type, location
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
4610 次 |
最近记录: |