ATS 4.2.3自定义日志文件格式的方法
我只是總結(jié)歸納了別人的方法,并做了實(shí)際驗(yàn)證,在這里記錄一下,以備大家參考,向參考文獻(xiàn)中的各位前輩致敬。
ATS默認(rèn)的日志格式是squid.log,我們可以在/var/log/trafficserver目錄下面使用下面的命令查看
traffic_logcat -f squid.log
-f可以省略,看到的日志信息如下:
配置下面的選項(xiàng)來開啟自定義日志格式
CONFIG proxy.config.log.custom_logs_enabled INT 1
CONFIG proxy.config.log.squid_log_enabled INT 0
CONFIG proxy.config.log.xml_config_file STRING logs_xml.config
其中,logs_xml.config文件內(nèi)容如下
<LogFormat>
? <Name = "access"/>
? <Format = "%<cqtq> %<ttms> %<pssc> %<sssc> [%<cqtt>] %<{X-Forwarded-For}cqh> \"%<cqtx>\" %<psql> \"%<pqsi>\" %<crc>:%<phr> %<{Referer}cqh> \"%<{User-Agent}cqh>\" %<psct>"/>
</LogFormat>
<LogObject>
? <Format = "access"/>
? <Filename = "access"/>
</LogObject>
得到的access.log的日志如下,第2個200是源站響應(yīng)狀態(tài)碼
1429609187.040 488 200 200 [17:39:47] - "GET http://m3.biz.itc.cn/pic/new/n/90/98/Img7669890_n.jpg HTTP/1.1" 44010 "61.135.132.59" TCP_MISS:DIRECT http://book.sohu.com/s2015/xlldtb/ "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:37.0) Gecko/20100101 Firefox/37.0" image/jpeg
另外根據(jù)業(yè)務(wù)需要也可以如下的自定義格式
<Format = “%<cqtq> %<ttms> %<{X-Forwarded-For}cqh> %<crc>/%<pssc> %<pscl> %<cqhm> %<cquuc> %<cqhv> %<phr>/%<pqsi> %<psc
t> \”%<{Referer}cqh>\” \”%<{User-Agent}cqh>\” %<shn> %<sscl>”/>
<Format = "%<cqts> %<ttms> %<chi> %<crc> %<pssc> %<psql> %<cqhm> %<cquuh> %<cquup>"/>
然后reload配置文件
traffic_line -x
在日志目錄下面,使用
tail -f access.log
看到如下日志
豪哥給的這個例子很有啟發(fā)性,值得回味:
logs_xml.config的格式在文件中有例子,并且在admin guide中有詳細(xì)的說明, 我們以線上需要記錄非淘寶的所有請求為例:
<LogFormat>
? <Name = "taobao"/>
? <Format = "combined [%<cqtn>] %<chi> %<phi> 81 %<ttms> \"%<{Referer}cqh>\" \"%<cqtx>\" %<pssc> %<cqhl> %<psql> %<psct> %<crc> \"%<{User-Agent}cqh>\"" />
</LogFormat>
<LogFilter>
? ? <Name = "not_taobaocdn.com"/>
? ? <Condition = "shn CASE_INSENSITIVE_CONTAIN taobaocdn.com"/>
? ? <Action = "REJECT"/>
</LogFilter>
<LogFilter>
? ? <Name = "not_taobao.com"/>
? ? <Condition = "shn CASE_INSENSITIVE_CONTAIN taobao.com"/>
? ? <Action = "REJECT"/>
</LogFilter>
<LogObject>
? <Format = "taobao"/>
? <Filename = "tb_squid"/>
? <Filters = "not_taobaocdn.com,not_taobao.com"/>
? <CollationHosts = "console1.cn63:8085"/>
</LogObject>
我們定義了一個自定義的日志格式taobao
我們定義了2個反的過濾條件
定義了一個日志收集方式:將滿足非taobao.com非taobaocdn.com的訪問日志記錄 到遠(yuǎn)程機(jī)器console1.cn63上的tb_squid.log中
參考文獻(xiàn)
[1].http://www.zymlinux.net/trafficserver/FAQ.html? 豪哥
[2].http://www.shencan.net/index.php/2012/08/18/trafficserver%E7%9A%84%E9%83%A8%E7%BD%B2%E4%B8%8E%E4%BD%BF%E7%94%A8/?replytocom=3?燦哥
[3].https://blog.zymlinux.net/index.php/archives/398? 紙鳶
總結(jié)
以上是生活随笔為你收集整理的ATS 4.2.3自定义日志文件格式的方法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ATS 4.2.3隐藏服务器名称及版本号
- 下一篇: 在CentOS 6.3 64bit上为A