开发者社区 问答 正文

如何使用Apache 日志?


Apache日志格式和目录通常在配置文件 /etc/apache2/httpd.conf 中。

Apache日志格式



日志格式


Apache日志配置文件中定义了两种打印格式,分别为combined格式和common格式。

  • combined格式:
    1. [backcolor=transparent] LogFormat[backcolor=transparent] [backcolor=transparent] "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\""[backcolor=transparent] combined

  • common格式:
    1. [backcolor=transparent] LogFormat[backcolor=transparent] [backcolor=transparent] "%h %l %u %t \"%r\" %>s %b"[backcolor=transparent] common

    声明使用了combined日志格式和写入的文件名。
    1. [backcolor=transparent]CustomLog[backcolor=transparent] [backcolor=transparent]"/var/log/apache2/access_log"[backcolor=transparent] combined


字段说明

字段格式含义
%aremote_ip
%Alocal_ip
%Bsize
%bsize
%Dtime_taken_ms
%hremote_host
%Hprotocol
%lident
%mmethod
%pport
%Ppid
“%q”url_query
“%r”request
%sstatus
%>sstatus
%ttime
%Ttime_taken
%uremote_user
%Uurl_stem
%vserver_name
%Vcanonical_name
%Ibytes_received
%Obytes_sent
“%{User-Agent}i”user_agent
“%{Referer}i”referer


日志样例

  1. [backcolor=transparent]192.168[backcolor=transparent].[backcolor=transparent]1.2[backcolor=transparent] [backcolor=transparent]-[backcolor=transparent] [backcolor=transparent]-[backcolor=transparent] [backcolor=transparent][[backcolor=transparent]02[backcolor=transparent]/[backcolor=transparent]Feb[backcolor=transparent]/[backcolor=transparent]2016[backcolor=transparent]:[backcolor=transparent]17[backcolor=transparent]:[backcolor=transparent]44[backcolor=transparent]:[backcolor=transparent]13[backcolor=transparent] [backcolor=transparent]+[backcolor=transparent]0800[backcolor=transparent]][backcolor=transparent] [backcolor=transparent]"GET /favicon.ico HTTP/1.1"[backcolor=transparent] [backcolor=transparent]404[backcolor=transparent] [backcolor=transparent]209[backcolor=transparent] [backcolor=transparent]"http://localhost/x1.html"[backcolor=transparent] [backcolor=transparent]"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.97 Safari/537.36"


配置Logtail收集Apache日志


通过Logtail收集Apache日志完整流程请参考 快速入门,根据您的网络部署和实际情况选择对应配置。本文档仅展示配置Logtail的第二步[backcolor=transparent]指定收集模式步骤中的详细配置。

  1. 填写配置名称、日志路径,并选择日志收集模式为[backcolor=transparent]完整正则模式。

  2. 输入日志样例并开启[backcolor=transparent]自动提取字段。

  3. 单击 [backcolor=transparent]手动输入正则表达式,并调整正则表达式。

    日志服务支持对日志样例划词自动解析,即对您在划词时选取的字段自动生成正则表达式。但鉴于实际的日志数据格式可能会有细微变动,您需要在根据实际情况对自动生成的正则表达式做出调整,使其符合收集过程中所有可能出现的日志格式。

    由于 length 这个字段在这里是数字类型,但有些情况下这里不是数字而是“-”,所以匹配结果(\d+)需要替换成(\S+)。如果您还有其它字段存在这种情况,请按照同样的规则完成替换。

    正则表达式修改完成后,单击 [backcolor=transparent]验证。如果正则式没有错误,会出现提取的结果,如果有错误请再次调整正则式。

  4. 为日志内容抽取结果填写对应的Key。
    分别为提取结果取一个有意义的字段名称,比如时间字段的命名为 time。开启 [backcolor=transparent]使用系统时间,然后单击 [backcolor=transparent]下一步。

Logtail配置完成后,将此配置应用到机器组即可开始规范收集Apache日志。

展开
收起
轩墨 2017-10-20 16:05:31 2084 分享 版权
0 条回答
写回答
取消 提交回答