訪問日志記錄簡介
更新時間 2024-01-26 17:08:46
最近更新時間: 2024-01-26 17:08:46
分享文章
本節主要介紹訪問日志記錄的概念。
出于分析或審計等目的,用戶可以開啟日志記錄功能。通過訪問日志記錄,桶的擁有者可以深入分析訪問該桶的用戶請求性質、類型或趨勢。當用戶開啟一個桶的日志記錄功能后,OBS會自動對這個桶的訪問請求記錄日志,并生成日志文件寫入用戶指定的桶(即目標桶)中。
當日志記錄開啟后,目標存儲桶的日志投遞用戶組會同步開啟桶的寫入權限和ACL讀取權限。若手動將日志投遞用戶組的桶寫入權限和ACL讀取權限關閉,桶的日志記錄會失敗。
OBS支持對桶的訪問請求創建并保存訪問日志記錄,可用于進行請求分析或日志審計。
由于日志存儲在OBS中也會占用用戶的OBS存儲空間,即意味著將產生額外的存儲費用,默認情況下,OBS不會為用戶的桶收集訪問日志。
由于日志文件是OBS產生,并且由OBS上傳到存放日志的桶中,因此OBS需要獲得委托授權,用于上傳生成的日志文件。所以在配置桶日志記錄前,需要先到統一身份認證服務生成一個對OBS服務的委托,并在配置日志記錄時添加該委托。默認情況下,在為委托配置權限時只需設置日志存儲桶的上傳對象(PutObject)權限,示例如下(其中mybucketlogs為日志存儲桶的桶名)。如果日志存儲桶開啟了默認加密功能,還需要委托同時具有日志存儲桶所在區域的KMS Administrator權限。
{
"Version": "1.1",
"Statement": [
{
"Action": [
"obs:object:PutObject"
],
"Resource": [
"OBS:*:*:object:mybucketlogs/*"
],
"Effect": "Allow"
}
]
}
日志記錄設置成功后,大約15分鐘后可在日志存儲目標桶中查看到桶的操作日志。
以下所示為在目標桶生成的桶訪問日志文件記錄:
787f2f92b20943998a4fe2ab75eb09b8 bucket [13/Aug/2015:01:43:42 +0000] xx.xx.xx.xx
787f2f92b20943998a4fe2ab75eb09b8 281599BACAD9376ECE141B842B94535B REST.GET.BUCKET.LOCATION
- "GET /bucket?location HTTP/1.1" 200 - 211 - 6 6 "-" "HttpClient" - -
每個桶訪問日志都包含以下信息:
| 名稱 | 示例 | 含義 |
|---|---|---|
| BucketOwner | 787f2f92b20943998a4fe2ab75eb09b8 | 桶的ownerId |
| Bucket | bucket | 桶名 |
| Time | [13/Aug/2015:01:43:42 +0000] | 請求時間戳(UTC) |
| Remote IP | xx.xx.xx.xx | 請求IP |
| Requester | 787f2f92b20943998a4fe2ab75eb09b8 | 請求者ID |
| RequestID | 281599BACAD9376ECE141B842B94535B | 請求ID |
| Operation | REST.GET.BUCKET.LOCATION | 操作名稱 |
| Key | - | 對象名 |
| Request-URI | GET /bucket?location HTTP/1.1 | 請求URI |
| HTTPStatus | 200 | 返回碼 |
| ErrorCode | - | 錯誤碼 |
| BytesSent | 211 | HTTP響應的字節大小 |
| ObjectSize | - | 對象大小(bytes) |
| TotalTime | 6 | 服務端處理時間(ms) |
| Turn-AroundTime | 6 | 總請求時間(ms) |
| Referer | - | 請求的referrer頭域 |
| User-Agent | HttpClient | 請求的user-agent頭域 |
| VersionID | - | 請求中帶的versionId |
| STSLogUrn | - | 聯邦認證及委托授權信息 |
| StorageClass | STANDARD_IA | 當前的對象存儲類別 |
| TargetStorageClass | GLACIER | 通過轉換后的對象存儲類別 |