简介
日志管理功能能够记录对于指定源存储桶的详细访问信息,并将这些信息以日志文件的形式保存在指定的存储桶中,以实现对存储桶更好的管理。
在目标存储桶中,日志记录路径为:
目标存储桶/路径前缀{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 可能在访问日志中新增字段,请在解析日志时务必做好相应处理。
COS 不保证日志数据100%准确性,仅作为参考,不作为计量和计费依据。
启用日志管理
使用控制台
1. 登录 对象存储控制台。
2. 在左侧导航栏中,单击存储桶列表,进入存储桶列表管理页面。
3. 找到需要开启日志存储的源存储桶,单击该存储桶名称,进入该存储桶管理页面。
4. 在左侧导航栏中,选择日志管理 > 日志存储,单击编辑,将当前状态修改为“开启”。
5. 在日志存储的配置项中,按照以下说明进行配置:
目标存储桶:开启日志存储的源存储桶和存放日志的目标存储桶必须在同一地域。COS 不推荐将源存储桶设置为存放日志的存储桶。
路径前缀:输入便于您查找日志的自定义路径前缀。如不填,则默认为目标存储桶的根路径。
服务授权:首次开启日志存储功能,您需要授权 CLS 产品服务向您的存储桶中投递访问日志。根据提示完成授权即可。
6. 确认输入信息无误后,单击保存。此时日志存储功能启用完毕。
说明:
开启日志存储功能后,预计需要1小时完成首批日志投递。后续每5分钟会生成一次日志,日志投递的具体时间取决于数据量大小。
7. 找到您此前配置日志存放的目标存储桶,即可看到生成的日志文件。

8. 日志文件下载后,可按照字段说明进行查看,详情请参见 日志字段说明。
注意:
目前只有存储桶所有者拥有设置日志存储的权限,其他用户登录控制台不会显示日志存储配置项。
相关说明
日志存储功能开启时,需要在访问管理控制台上创建日志角色,并允许该角色对目标存储桶进行日志读写操作。
日志存储功能关闭时,不删除日志角色时,不会取消该角色对目标存储桶进行日志读写操作的授权。
使用 API
使用 API 为指定存储桶开启日志管理功能时,请参考以下步骤:
1. 创建日志角色
{"version": "2.0","statement": [{"action": "name/sts:AssumeRole","effect": "allow","principal": {"service": "cls.cloud.tencent.com"}}]}
2. 日志角色绑定权限
其中,policyName 为:QcloudCOSAccessForCLSRole。roleName 为第1步中的 CLS_QcsRole,也可以使用创建 roleName 时返回的 roleID。