设置日志记录请求头或查询参数

访问对象存储服务(OSS)时,默认的访问日志提供了一组固定字段,以满足基本分析需求。如果您需要更细致地追踪和分析用户行为或满足特定的监控要求,可能需要设置其他字段。OSS的自定义日志字段user_defined_log_fields允许您记录特定的请求头和查询参数,以满足自定义字段分析需求。

背景信息

对于一个HTTP请求来说,查询参数和请求头基本上就决定了这个请求的特征,而OSS记录的访问日志只包含了这些特征的一部分。关于日志的更多信息,请参见访问日志

如果您有自己的需求,可以通过日志记录请求头或查询参数功能,记录自己关心的那部分没体现在访问日志中的请求特征。关于请求头和查询参数的定义,请参见rfc2616

使用场景

  • 分析代理服务器信息:您需要通过分析x-forwarded-for头来分析中间链路代理的情况,但是OSS提供的标准日志中并没有这个字段,您可以通过配置自定义Header字段的方式来实现。

  • 通过查询参数对请求分类:您的URLhttp://bucketname.aliyuncs.com/hu.jpg?yyy=45&eee=88&rrr=huyanbin,而OSS的日志目前不会记录URL后面的这些参数,如果您希望在日志中记录rrreee等参数的值,可以通过配置自定义查询参数的方式实现。

注意事项

  • 一行仅填写一个请求头或查询参数,最多可以填写6个请求头或查询参数。

  • 本功能将相关信息统一编码后填入固定字段user_defined_log_fields中。user_defined_log_fields字段的值是一个JSON文本Base64编码后的值,这个JSON文本默认有一个字段为“truncated”用于表示是否有截断发生,另外有两个字段“headers”和“querys”分别对应用户配置的请求头和查询参数信息。

  • 请求头不支持下划线(_),可以使用短划线(-)替代。查询参数支持下划线(_)。

  • 请求头需要遵从HTTP协议的规定。必须是可打印的ASCII字符,即字符33到字符126,支持小数点(.),不支持冒号(:)。

  • 自定义请求头及查询参数的key、value长度总和不能超过1024字节,超过部分会被截断。key会转为小写,记录在日志中也是小写;value不会做大小写转换,日志中会记录用户请求传递的信息(除非被截断)。

前提条件

  • 请确保您已开启实时日志查询。具体操作,请参见实时日志查询

  • 请确保您发起的请求中含有相关的日志记录请求头或查询参数。更多信息,请参见发起请求

操作步骤

  1. 登录OSS管理控制台

  2. 单击Bucket 列表,然后单击目标Bucket名称。

  3. 在左侧导航栏,选择日志管理 > 实时查询

  4. 实时查询页签,单击日志记录请求头或查询参数右侧的添加

  5. 设置日志记录请求头或查询参数对话框,单击日志字段自定义配置右侧的+图标。

  6. 选择请求头查询参数,输入对应的取值,然后单击确定

    说明

    日志中添加了您自定义的请求头或查询参数信息后,将在15分钟内生效。

相关文档

基于OSS用户自定义日志字段分析中间链路代理