更新时间:2024-04-16 GMT+08:00

访问日志记录简介

出于分析目的,用户可以开启日志记录功能。通过访问日志记录,桶的拥有者可以深入分析访问该桶的用户请求性质、类型或趋势。当用户开启一个桶的日志记录功能后,OBS会自动对这个桶的访问请求记录日志,并生成日志文件写入用户指定的桶(即目标桶)中。

当日志记录开启后,目标存储桶的日志投递用户组会同步开启桶的写入权限和ACL读取权限。如果手动将日志投递用户组的桶写入权限和ACL读取权限关闭,桶的日志记录会失败。

OBS支持对桶的访问请求创建并保存访问日志记录,可用于进行请求分析。

由于日志文件是OBS产生,并且由OBS上传到存放日志的桶中,因此OBS需要获得委托授权,用于上传生成的日志文件。所以在配置桶日志记录前,需要先到统一身份认证服务生成一个对OBS服务的委托,并在配置日志记录时添加该委托。默认情况下,在为委托配置权限时只需设置日志存储桶的上传对象(PutObject)权限,示例如下(其中mybucketlogs为日志存储桶的桶名)。

{
    "Version": "1.1",
    "Statement": [
        {
            "Action": [
                "obs:object:PutObject"
            ],
            "Resource": [
                "OBS:*:*:object:mybucketlogs/*"
            ],
            "Effect": "Allow"
        }
    ]
}

由于日志存储在OBS中也会占用用户租用的OBS存储空间,默认情况下,OBS不会为用户的桶收集访问日志。

日志记录设置成功后,大约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" - -

每个桶访问日志都包含以下信息:

表1 Bucket Logging格式

名称

示例

含义

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

-

联邦认证及委托授权信息