AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 625088
Accepted
Matt Beckman
Matt Beckman
Asked: 2014-08-30 14:20:39 +0800 CST2014-08-30 14:20:39 +0800 CST 2014-08-30 14:20:39 +0800 CST

AWS Elastic Load Balancer 的 AStats LogFormat

  • 772

希望有人能指出我试图与 Amazon ELB 生成的访问日志一起使用的 LogFormat 有什么问题。

ServerFault 可读性的多行:

%time5 %elb %host %host_port %host_r %host_r_port %request_processing_time 
%backend_processing_time %response_processing_time %code 
%backend_status_code %received_bytes %bytesd %methodurl

示例日志条目(清理后):

2014-08-28T17:59:14 awseb-e-2-AWSEBLoa-AAAAAAAA 123.123.123.123 44153 10.123.123.123 80 0.000046 0.536613 0.000045 200 200 0 13129 "GET /path/to/web/app HTTP/1.1"

日志在发送到 AWStats 之前被清理。我使用以下替换:

cat ${s3_logs_dir}/* \
| sed -e "s/\(\.[0-9]\{1,3\}\):\([0-9]\{2,5\}\)/\1 \2/g" \
| sed -e "s/\(:[0-9]\{2\}\)\(\.[0-9]\{6\}Z\)/\1/g" \
| sed -e "s/http:\/\/www\.example\.com:80//g" \
> ${combined_log} 2>>${log_file}

首先我从端口中分离主机,其次我从 %time5 ISO 日期中删除微秒,最后我尝试从请求中删除绝对 URL。

amazon-web-services
  • 3 3 个回答
  • 1189 Views

3 个回答

  • Voted
  1. Best Answer
    Matt Beckman
    2014-09-03T13:07:12+08:002014-09-03T13:07:12+08:00

    事实证明,这似乎是%time5AStats 中 LogFormat 选项的错误。

    我将 YYYY-MM-DDTHH:MM:SS 转换为 YYYY-MM-DD HH:MM:SS 并使用%time2,日志解析成功。

    • 1
  2. David Roman
    2019-03-28T04:35:57+08:002019-03-28T04:35:57+08:00

    早上,现在这已经过时了,但是使用 awstats Advanced Web Statistics 7.7(内部版本 20180105)和您使用此标准的解析规则,它也与代理匹配。

    在当前的 elb 日志中也是日志类型的请求,甚至没有记录,所以新格式是

    LogFormat="%other %time5 %other %host %host_port %host_r %host_r_port %request_processing_time %backend_processing_time %response_processing_time %code %backend_status_code %received_bytes %bytesd %methodurl %uaquot"

    %time5 现在正在工作。

    感谢发帖。

    亲切的问候大卫

    • 1
  3. NeronLeVelu
    2014-09-03T01:16:54+08:002014-09-03T01:16:54+08:00
    • 样本中没有点,后跟 1 到 3 位,后跟 2 点,然后是 2 到 5 位,但端口分隔符已经有一个空格

      sed -e "s/(.[0-9]{1,3}):([0-9]{2,5})/\1 \2/g"

    • 没有双点后跟 2 位数字,后面跟着一个点、6 位数字和“Z”

      sed -e "s/(:[0-9]{2})(.[0-9]{6}Z)/\1/g"

    ...

    此外,您不需要管道 sed 操作,只需通过半列分隔操作s/pat11/pat12/opt1;s/pat21/pat22/opt2;other action

    • 0

相关问题

  • AWS RDS 的定价 [关闭]

  • 如何在 AWS ubuntu 实例上安装 apache?

  • 了解 Amazon AWS 使用数据

  • 亚马逊提供的负载均衡服务体验如何?

  • ELB 中现有节点的 AWS 自动缩放问题

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve