FDS Server Access Log简介

Server Access Log提供一个让用户获取bucket访问日志的功能。通过简单的配置,用户可以让FDS把bucket的访问日志输出到指定的地方。有了访问日志,用户可以分析bucket的请求分布,进行诊断问题等。该功能配置在bucket级别,多个bucket的访问日志可以输出到同一个bucket中,通过prefix进行区分。

应用场景

用户可以启用server access log获取到bucket的访问日志。

Log格式

一条log包含17个字段,以\t作为分隔符。下面是字段列表(有序):

$time_iso8601\t$msec\t$host\t$request_method\t$status\t$upstream_addr\t$upstream_cache_status\t$upstream_status\t$server_addr\t$remote_addr\t$http_x_forwarded_for\t$request_length\t$request_time\t$bytes_sent\t$upstream_response_time\t$request_uri\t$http_user_agent

字段的含义与nignx log字段的含义一致。下面是log的一个例子:

2016-11-22T13:34:59+08:00\t1479792899.559\tcnbj0.fds.api.xiaomi.com\tHEAD\t404 \t127.0.0.1:22701\t-\t404\t10.106.205.11\t58.83.200.99\t-\t361\t0.002\t187\t0.002\t/news-image/netease/bd951ed2a40caab3f5e357fa65d242b3.jpg\tApache-HttpClient/4.5.2 (Java/1.7.0_80)

Log时间区间

分发log的程序定期在后台执行,周期为1小时。假设开启access log的时间为T1,关闭access log的时间为T2。我们不提供精确的时间控制,将输出的log限制在[T1, T2]这个时间区间。

  1. [T1-1h, T1]这个区间的log有可能被输出至目标bucket。
  2. [T2-1h, T2]这个区间的log有可能不会被输出至目标bucket。
  3. [T1, T2-1h]这个区间的log肯定会被输出至目标bucket。除非log分发程序以外的其它地方出问题(比如log没被记录下来),但这种可能性很小,可以认为是小概率事件。

开启步骤

  1. 创建用于存放log的bucket,并将WRITE权限赋予access key:5171752468980;
  2. 将需要开启access log的bucket和存放log的bucket名称通过QQ发送给我们;
  3. 我们会在后台为给定的bucket开启access log,并在QQ中反馈;
  4. 之后就可以在存放log的bucket中下载log了。

NOTE:

Web console还没提供开启access log的功能,我们会在下一次前段release时加上。目前,暂时通过上面的步骤进行开启。

results matching ""

    No results matching ""