一、日志存储路径
在目标存储桶中,日志记录路径为:
目标存储桶/路径前缀{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 | 事件名称,即 API 操作名,详情请参见 操作列表 | UploadPart |
| 7 | remoteIp | 来源 IP | 192.168.0.1 |
| 8 | userSecretKeyId | 用户访问 KeyId | ************************************ |
| 9 | reservedField | 保留字段 | 保留字段,显示为- |
| 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;如果访问者为 服务账号,则账号格式为 被授权的主账号 UIN:角色 ID;如果是匿名访问,则显示为 – | 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) |
二、使用控制台
1. 登录 对象存储控制台。
2. 在左侧导航栏中,单击存储桶列表,进入存储桶列表管理页面。
3. 找到需要开启日志存储的源存储桶,单击该存储桶名称,进入该存储桶管理页面。
4. 在左侧导航栏中,选择日志管理 > 日志存储,单击编辑,将当前状态修改为“开启”。
5. 在日志存储的配置项中,按照以下说明进行配置:
·目标存储桶:开启日志存储的源存储桶和存放日志的目标存储桶必须在同一地域。COS 不推荐将源存储桶设置为存放日志的存储桶。
·路径前缀:输入便于你查找日志的自定义路径前缀。如不填,则默认为目标存储桶的根路径。
·服务授权:首次开启日志存储功能,你需要授权 CLS 产品服务向你的存储桶中投递访问日志。根据提示完成授权即可。
6. 确认输入信息无误后,单击保存。此时日志存储功能启用完毕。
注意:说明:
注意:开启日志存储功能后,预计需要1小时完成首批日志投递。后续每5分钟会生成一次日志,日志投递的具体时间取决于数据量大小。
7. 找到你此前配置日志存放的目标存储桶,即可看到生成的日志文件。
8. 日志文件下载后,可按照字段说明进行查看,详情请参见 日志字段说明。
注意:目前只有存储桶所有者拥有设置日志存储的权限,其他用户登录控制台不会显示日志存储配置项。
三、相关说明
·日志存储功能开启时,需要在访问管理控制台上创建日志角色,并允许该角色对目标存储桶进行日志读写操作。
·日志存储功能关闭时,不删除日志角色时,不会取消该角色对目标存储桶进行日志读写操作的授权。
四、使用 API
使用 API 为指定存储桶开启日志存储功能时,请参考以下步骤:
五、1. 创建日志角色
创建日志角色,具体接口信息请参见 CreateRole。
其中,roleName 必须为:CLS_QcsRole。
policyDocument 为:
{ "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。
七、3. 开启日志存储
调用接口,开启日志存储功能,具体接口信息请参见 PUT Bucket logging。其中,要求存放日志的目标存储桶和源存储桶在同一地域。