简介
日志检索,又称实时日志功能。对象存储(Cloud Object Storage,COS)支持日志检索能力,能够记录存储桶相关的各种请求日志,并实现对日志数据的实时检索与分析。您可以在 COS 控制台快速为存储桶开启此功能,进一步帮助您完成异常事件回溯和问题定位等工作。
注意
使用实时日志查询功能,会产生费用,该费用由日志服务CLS收取,详细的计费标准请参见 日志服务计费概述。 目前 COS 的日志检索功能支持的地域包括北京、广州、上海、成都、南京、重庆、中国香港、硅谷、新加坡、孟买、法兰克福、多伦多、深圳金融、上海金融。后续会计划支持更多地域,请关注产品动态。
COS 不保证日志数据100%准确性,仅作为参考,不作为计量和计费依据。
操作步骤
开通日志检索
2. 在左侧导航栏中,单击存储桶列表,进入存储桶列表管理页面。
3. 找到需要开启日志检索的存储桶,单击该存储桶名称,进入该存储桶管理页面。
4. 在左侧导航栏中,选择日志管理 > 日志检索。
5. 在日志检索页面,若当前存储桶未开通实时日志功能,请单击立即开通进行使用。
说明:
开通成功后,该存储桶的访问日志将被投递至 CLS 同地域下的日志主题中,日志主题名称为 cos-log-store。首次开通需授权。
开启字段统计分析
日志检索支持按照字段进行快速统计分析,无需填写查询语句。默认支持字段请参见 日志字段说明,更多信息请参见 快速分析。 注意:
若您希望对日志按照某字段进行统计分析,请务必为该字段开启统计,可通过以下两种方式快速开启。
方式一:在原始日志页开启
1. 进入原始日志页。
2. 找到希望开启的字段,单击立即开启。
方式二:在索引配置开启
1. 单击索引配置,进入索引配置页。
2. 在索引配置页面单击右上角的编辑,找到希望开启的字段,打开开关,确认无误后单击确定完成保存。
3. 开启成功后,即可查看该字段的统计分析情况。单击某一数字,即可自动生成对应的检索分析语句和图表。
输入检索分析语句
注意:
索引配置是使用日志服务(Cloud Log Service,CLS)进行检索分析的必要条件,只有开启索引才能对日志进行检索分析。索引配置较为复杂,建议您使用 编辑索引配置 中的推荐配置,能够满足大多数使用需求。更多相关信息请参见 索引配置。 检索分析语句由检索条件和 SQL 语句组成,输入检索分析语句,对访问日志进行检索和统计分析。
检索条件:指定日志需要匹配的条件,返回符合该条件的日志。例如使用status:404检索响应状态码为404的应用请求日志。检索条件为空或*时代表无检索条件,即所有日志。更多语法规则和示例信息请参见 检索条件语法。 SQL 语句:针对符合检索条件的日志进行统计分析,返回统计分析结果。例如使用status:404 | select count(*) as logCounts统计响应状态码为404的日志数量。更多语法使用和示例信息请参见 SQL语句语法。 1. 在日志检索页面,选择检索分析语句输入模式,支持交互模式、语句模式两种。
交互模式:通过鼠标点击指定检索条件及统计分析规则,自动生成检索分析语句,易用性高。
语句模式:直接输入检索分析语句,需符合语法规则,灵活度高。
2. 若您需要切换语法规则,可单击下拉选择语法规则,进行切换。支持 CQL 和 Lucene,更多语法规则和示例信息请参见 检索条件语法。 3. 输入检索分析语句,选择时间范围,单击搜索按钮即可检索该存储桶上报到 CLS 的访问日志。
查看日志检索结果、统计分析结果
检索成功后,在日志检索页面可查看访问日志的检索结果、统计分析结果。分别对应原始日志和统计图表,支持快捷切换。详细说明如下:
原始日志:当检索分析语句仅包含检索条件时,可在原始日志中查看匹配检索条件的日志,默认按日志时间倒排。
统计图表:当检索分析语句包含 SQL 语句时,可在统计图表中查看分析结果,同时还可在原始日志中查看符合检索条件的日志,以便于对比分析统计结果及原始日志。
原始日志
1.1 支持查看当前检索条件下,指定时间范围内的日志统计情况,以柱状图展示。
1.2 默认以原始形式展示日志数据,支持自定义配置。
1.3 日志数据下仅展示“显示字段”,若您希望查看更多或者隐藏日志对应的字段信息,可通过下述三种方式实现:
列表操作:在原始日志下,左侧面板快速找到该字段,单击显示或隐藏即可完成配置。
日志详情:展开某条日志查看详情,单击查看图标,即可快速隐藏或者显示某字段。针对每条日志,您还可以查看 JSON 格式的数据,并支持一键复制。除此之外,单击字段值还可以进行自定义跳转。
版面配置:单击右侧“版面:默认配置”,选择管理配置。您可以批量设置显示字段,单击应用即可完成配置。
统计图表
统计图表默认以表格类型展示分析结果,您可以通过右侧的“图表配置”自定义设置图表类型和相关信息。若要进一步对存储桶访问日志进行可视化与告警的配置, 请前往 CLS 控制台。 下载日志和导出分析结果
下载日志
1. 单击右侧下载按钮,选择下载日志。
2. 在弹出的窗口中,配置如下信息,确认无误后,单击导出。
3. 完成后会创建一条导出任务,此时自动进入导出记录页面,可以查看当前任务进度,并支持删除和下载任务。在等待过程中,您可以退出当前页面,从右侧下载按钮中单击导出记录,即可再次进入该页面。
导出分析结果
单击右侧导出分析数据,将会下载分析结果至本地。
关闭日志检索
若您不希望继续使用某存储桶的日志检索功能,可单击关闭日志检索。
注意:
关闭前请前往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. 选择时间范围,单击搜索查询,进入统计分析页面,即可查询统计分析结果,右侧支持切换图表类型。
3. 若查询语句运行失败,建议您检查报错信息中指出的错误位置,错误原因可参考 检索分析报错。 案例二:查询近90天访问文件
1. 选择语句模式,输入以下SQL语句:
* | select reqPath group by reqPath limit 1000000
2. 选择时间范围为近90天,单击搜索查询,进入统计分析页面,即可查询统计分析结果,右侧支持切换图表类型。
案例三:统计指定前缀的请求数、流量及存储量
例如,存储桶内有以下文件均产生日志请求,希望统计指定前缀为1的对象(即文件路径为"/111"、"/112"、"/101"的对象)的请求数、流量及存储量。
注意:
对象流量:指日志请求中,对象的总返回字节数。
对象存储量:指日志请求中,不包含“-”的对象大小(objectSize)之和。详情参见 日志字段说明。 1. 选择交互模式,单击添加检索条件,指定 reqPath 包含 /1* ,指定时间范围,筛选出前缀为1的对象请求日志,其中*为通配符。
2. 在输入框里输入以下语句:
SELECT count(*) as "请求数",sum(resBytesSent) as "流量",SUM(CAST(objectSize AS INT)) AS "存储量" WHERE objectSize != '-'
3. 或者在步骤1选择语句模式,直接输入以下SQL语句:
reqPath:"/1*" | SELECT count(*) as "请求数",sum(resBytesSent) as "流量",SUM(CAST(objectSize AS INT)) AS "存储量" WHERE objectSize != '-'
4. 选择时间范围,单击搜索查询,进入统计分析页面,即可查询统计分析结果,右侧支持切换图表类型。
案例四:某个文件访问不了,定位原因
1. 选择交互模式,单击添加检索条件。指定需要查找的文件名,并选择时间范围,单击搜索查询日志。
2. 点击左侧字段名称,打开快速分析,按 resHttpCode 字段进行统计分析。查看异常状态码的日志信息,例如403状态码、204状态码等。
3. 针对异常状态码,可以单击状态码,选择添加到本次检索筛选日志。在日志详情可查看其他字段的情况,建议重点关注reqMethod字段等。示意图中代表,该文件被执行了删除操作,导致对象访问失败。