用于解析 aws elb 日志的猪脚本
Posted
技术标签:
【中文标题】用于解析 aws elb 日志的猪脚本【英文标题】:pig script to parse aws elb log 【发布时间】:2016-09-29 16:33:34 【问题描述】:我正在尝试用 pig 解析这个 elb 日志,我可以使用这个脚本成功解析它
++++++++++++++++++++++++++++++++++++++++++++++++++ +++++++++++++++++++++++++++++++ 2016-07-16T00:00:41.700161Z testelb 11.11.17.2:50883 192.168.1.94:80 0.00002 0.001392 0.000019 200 200 0 43 "GET @987654321 like@Mac (iPhone CPU OS) (iPhone CPU OS 1.1" "Mozilla/5. OS X) AppleWebKit/601.1.46 (Khtml, like Gecko) Mobile/13F69" - - ++++++++++++++++++++++++++++++++++++++++++++++++++++++ +++++++++++++++++++++++++++
***************************************************************
A = LOAD '/tmp/one.log' USING TextLoader AS (line:chararray);
B = FOREACH A GENERATE FLATTEN (
REGEX_EXTRACT_ALL(
line,'^(\\S+) (\\S+) (\\S+) (\\S+) (\\S+) (\\S+) (\\S+) (\\S+) (\\S+) (\\S+) (\\S+) "(.+?)" "(.+?)" (\\S+) (\\S+)')
) AS (
timestamp:chararray, elb:int, client_port:chararray, backend_port:chararray, request_processing_time:float, backend_processing_time:float, response_processing_time:float, elb_status_code:int, backend_status_code:int, received_bytes:int, sent_bytes:int, request:chararray, user_agent:chararray, ssl_cipher:chararray, ssl_protocol:chararray
);
DUMP B;
现在我想提取请求 url、aid、bid、cid 等,但无法匹配正则表达式。有人可以帮我获取这些详细信息吗?
除了上述正则表达式方法之外,如果还有其他方法可以获取完整的 elb 日志详细信息,那么我想知道。
注意:请求日志中的aid、bid和cid的位置不固定。
【问题讨论】:
【参考方案1】:您的问题已经回答here
Alternate way to do the same task 需要自定义加载器。
【讨论】:
以上是关于用于解析 aws elb 日志的猪脚本的主要内容,如果未能解决你的问题,请参考以下文章
ENI 已注册到 Elastic Load Balancer - AWS
从 AWS Beanstalk 检索 Apache 日志文件