简介
对象存储(Cloud Object Storage,COS)基于日志服务(Cloud Log Service,CLS)提供日志检索功能。日志检索,又称实时日志功能,能够记录存储桶相关的各种请求日志,并实现对日志数据的实时检索与分析。您可以在 COS 控制台快速为存储桶开启此功能,进一步帮助您完成异常事件回溯和问题定位等工作。更多介绍信息请参见 CLS 检索分析概述。
注意:
如需为 COS 存储桶开启实时日志功能,需先 开通 CLS 日志服务。
使用实时日志查询功能,会产生费用,该费用由日志服务CLS收取,详细的计费标准请参见 日志服务计费概述。
目前 COS 的日志检索功能支持的地域包括北京、上海、广州、成都、南京、重庆、中国香港、新加坡、东京、美西硅谷、法兰克福。后续会计划支持更多地域,请关注产品动态。
COS 不保证日志数据100%准确性,仅作为参考,不作为计量和计费依据。
操作步骤
开通日志检索
1. 登录 对象存储控制台。
2. 在左侧导航栏中,单击存储桶列表,进入存储桶列表管理页面。
3. 找到需要开启日志检索的存储桶,单击该存储桶名称,进入该存储桶管理页面。
4. 在左侧导航栏中,选择日志管理 > 日志检索。
5. 在日志检索页面,若当前存储桶未开通实时日志功能,请单击立即开通进行使用。
说明:
COS 基于日志服务 CLS 提供了访问日志实时查询,默认保存近 7 天数据。
开通成功后,该存储桶的访问日志将被投递到与存储桶同地域的 CLS 日志主题中,日志主题名称为 cos-log-store。首次开通需授权。
开启字段统计分析
注意:
若您希望对日志按照某字段进行统计分析,请提前为该字段开启统计,可通过以下两种方式快速开启。
方式一:在索引配置开启
说明:
通过该方式,可以对已开启统计的字段进行关闭。
1. 单击索引配置,进入索引配置页。
2. 在索引配置页面单击右上角的编辑,找到希望开启统计的字段,打开开关,确认无误后单击确定完成配置。
注意:
3. 开启成功后,单击对应字段可查看该字段对应的TOP5日志情况。单击某一数字,可选择在统计图表中查看或查看变化趋势,同时将自动生成对应的检索分析语句和图表。单击更多值可查看在某个时间段(默认为近15分钟)的统计数据。
方式二:在原始日志页开启
1. 进入原始日志页。
2. 找到希望开启统计分析的字段,单击立即开启。
说明:
如需关闭已开启统计的字段,请使用上方的索引配置。
输入检索分析语句
注意:
检索分析语句由检索条件和 SQL 语句组成,输入检索分析语句,对访问日志进行检索和统计分析。
检索条件:指定日志需要匹配的条件,返回符合该条件的日志。例如使用
resHttpCode:"404"
检索响应状态码为404的应用请求日志。检索条件为空或*
时代表无检索条件,即检索所有日志。更多语法规则和示例信息请参见 检索条件语法。SQL 语句:针对符合检索条件的日志进行统计分析,返回统计分析结果。例如使用
resHttpCode="404" | select count(*) as logCounts limit 10000
统计响应状态码为404的日志数量。更多语法使用和示例信息请参见 SQL语句语法。交互模式:通过鼠标点击指定检索条件及统计分析规则,自动生成检索分析语句,易用性高。
语句模式:直接输入检索分析语句,需符合语法规则,灵活度高。
操作步骤
交互模式下,选择指定字段,然后配置统计分析指标,选择时间范围,单击搜索按钮即可检索该存储桶上报到 CLS 的访问日志。
语句模式下,输入检索分析语句,选择时间范围,单击搜索按钮即可检索该存储桶上报到 CLS 的访问日志。
查看日志检索结果、统计分析结果
检索成功后,在日志检索页面可查看访问日志的检索结果、统计分析结果。分别对应原始日志和统计图表,支持快捷切换。详细说明如下:
原始日志:当仅通过包含检索条件时,可在原始日志中查看匹配检索条件的日志,默认按日志时间倒排。
统计图表:当检索分析语句包含 SQL 语句时,可在统计图表中查看分析结果,同时还可在原始日志中查看符合检索条件的日志,以便于对比分析统计结果及原始日志。
原始日志
1. 支持查看当前检索条件下,指定时间范围内的日志统计情况,以柱状图展示。
2. 默认以原始形式展示日志数据,支持切换表格、换行等自定义配置。
3. 日志数据下仅展示“显示字段”,若您希望查看更多或者隐藏日志对应的字段信息,可通过下述三种方式实现:
列表操作:在原始日志下,左侧面板快速找到该字段,单击显示或隐藏即可完成配置。
日志详情:展开某条日志查看详情,单击查看图标,即可快速隐藏或者显示某字段。针对每条日志,您还可以查看 JSON 格式的数据,并支持一键复制。除此之外,单击字段值还可以进行自定义跳转,详情参见 自定义跳转。
显示指定字段:您可以切换显示原始日志或者指定字段;此外可切换默认版面和保存当前版面。
单击管理配置,可以调整默认配置的字段、日志排序,或新建版面。最后单击应用即可。
统计图表
下载日志和导出分析结果
下载日志
1. 在原始日志页面,单击右侧下载按钮,选择下载日志。
2. 在弹出的窗口中,按需配置如下信息,确认无误后,单击导出。
3. 进入导出记录页面,可以查看当前任务进度,支持删除和下载操作。在等待过程中,您可以退出当前页面,从右侧下载按钮中单击导出记录,即可再次进入该页面。
导出分析结果
在统计图表页面,单击右侧导出分析数据,将会下载分析结果至本地。
关闭日志检索
若您不希望继续使用某存储桶的日志检索功能,可单击关闭日志检索。
注意:
关闭存储桶的日志检索功能后,请前往 日志服务 CLS 日志主题控制台 检查存储桶所在地域下是否存在空日志主题。若存在,建议及时删除操作,避免产生额外计费。关于日志服务 CLS 的计费标准请参见日志服务 计费概述 文档。
日志字段说明
字段序号 | 名称 | 含义 | 示例 |
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 | AKIDNYVCdoJQyGJ5brTf |
9 | reqBytesSent | 请求字节数(Bytes) | 83886080 |
10 | deltaDataSize | 请求对存储量的改变(Bytes) | 808 |
11 | reqPath | 请求的文件路径 | /folder/text.txt |
12 | reqMethod | 请求方法 | put |
13 | userAgent | 用户 UA | cos-go-sdk-v5.2.9 |
14 | resHttpCode | HTTP 返回码 | 404 |
15 | resErrorCode | 错误码 | NoSuchKey |
16 | resErrorMsg | 错误信息 | The specified key does not exist. |
17 | resBytesSent | 返回字节数(Bytes) | 197 |
18 | resTotalTime | 请求总耗时(毫秒,等于响应末字节的时间-请求首字节的时间) | 4295 |
19 | logSourceType | 日志源类型 | USER(用户访问请求),CDN(CDN 回源请求) |
20 | storageClass | 存储类型 | STANDARD,STANDARD_IA,ARCHIVE |
21 | accountId | 存储桶所有者 ID | 100000000001 |
22 | requester | 访问者 | 主账号 ID:子账号 ID,如果是匿名访问则显示 - 。 |
23 | requestId | 请求 ID | NWQ1ZjY4MTBfMjZiMjU4NjRfOWI1N180NDBiYTY= |
24 | objectSize | 对象大小(Bytes) | 808,如果您使用分块上传,objectSize 字段只会在完成上传的时候显示,各个分块上传期间该字段显示 - |
25 | versionId | 对象版本 ID | 随机字符串 |
26 | targetStorageClass | 目标存储类型,发起复制操作的请求会记录该字段 | STANDARD,STANDARD_IA,ARCHIVE |
27 | referer | 请求的 HTTP referer | *.example.com 或者111.111.111.1 |
28 | requestUri | 请求 URI | "GET /fdgfdgsf%20/%E6%B5%AE%E7%82%B9%E6%95%B0 HTTP/1.1" |
29 | resTurnAroundTime | 请求服务端耗时(毫秒,等于响应首字节的时间-请求末字节的时间) | 4295 |
30 | vpcId | VPC 请求 ID | "0"(非VPC)/"12345"(VPC,为不为"0"的 string) |
常用示例
案例一:查询访问量在TOP50的 IP
1. 选择语句模式,输入以下SQL语句:
*
|
select
count
(
*
)
as
PV
,
remoteIp
as
IP
group
by
IP
order
by
PV
desc
limit
50
count(*) as PV
:统计所有日志条数,即 PV。group by IP
:按 IP 分组,统计每个 IP 对应的 PV。order by PV desc
:按照 PV 降序排序,优先展示 PV 高的 IP。limit 50
:只返回查询结果中的前50条,即 PV 排名前50的 IP。2. 选择时间范围(例如近30分钟),单击搜索查询,进入统计图表页面,即可查询仅30分钟内的统计分析结果,右侧支持切换图表类型。
说明:
案例二:查询近90天请求的文件路径
1. 选择语句模式,输入以下SQL语句:
* | select reqPath group by reqPath limit 1000000
2. 选择时间范围为近90天,单击搜索查询,进入统计图表页面,即可查询统计分析结果,右侧支持切换图表类型。
案例三:统计指定前缀的请求数、流量及存储量
例如,存储桶内有以下文件均产生日志请求,希望统计指定前缀为
ap
的对象(即文件路径为"/ap"、"/ap1"的对象)的请求数、流量及存储量。注意:
对象请求数(resBytesSent):指日志请求中,对象的请求字节数(Bytes)。
对象流量(objectSize):指日志请求中,对象的总返回字节数。
对象存储量:指日志请求中,不包含“-”的对象大小(objectSize)之和。详情参见 日志字段说明。
1. 选择交互模式,单击添加检索条件,指定 reqPath 包含 /ap* ,筛选出前缀为
ap
的对象请求日志,其中*
为通配符。
2. 在输入框里输入以下语句:
SELECT
count
(
*
)
as
"请求数"
,
sum
(
resBytesSent
)
as
"流量"
,
SUM
(
CAST
(
objectSize
AS
INT
)
)
AS
"存储量"
WHERE
objectSize
!=
'-'
3. 或者在步骤1选择语句模式,直接输入以下SQL语句:
reqPath:"/ap*" | SELECT count(*) as "请求数",sum(resBytesSent) as "流量",SUM(CAST(objectSize AS INT)) AS "存储量" WHERE objectSize != '-'
4. 选择时间范围,单击搜索查询,进入统计图表页面,即可查询统计分析结果,右侧支持切换图表类型。
案例四:某个文件访问不了,定位原因
1. 选择交互模式,单击添加检索条件。指定需要查找的文件名,并选择时间范围,单击搜索查询日志。
2. 单击左侧字段名称,打开快速分析,按 resHttpCode 字段进行统计分析。查看异常状态码的日志信息,例如403状态码、204状态码等。
3. 针对异常状态码,可以单击状态码,选择添加到本次检索筛选日志。在日志详情可查看其他字段的情况,建议重点关注 reqMethod 字段等。
如下图所示,该文件被执行了删除操作,导致对象访问失败。