- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
TrafficServer日志系统配置指南
淘仇恕(张云开)
最近更新:2013/09/12
一、TS日志系统简介
在中大规模的软件系统中,日志系统(logging system ),已经成为标配。Linux有syslog, Java有Log4j,Python有logging模块。日志系统的模型,已经非常成熟,大体如下图所示:
是日志系统里,允许配置多个日志对象(LogObject ),这些对象描述了日志的过滤规则
(filter)、格式(format)、以及日志的去向(target )。日志的输入(in put),是通过约定的 日志API,由应用程序调用这些 API完成输入。日志最终会输出(output)到磁盘或写入到网络 的另一台日志服务器上。
在 TrafficServer 中:
日志输入,由的TrafficServer的worker线程完成,这些线程会把 HTTP状态机的信息, 直接传递给日志系统的 API里。
日志API,由两个简洁的函数组成: Log::access() 访问日志,Log::error() 错误
日志。
日志对象,通过一个logs_xml.config 文件描述,这个文件通常位于:/etc/trafficserver/目 录下,文件内部对配置方法有详细的描述。
日志输出,由LogObject的target属性描述,但在具体的logs_xml.config 中,target属 性由 LogObject 的 File name 及 Collatio nH osts 描述。如果不存在 Collatio nH osts,则表 示输出到本地磁盘,否则输出到网络上的日志服务器。
在讲解TS的日志系统配置之前,需要先了解 TS日志系统的内部结构,包括它的线程模型、工 作流程。下图对其内部结构进行简要描述:
由上图可知,TS的日志系统,其线程包含:
worker 线程,即日志的输入方,它会调用 Log::access()/Log::error() 日志API。在这些
API内部,会根据用户在logs_xml.config配置的LogObject对日志进行过滤。若满足了 过虑条件,则把该条日志写入到该 LogObject下的LogBuffer里。若LogBuffer已满,则
把它发送到预处理线程的 queue里,然后继续与下一个 LogObject的过虑条件进行匹
配,直到所有LogObject都匹配结束。
preproc 线程,即预处理线程,它负责做一些转换工作(例如,把 worker线程传递进来
的HTTP状态机,根据LogObject的format格式,转换成Ascii字符串,这部分转换工 作不是必需的,取决于LogObject配置的日志类型,若是二进制类型则不进行转换), 然后根据LogObject的target类型,把预处理后的数据发送到 flush队列或collation队
列。
flush线程,这部分线程只是简单地把 preproc线程传递过来的预处理过的内容,写到磁 盘上。
net线程,负责把preproc线程传递过来的、未经转换的 LogBuffer发送到远端的日志服
务器上(日志服务器在接收到 LogBuffer后,再经过它自己的预处理线程、flush线程,
最终写到磁盘上,也可以继续发送到其他日志服务器)。
有了前面的基础知识,下面开始介绍日志系统的配置参数。
二、TS日志系统配置指南
TS日志系统涉及到的参数还挺多的,并不是每个参数都需要关注。为了简明起见,先给出一份 适合咱们淘宝场景的配置单(未列出的选项,使用 TS的默认值):
日志客户端的配置
LOCAL proxy.local.log.collation_mode INT 0
CONFIG proxy.co nfig.log.max_space_mb_for_logs INT 2500
CONFIG proxy.c on fig.log.max_space_mb_for_orpha n」ogs INT 2500
CONFIG proxy.co nfig.log.max_space_mb_headroom INT 1000
CONFIG proxy.config.log.squid_log_enabled INT 0
CONFIG proxy.co nfig.log.log_buffer_size INT 262144
CONFIG proxy.co nfig.log.collation_max_se nd_buffers INT 1024
CONFIG proxy.co nfig.log.ascii_buffer_size INT 524288 〃log_buffer_size 两
倍
CONFIG proxy.c on fig.log
您可能关注的文档
最近下载
- 西门子S7-1500通过报文111实现对汇川SV660F伺服驱动器位置控制.docx VIP
- 通过InoDriverShop伺服调试软件连接汇川SV660F系列伺服的具体方法(以太网).docx VIP
- 12 《石钟山记》公开课一等奖创新教案统编版高中语文选择性必修下册.docx VIP
- 什么是智能体.docx VIP
- 2023年高考真题分类汇编:电磁学1.pdf VIP
- 伺服调试软件-InoDriverShop-用户手册.pdf VIP
- 个体工商户采购合同(通用).doc VIP
- 中央安全生产考核巡查明查暗访20项工作内容清单.pptx VIP
- 钢结构设计基础钢檩条设计檩条的布置连接与构造檀秋芬04课件讲解.pptx VIP
- 智能体与大模型的关系.docx VIP
原创力文档


文档评论(0)