访问对象存储服务(OSS)时,默认的访问日志提供了一组固定字段,以满足基本分析需求。如果您需要更细致地追踪和分析用户行为或满足特定的监控要求,可能需要设置其他字段。OSS的自定义日志字段user_defined_log_fields
允许您记录特定的请求头和查询参数,以满足自定义字段分析需求。
背景信息
对于一个HTTP请求来说,查询参数和请求头基本上就决定了这个请求的特征,而OSS记录的访问日志只包含了这些特征的一部分。关于日志的更多信息,请参见访问日志。
如果您有自己的需求,可以通过日志记录请求头或查询参数功能,记录自己关心的那部分没体现在访问日志中的请求特征。关于请求头和查询参数的定义,请参见rfc2616。
使用场景
分析代理服务器信息:您需要通过分析
x-forwarded-for
头来分析中间链路代理的情况,但是OSS提供的标准日志中并没有这个字段,您可以通过配置自定义Header字段的方式来实现。通过查询参数对请求分类:您的URL是
http://bucketname.aliyuncs.com/hu.jpg?yyy=45&eee=88&rrr=huyanbin
,而OSS的日志目前不会记录URL后面的这些参数,如果您希望在日志中记录rrr与eee等参数的值,可以通过配置自定义查询参数的方式实现。
注意事项
一行仅填写一个请求头或查询参数,最多可以填写6个请求头或查询参数。
本功能将相关信息统一编码后填入固定字段
user_defined_log_fields
中。user_defined_log_fields
字段的值是一个JSON文本Base64编码后的值,这个JSON文本默认有一个字段为“truncated”用于表示是否有截断发生,另外有两个字段“headers”和“querys”分别对应用户配置的请求头和查询参数信息。请求头不支持下划线(_),可以使用短划线(-)替代。查询参数支持下划线(_)。
请求头需要遵从HTTP协议的规定。必须是可打印的ASCII字符,即字符33到字符126,支持小数点(.),不支持冒号(:)。
自定义请求头及查询参数的key、value长度总和不能超过1024字节,超过部分会被截断。key会转为小写,记录在日志中也是小写;value不会做大小写转换,日志中会记录用户请求传递的信息(除非被截断)。
前提条件
操作步骤
登录OSS管理控制台。
单击Bucket 列表,然后单击目标Bucket名称。
在左侧导航栏,选择
。在实时查询页签,单击日志记录请求头或查询参数右侧的添加。
在设置日志记录请求头或查询参数对话框,单击日志字段自定义配置右侧的+图标。
选择请求头或查询参数,输入对应的取值,然后单击确定。
说明日志中添加了您自定义的请求头或查询参数信息后,将在15分钟内生效。