訪問對象存儲服務(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分鐘內生效。