首页 > ATS 4.2.3自定义日志文件格式的方法

ATS 4.2.3自定义日志文件格式的方法

我只是总结归纳了别人的方法,并做了实际验证,在这里记录一下,以备大家参考,向参考文献中的各位前辈致敬。

ATS默认的日志格式是squid.log,我们可以在/var/log/trafficserver目录下面使用下面的命令查看

traffic_logcat -f squid.log

-f可以省略,看到的日志信息如下:





配置下面的选项来开启自定义日志格式

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文件内容如下



 

  % % % [%] %<{X-Forwarded-For}cqh> "%" % "%" %:% %<{Referer}cqh> "%<{User-Agent}cqh>" %"/>









 

 



得到的access.log的日志如下,第2个200是源站响应状态码

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

另外根据业务需要也可以如下的自定义格式

% %<{X-Forwarded-For}cqh> %/% % % % % %/% %
t> ”%<{Referer}cqh>” ”%<{User-Agent}cqh>” % %”/>

% % % % % % % %"/>

然后reload配置文件

traffic_line -x

在日志目录下面,使用

tail -f access.log

看到如下日志



豪哥给的这个例子很有启发性,值得回味:

logs_xml.config的格式在文件中有例子,并且在admin guide中有详细的说明, 我们以线上需要记录非淘宝的所有请求为例:







 

  ] % % 81 % "%<{Referer}cqh>" "%" % % % % % "%<{User-Agent}cqh>"" />









   

   

   









   

   

   









 

 

 

 



我们定义了一个自定义的日志格式taobao





我们定义了2个反的过滤条件

定义了一个日志收集方式:将满足非taobao.com非taobaocdn.com的访问日志记录 到远程机器console1.cn63上的tb_squid.log中



参考文献

[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  纸鸢

更多相关:

  • ELK:(ELK 由 ElasticSearch 、 Logstash 和 Kiabana 三个开源工具组成),Elasticsearch用于存储日志信息,Logstash用于收集日志,Kibana用于图形化展示。上一节我们介绍了如何使用docker-compose搭建ELK日志分析系统。传送门:传说中的ELK日志分析系统,手把手教你...

  • 欢迎关注头条号:老顾聊技术精品原创技术分享,知识的组装工目录前言常用日志组件什么是日志门面和日志实现常见的日志框架日志使用@slf4j注解日志的配置logback-spring配置总结前言日志是我们系统必备的功能之一,可以帮助我们开发人员定位系统的异常、错误以及运行流程的重要的工具。今天老顾就来介绍一下Spring boot的默认的l...

  • glog简介 glog是著名的google开源C++日志库glog(https://github.com/google/glog)的golang版本,glog是一个轻量级的日志库,上手简单不需要配置文件并且稳定高效,可以自定义控制的内容比较少。  glog主要有以下几个特点:  1. glog有四种日志等级INFO < WARING...

  • 应用场景 该配置文件用于ATS用作反向代理模式,访问日志被server域名分隔。比如,我想将sohu和ifeng的域名的日志分别记在两个不同的日志文件中,其它的日志统一记在默认的日志文件中。 配置 为了将不同源站的HTTP transaction记录在不同的日志文件中,你必须在log_hosts.config中列举出每...

  • 缘起 近来因为公司项目需要,阅读了一部分ATS logging system的源码实现,越发觉得logs_xml.config文件的配置非常重要,而我目前只是实践了一点它的皮毛。为此,根据自己的理解,翻译了官网的这篇文档,以作备忘。 logs_xml.config文件定义了自定义日志文件格式,过滤器和处理选项。文件格式采用x...