简介
日志管理功能能够记录对于指定源存储桶的详细访问信息,并将这些信息以日志文件的形式保存在指定的存储桶中,以实现对存储桶更好的管理。
在目标存储桶中,日志记录路径为:
目标存储桶/路径前缀{YYYY}/{MM}/{DD}/{time}_{random}_{index}
日志每5分钟生成一次,一条记录为一行,每条记录包含多个字段,字段之间以空格分割。需要注意的是,单个日志文件最大为256MB,如果您在这5分钟内产生的日志量超过256MB,那您的日志会被分割成多份日志文件。目前支持的日志字段如下:
字段序号 | 名 称 | 含 义 | 示例 |
1 | eventVersion | 记录版本 | 1.0 |
2 | bucketName | 存储桶名称 | examplebucket-1250000000 |
3 | qcsRegion | 请求地域 | ap-beijing |
4 | eventTime | 事件时间(请求结束时间,UTC 0时 时间戳) | 2018-12-01T11:02:33Z |
5 | eventSource | 用户访问的域名 | examplebucket-1250000000.cos.ap-guangzhou.myqcloud.com |
6 | eventName | 事件名称 | UploadPart |
7 | remoteIp | 来源 IP | 192.168.0.1 |
8 | userSecretKeyId | 用户访问 KeyId | ************************************ |
9 | reservedFiled | 保留字段 | 保留字段,显示为 - |
10 | reqBytesSent | 请求字节数(Bytes) | 83886080 |
11 | deltaDataSize | 请求对存储量的改变(Bytes) | 808 |
12 | reqPath | 请求的文件路径 | /folder/text.txt |
13 | reqMethod | 请求方法 | put |
14 | userAgent | 用户 UA | cos-go-sdk-v5.2.9 |
15 | resHttpCode | HTTP 返回码 | 404 |
16 | resErrorCode | 错误码 | NoSuchKey |
17 | resErrorMsg | 错误信息 | The specified key does not exist. |
18 | resBytesSent | 返回字节数(Bytes) | 197 |
19 | resTotalTime | 请求总耗时(毫秒,等于响应末字节的时间-请求首字节的时间) | 4295 |
20 | logSourceType | 日志源类型 | USER(用户访问请求),CDN(CDN 回源请求) |
21 | storageClass | 存储类型 | STANDARD,STANDARD_IA,ARCHIVE |
22 | accountId | 存储桶所有者 ID | 100000000001 |
23 | resTurnAroundTime | 请求服务端耗时(毫秒,等于响应首字节的时间-请求末字节的时间) | 4295 |
24 | requester | 访问者账号。 如果访问者为主账号,则账号格式为 主账号 UIN:主账号 UIN ;如果访问者为子账号,则账号格式为 主账号 UIN:子账号 UIN ;如果是匿名访问,则显示为 - | 100000000001:100000000001 |
25 | requestId | 请求 ID | NWQ1ZjY4MTBfMjZiMjU4NjRfOWI1N180NDBiYTY= |
26 | objectSize | 对象大小(Bytes) | 808,如果您使用分块上传,objectSize 字段只会在完成上传的时候显示,各个分块上传期间该字段显示 - |
27 | versionId | 对象版本 ID | 随机字符串 |
28 | targetStorageClass | 目标存储类型,发起复制操作的请求会记录该字段 | STANDARD,STANDARD_IA,ARCHIVE |
29 | referer | 请求的 HTTP referer | *.example.com 或者111.111.111.1 |
30 | requestUri | 请求 URI | "GET /fdgfdgsf%20/%E6%B5%AE%E7%82%B9%E6%95%B0 HTTP/1.1"
说明:如果签名是使用 query_string 形式,那么在 requestUri 中将展示签名,否则 requestUri 中不会包含签名信息 |
31 | vpcId | VPC 请求 ID | "0"(非VPC)/"12345"(VPC,为不为"0"的 string) |
注意:
目前 COS 的日志管理功能支持的地域包括北京、南京、上海、广州、成都、重庆、深圳金融、上海金融、中国香港、新加坡、首尔、曼谷、东京、硅谷、弗吉尼亚、法兰克福。
日志管理功能要求源存储桶与目标存储桶必须在同一地域。
存放日志的目标存储桶可以是源存储桶本身,但不推荐。
目前只有 XML API 以及基于 XML API 实现的 SDK、工具等进行的请求访问存储桶时,才会记录日志。JSON API 以及基于 JSON API 实现的 SDK、工具等进行的访问,不会记录日志。
根据用户需求和业务发展情况,COS 可能在访问日志中新增字段,请在解析日志时务必做好相应处理。
启用日志管理
使用控制台
使用 API
使用 API 为指定存储桶开启日志管理功能时,请参考以下步骤:
1. 创建日志角色
{"version": "2.0","statement": [{"action": "name/sts:AssumeRole","effect": "allow","principal": {"service": "cls.cloud.tencent.com"}}]}
2. 日志角色绑定权限
角色权限绑定权限,具体接口信息参见 AttachRolePolicy。
其中,policyName 为:QcloudCOSAccessForCLSRole,roleName 为第1步中的 CLS_QcsRole,也可以使用创建 roleName 时返回的 roleID。