一个简单的例子

CONFIG proxy.config.log.logfile_dir STRING /ats_logs
CONFIG proxy.config.log.logging_enabled INT 3
CONFIG proxy.config.log.max_space_mb_for_logs INT 25000
CONFIG proxy.config.log.max_space_mb_headroom INT 1000
CONFIG proxy.config.log.squid_log_enabled INT 1
CONFIG proxy.config.log.squid_log_is_ascii INT 1
CONFIG proxy.config.log.rolling_enabled INT 1
CONFIG proxy.config.log.rolling_interval_sec INT 60
CONFIG proxy.config.log.rolling_size_mb INT 10
CONFIG proxy.config.log.auto_delete_rolled_files INT 1

后续日志配置参照上例,详细解释见下文。

日志种类

  • Error log:记录为什么某个特殊的请求出错
  • Event log(access log ):记录每个请求的状态
  • System log:包括traffic server产生的错误或警告,ats集群通讯超时等等

system log一般就是/var/log/messages

默认情况下,Error log和Event log被创建,system information记录在系统日志里。records.config中有相关配置项proxy.config.log.logging_enabled:

描述
0 关闭Error log和Event log
1 只关闭Error log
2 只关闭Event log
3 Error log和Event log全开

Event log

日志目录和空间配置

日志目录:

CONFIG proxy.config.log.logfile_dir STRING /ats_logs

日志空间相关配置:

ONFIG proxy.config.log.max_space_mb_for_logs INT 25000
CONFIG proxy.config.log.max_space_mb_headroom INT 1000

日志目录分配了25000MB的大小,如果剩余空间小于1000,将会触发相应行为。例如,如果打开了自动日志删除,则会开始删除日志。

日志格式

ats提供两种类型的日志:

  • 标准格式,例如Squid和Netscape日志
  • 自定义日志

还可以选择按二进制来记录日志还是按ASCII来记录日志。

这里以标准squid格式为例:

CONFIG proxy.config.log.squid_log_enabled INT 1
CONFIG proxy.config.log.squid_log_is_ascii INT 1 #如果是0,就表示使用二进制格式日志

日志滚动(切割)

ATS可以根据时间和日志大小来切割割日志。

CONFIG proxy.config.log.rolling_enabled INT 1 #打开日志切割
CONFIG proxy.config.log.rolling_interval_sec INT 43200  # 切割时间间隔
CONFIG proxy.config.log.rolling_offset_hr INT 5  # 具体解释见下文
CONFIG proxy.config.log.rolling_size_mb INT 10  # 日志大小上限
CONFIG proxy.config.log.auto_delete_rolled_files INT 1  # 自动删除日志

其中proxy.config.log.rolling_enabled:

  • 0: 关闭切割
  • 1: 根据时间切割
  • 2: 根据大小切割
  • 3: 根据大小和时间切割,看哪个限制先到
  • 4: 根据大小和时间切割,要两个条件都满足

config.log.rolling_interval_sec和proxy.config.log.rolling_offset_hr共同决定切割时间。比如上述配置是每天5点和17点切割日志。

参考文献:



blog comments powered by Disqus

Published

24 March 2015

Tags