日志记录
使用场景
出于分析或审计等目的,用户可以开启日志记录功能。通过访问日志记录,桶的拥有者可以深入分析访问该桶的用户请求性质、类型或趋势。当用户开启一个桶的日志记录功能后,OBS会自动对这个桶的访问请求记录日志,并生成日志文件写入用户指定的桶中。
日志文件存放位置需要在开启桶日志功能时指定,可以存放到您拥有的,且与开启日志功能的桶位于同一区域的任一存储桶,当然也包括开启日志功能的桶本身。为了更有效的管理日志,建议您将日志存放到不同的桶中。当日志存储桶为开启日志功能的桶本身时,OBS将为写入该存储桶的日志创建额外的日志,这将增加您的存储账单费用,且由于额外日志的存在,将使您在寻找需要的日志时更加困难。
 
   - 桶日志上传会产生相应的PUT请求费用,PUT请求费用的具体说明请参考OBS计费说明。
 - 日志记录设置成功后,大约15分钟后可在日志存储桶中查看到桶的操作日志。
 
OBS支持对桶的访问请求创建并保存访问日志记录,可用于进行请求分析或日志审计。
由于日志存储在OBS中也会占用用户租用的OBS存储空间,即意味着将产生额外的存储费用,默认情况下,OBS不会为用户的桶收集访问日志。
由于日志文件是OBS产生,并且由OBS上传到存放日志的桶中,因此OBS需要获得委托授权,用于上传生成的日志文件。所以在配置桶日志记录前,需要先到统一身份认证服务生成一个对OBS服务的委托,并在配置日志记录时添加该委托。默认情况下,在为委托配置权限时只需设置日志存储桶的上传对象权限,示例如下(其中mybucketlogs为日志存储桶的桶名)。如果日志存储桶开启了默认加密功能,还需要委托同时具有日志存储桶所在区域的KMS Administrator权限。
{
    "Version": "1.1",
    "Statement": [
        {
            "Action": [
                "obs:object:PutObject"
            ],
            "Resource": [
                "OBS:*:*:object:mybucketlogs/*"
            ],
            "Effect": "Allow"
        }
    ]
}
  以下所示为在日志存储桶生成的桶访问日志文件记录:
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  | 
      
        操作名称 常见的Operation及其描述请参见表2。  | 
     
| 
        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) 
         说明: 
         TotalTime和Turn-AroundTime是一个参数的两种叫法,两者无区别。  | 
     
| 
        Referer  | 
      
        -  | 
      
        请求的referer头域  | 
     
| 
        User-Agent  | 
      
        HttpClient  | 
      
        请求的user-agent头域  | 
     
| 
        VersionID  | 
      
        -  | 
      
        请求中带的versionId  | 
     
| 
        STSLogUrn  | 
      
        -  | 
      
        联邦认证及委托授权信息  | 
     
| 
        StorageClass  | 
      
        STANDARD_IA  | 
      
        当前的对象存储类型  | 
     
| 
        TargetStorageClass  | 
      
        GLACIER  | 
      
        通过转换后的对象存储类型  | 
     
| 
        DentryName  | 
      
        12456/file.txt  | 
      
       
  | 
     
| 
        IAMUserID  | 
      
        8f3b8c53d29244a780084f2b8c106c32  | 
      
        IAM用户ID。 当使用匿名用户发起请求,记为Anonymous。  | 
     
| 
        Operation  | 
      
        描述  | 
      
        Operation  | 
      
        描述  | 
     
|---|---|---|---|
| 
        REST.GET.SERVICE  | 
      
        获取桶列表  | 
      
        REST.GET.ENCRYPTION  | 
      
        获取桶的加密配置  | 
     
| 
        REST.PUT.BUCKET  | 
      
        创建桶  | 
      
        REST.DELETE.ENCRYPTION  | 
      
        删除桶的加密配置  | 
     
| 
        REST.HEAD.BUCKET  | 
      
        查看桶  | 
      
        REST.PUT.OTM_DIRECT_COLD_ACCESS  | 
      
        设置桶归档对象直读策略  | 
     
| 
        REST.GET.BUCKETVERSIONS  | 
      
        列举桶内对象  | 
      
        REST.GET.OTM_DIRECT_COLD_ACCESS  | 
      
        获取桶归档对象直读策略  | 
     
| 
        REST.GET.BUCKET  | 
      
        获取桶元数据  | 
      
        REST.DELETE.OTM_DIRECT_COLD_ACCESS  | 
      
        删除桶归档对象直读策略  | 
     
| 
        REST.GET.BUCKET.LOCATION  | 
      
        获取桶区域位置  | 
      
        REST.PUT.BUCKET.WEBSITE  | 
      
        设置桶的网站配置  | 
     
| 
        REST.DELETE.BUCKET  | 
      
        删除桶  | 
      
        REST.GET.BUCKET.WEBSITE  | 
      
        获取桶的网站配置  | 
     
| 
        REST.PUT.POLICY  | 
      
        设置桶策略  | 
      
        REST.DEL.BUCKET.WEBSITE  | 
      
        删除桶的网站配置  | 
     
| 
        REST.GET.POLICY  | 
      
        获取桶策略  | 
      
        REST.PUT.BUCKET.CORS  | 
      
        设置桶的CORS配置  | 
     
| 
        REST.DELETE.POLICY  | 
      
        删除桶策略  | 
      
        REST.GET.BUCKET.CORS  | 
      
        获取桶的CORS配置  | 
     
| 
        REST.PUT.ACL  | 
      
        设置桶ACL、设置对象ACL  | 
      
        REST.DEL.BUCKET.CORS  | 
      
        删除桶的CORS配置  | 
     
| 
        REST.GET.ACL  | 
      
        获取桶ACL、获取对象ACL  | 
      
        REST.OPTIONS.BUCKET  | 
      
        OPTIONS桶  | 
     
| 
        REST.PUT.LOGGING_STATUS  | 
      
        设置桶日志管理配置  | 
      
        REST.OPTIONS.OBJECT  | 
      
        OPTIONS对象  | 
     
| 
        REST.GET.LOGGING_STATUS  | 
      
        获取桶日志管理配置  | 
      
        REST.PUT.OBJECT  | 
      
        PUT上传  | 
     
| 
        REST.PUT.BUCKET.LIFECYCLE  | 
      
        设置桶的生命周期配置  | 
      
        REST.POST.OBJECT  | 
      
        POST上传  | 
     
| 
        REST.GET.LIFECYCLE  | 
      
        获取桶的生命周期配置  | 
      
        REST.COPY.OBJECT  | 
      
        复制对象  | 
     
| 
        REST.DEL.LIFECYCLE  | 
      
        删除桶的生命周期配置  | 
      
        REST.GET.OBJECT  | 
      
        获取对象内容  | 
     
| 
        REST.PUT.VERSIONING  | 
      
        设置桶的多版本状态  | 
      
        REST.HEAD.OBJECT  | 
      
        获取对象元数据  | 
     
| 
        REST.GET.VERSIONING  | 
      
        获取桶的多版本状态  | 
      
        REST.DELETE.OBJECT  | 
      
        删除对象  | 
     
| 
        REST.GET.BUCKET.STORAGE.POLICY  | 
      
        设置桶默认存储类别  | 
      
        REST.TRANSITION.STORAGECLASS.OBJECT  | 
      
        修改对象存储类别  | 
     
| 
        REST.PUT.BUCKET.STORAGE.POLICY  | 
      
        获取桶默认存储类别  | 
      
        OP_MULTIPLE_DELETEOBJECT  | 
      
        批量删除对象  | 
     
| 
        REST.PUT.REPLICATION  | 
      
        设置桶的跨区域复制配置  | 
      
        REST.POST.RESTORE  | 
      
        恢复归档存储对象  | 
     
| 
        REST.DELETE.REPLICATION  | 
      
        删除桶的跨区域复制配置  | 
      
        REST.APPEND.OBJECT  | 
      
        追加写对象  | 
     
| 
        REST.GET.REPLICATION  | 
      
        获取桶的跨区域复制配置  | 
      
        REST.MODIFY.OBJECT.META  | 
      
        修改对象元数据  | 
     
| 
        REST.PUT.TAGGING  | 
      
        设置桶标签  | 
      
        REST.TRUNCATE.OBJECT  | 
      
        截断对象  | 
     
| 
        REST.GET.TAGGING  | 
      
        获取桶标签  | 
      
        REST.RENAME.OBJECT  | 
      
        重命名对象  | 
     
| 
        REST.DEL.TAGGING  | 
      
        删除桶标签  | 
      
        REST.GET.UPLOADS  | 
      
        列举桶中已初始化多段任务  | 
     
| 
        REST.PUT.BUCKET_QUOTA  | 
      
        设置桶配额  | 
      
        REST.POST.UPLOADS  | 
      
        初始化多段上传任务  | 
     
| 
        REST.GET.BUCKET.QUOTA  | 
      
        获取桶配额  | 
      
        REST.PUT.PART  | 
      
        上传段  | 
     
| 
        REST.GET.BUCKET.STORAGEINFO  | 
      
        获取桶存量信息  | 
      
        REST.COPY.PART  | 
      
        拷贝段  | 
     
| 
        REST.PUT.BUCKET.INVENTORY  | 
      
        设置桶清单  | 
      
        REST.GET.UPLOAD  | 
      
        列举已上传的段  | 
     
| 
        REST.GET.BUCKET.INVENTORY  | 
      
        获取桶清单、列举桶清单  | 
      
        REST.POST.UPLOAD  | 
      
        合并段  | 
     
| 
        REST.DELETE.BUCKET.INVENTORY  | 
      
        删除桶清单  | 
      
        REST.DELETE.UPLOAD  | 
      
        取消多段上传任务  | 
     
| 
        REST.PUT.CUSTOMDOMAIN  | 
      
        设置桶的自定义域名  | 
      
        REST.CLEAR.EXPIRE.UPLOAD  | 
      
        清理过期的段  | 
     
| 
        REST.GET.CUSTOMDOMAIN  | 
      
        获取桶的自定义域名  | 
      
        REST.DELETE.CUSTOMDOMAIN  | 
      
        删除桶的自定义域名  | 
     
| 
        REST.PUT.ENCRYPTION  | 
      
        设置桶的加密配置  | 
      
        -  | 
      
        -  |