# 桶日志分析使用示例
本章节以查询热点对象（TOP10请求次数对象）为例，介绍一个完整的日志配置和分析过程，并提供典型场景的日志查询语句。
#### 资源和成本规划
表1资源规划 
| 区域                                                                                                       | 资源  | 资源名称                   | 资源说明                       | 数量 | 费用                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
|:---|:---|:---|:---|:---|:---|
| 华北-北京四 （OBS桶、日志组、日志流需要处于同一个区） | OBS桶 | lts-bestpractice       | 用于配置日志分析的桶。                  | 1 | 根据上传至桶中的对象占用的存储空间收费，具体请参见[存储费用](https://support.huaweicloud.com/price-obs/obs_42_0003.html)。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| 华北-北京四 （OBS桶、日志组、日志流需要处于同一个区） | 日志组   | lts-group-bestpractice | LTS日志组，用于管理日志。               | 1   | - LTS会动态收集日志数据并存储，涉及日志存储费用。  - 日志数据上传至LTS，会涉及日志读写流量费用。  - 日志的搜索与分析会涉及索引流量-标准型日志流费用。   相关费用详细介绍参考[LTS计费说明](https://support.huaweicloud.com/price-lts/lts_001_05.html)。 |
| 华北-北京四 （OBS桶、日志组、日志流需要处于同一个区） | 日志流  | log-streams-bestpractice  | LTS日志流，用于存储日志，对日志进行分类管理。 | 1   | - LTS会动态收集日志数据并存储，涉及日志存储费用。  - 日志数据上传至LTS，会涉及日志读写流量费用。  - 日志的搜索与分析会涉及索引流量-标准型日志流费用。   相关费用详细介绍参考[LTS计费说明](https://support.huaweicloud.com/price-lts/lts_001_05.html)。 |
   
#### 前提条件
已有一个需要进行日志分析的桶，桶中有对象。创建桶操作请参见[创建桶](https://support.huaweicloud.com/usermanual-obs/zh-cn_topic_0045829088.html#ZH-CN_TOPIC_0000001952642149)，上传对象操作请参见[上传对象](https://support.huaweicloud.com/usermanual-obs/zh-cn_topic_0045829661.html#ZH-CN_TOPIC_0000002431041564)。
#### 操作流程
图1日志分析配置流程图   
![](https://support.huaweicloud.com/usermanual-obs/figure/zh-cn_image_0000002782979379.png "点击放大")
图[图1]为使用LTS实时分析OBS日志的操作流程图。
#### 实施步骤
使用LTS实时分析日志步骤如下：
#### 步骤一：开启日志分析并绑定日志组、日志流
1. 在OBS[管理控制台](https://console.huaweicloud.com/console/?locale=zh-cn#/obs/manager/buckets)左侧导航栏选择"桶列表"。
2. 在桶列表中，单击待操作的桶，进入"对象"页面。
3. 在左侧导航栏，选择"日志管理 \> 日志分析"，进入日志分析页面。
4. 单击右上角的"配置访问日志"。 
   ![](https://support.huaweicloud.com/usermanual-obs/figure/zh-cn_image_0000002782819549.png "点击放大")
   
   
   
5. 在"对接LTS配置"弹窗中，设置相关参数。 
   图2对接LTS配置   
   ![](https://support.huaweicloud.com/usermanual-obs/figure/zh-cn_image_0000002753540458.png "点击放大")
   表2对接LTS配置参数说明 
   | 参数名称  | **示例**                       | 参数说明                                                                                                                                                                |
   |:---|:---|:---|
   | 日志对接LTS | **开启**                         | 开关打开后，系统会将桶产生的日志存储至LTS，以便使用LTS进行日志搜索和分析。                                                                                                                           |
   | 日志类型 | **OBS访问日志**                    | 接入LTS的云服务。 默认勾选"OBS访问日志"且不支持修改，如果需取消请直接取消上方"日志对接LTS"复选框。 |
   | 项目      | **华北-北京四**                    | 此处选择桶所在区域。                                                                                                                                                          |
   | 日志组      | **lts-group-bestpractice**   | 选择您在LTS中创建的日志组。如果您没有可用的日志组，请单击"创建日志组"来创建新的日志组，配置参数说明参见[创建日志组](https://support.huaweicloud.com/usermanual-lts/lts_04_0003.html)。                                   |
   | 日志流    | **log-streams-bestpractice** | 选择您在对应日志组下创建的日志流。如果您没有可用的日志流，请单击"创建日志流"来创建新的日志流，配置参数说明参见[创建日志流](https://support.huaweicloud.com/usermanual-lts/lts_04_0004.html)。                                  |
      
   
   
6. 单击"确定"。 
   日志分析配置成功后，大约10分钟后可在日志分析页面下方查看到桶的操作日志。
   
   
 
 #### 步骤二：配置日志流云端结构化解析
1. 单击"日志详情"右上角的"日志设置"按钮，进入日志流的设置页面。 
   ![](https://support.huaweicloud.com/usermanual-obs/figure/zh-cn_image_0000002782979381.png "点击放大")
   
   
2. 切换至"云端结构化解析"页签。
3. 配置以下参数，其他参数保持默认。 
   关于更多参数说明，请参见[设置日志云端结构化解析](https://support.huaweicloud.com/usermanual-lts/lts_0823.html#section2)。
   ![](https://support.huaweicloud.com/usermanual-obs/figure/zh-cn_image_0000002782819551.png "点击放大")
   表3云端结构化解析参数说明 
   | 参数         | **示例**                                                                                       | 描述                                                                                                              |
   |:---|:---|:---|
   | 日志结构化方式   | **JSON**                                                                                      | 请根据日志内容的实际场景选择日志结构化方式。 此处选择"JSON"。 |
   | 步骤1 选择示例日志 | **请参见[示例日志]。** | 示例日志，将作为下一步智能提取的输入，用于提取日志字段。                                                                                     |
   | 步骤2 字段提取  | **智能提取**                                                                                       | 选择"智能提取"，自动提取示例日志中的字段。                                                                                         |
      
   - 示例日志
     ```
     {"referer":"https://console.huaweicloud.com/obs/gray?locale=zh-cn&region=cn-north-4","content_length_in":0,"vpc_id":"-","owner_id":"29e******","bucket_storage_type":"STANDARD","http_method":"HEAD","response_body_length":0,"source_identity":"-","bucket_location":"cn-north-4","host":"lts-bestpractice.obs.cn-north-4.huaweicloud.com","client_ip":"100.00.0.000","server_cost_time":6,"vpc_addr":"-","sign_type":"v2","user_agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/150.0.0.0 Safari/537.36 Edg/150.0.0.0","object_size":"0","object_storage_class":"STANDARD","object_target_storage_class":"-","ssl_protocol":"TLSv1.2","http_type":"https","http_range":"-","request_uri":"/obj1","bucket":"dsa","principle_urn":"-","enterprise_project_id":"0","request_length":2756,"content_length_out":0,"access_key":"HSTA***","logging":"FALSE","http_status":200,"response_time":6,"error_code":"-","time":"25/Jul/2026:16:43:00","request_id":"42f75cef266754de18c8d4b9abd2ed3a","operation":"HEAD.OBJECT","requester_id":"5cc796b35e824f30a6a63982f360fc47","object":"obj1"}
     ```
     
    
   
   
4. 单击"保存"。
 
#### 步骤三：配置日志流索引
1. 单击"日志详情"右上角的"日志设置"按钮，进入日志流的设置页面。
2. 切换至"索引配置"页签。
3. 单击"字段索引"下的"自动配置"。 
   ![](https://support.huaweicloud.com/usermanual-obs/figure/zh-cn_image_0000002753380572.png "点击放大")
   **字段索引** 是指通过添加[步骤二：配置日志流云端结构化解析]中提取的字段，对日志数据进行统计与分析，如果您在云端结构化解析界面对字段名称进行了修改，请重新添加字段索引。
   关于更多参数说明，请参见[创建LTS日志索引](https://support.huaweicloud.com/usermanual-lts/lts_05_0008.html)。
   
   
4. 单击"确定"。
 
#### 步骤四：分析日志
1. 选择"日志搜索"页签，在搜索框输入SQL语句，查询和分析OBS日志。 
   ![](https://support.huaweicloud.com/usermanual-obs/figure/zh-cn_image_0000002753540460.png "点击放大")
   例如查询TOP10请求次数对象，可输入以下SQL语句查询：
   示例中的字段含义如下：
   - bucket：桶名，请**修改为您自己的桶名**。
   
   - LIMIT：查询结果的数量限制，可**根据诉求自行配置**。比如查询TOP10请求次数对象，就将值设置为10。
   
   
   ```
   * | SELECT
       url_decode(object) AS 对象路径,
       COUNT(*) AS 请求次数
   FROM log
   WHERE
       bucket = 'lts-bestpractice'
       AND object IS NOT NULL
       AND object != ''
       AND object != '-'
   GROUP BY 对象路径
   ORDER BY 请求次数 DESC
   LIMIT 10
   ```
   
   
2. 选择"统计图表"页签，查看日志分析结果。 
   日志分析结果如下图，已列举出TOP10请求次数对象：
   ![](https://support.huaweicloud.com/usermanual-obs/figure/zh-cn_image_0000002782979383.png "点击放大")
   
   
#### 更多日志查询SQL示例
以下为典型场景的SQL查询语句，SQL示例中常用字段的含义如下，可根据业务诉求自行调整：
- bucket：桶名，请**修改为您自己的桶名**。
- LIMIT：查询结果的数量限制，可**根据诉求自行配置**。比如查询TOP10请求次数对象，就将值设置为10。
- http_method：请求方法。查询上行流量，可设置为 PUT、POST；查询下行流量，可设置为GET。
- date_parse：日志时间点。可根据业务诉求设置要查询的日志起始时间和结束时间。
 
#### TOP10 请求次数对象
以下示例按照请求次数，统计桶lts-bestpractice内TOP10高频访问的对象，可根据业务诉求调整桶名。
```
* | SELECT
    url_decode(object) AS 对象路径,
    COUNT(*) AS 请求次数
FROM log
WHERE
    bucket = 'lts-bestpractice'
    AND object IS NOT NULL
    AND object != ''
    AND object != '-'
GROUP BY 对象路径
ORDER BY 请求次数 DESC
LIMIT 10
```
示例查询结果：
![](https://support.huaweicloud.com/usermanual-obs/figure/zh-cn_image_0000002782819553.png "点击放大")
#### TOP10 流量对象路径及对应的IP
以下示例按照Get流量大小，统计桶lts-bestpractice内TOP10高频访问流量对象，以及对应的访问IP。可根据业务诉求调整桶名，如果要查询PUT流量，可将http_method的值修改为PUT。
```
* | SELECT
    url_decode(object) AS 对象路径,
    client_ip AS 对应IP,
    SUM(content_length_out) AS 总流量_bytes
FROM log
WHERE bucket = 'lts-bestpractice'
  AND http_method = 'GET' 
  AND object IS NOT NULL AND object != '' AND object != '-'
GROUP BY 对象路径, client_ip
ORDER BY 总流量_bytes DESC
LIMIT 10
```
示例查询结果：
![](https://support.huaweicloud.com/usermanual-obs/figure/zh-cn_image_0000002753380574.png "点击放大")
#### 全天按小时维度，查询占用流量多的TOP10对象路径及对应的IP
以下示例按照Get流量大小，以小时为维度，分时间段统计桶lts-bestpractice内TOP10高频访问流量对象。可根据业务诉求调整桶名，如果要查询PUT流量，可将http_method的值修改为PUT。
```
* | SELECT
    date_format(from_unixtime(小时戳 / 1000), '%Y-%m-%d %H:00') AS 小时,
    对象路径, 对应IP, 带宽_Byte
FROM (
    SELECT
        (__time__ - __time__ % 3600000) AS 小时戳,
        url_decode(object) AS 对象路径,
        client_ip AS 对应IP,
        ROUND(SUM(content_length_out), 2) AS 带宽_Byte,
        ROW_NUMBER() OVER (PARTITION BY (__time__ - __time__ % 3600000) ORDER BY SUM(content_length_out) DESC) AS rn
    FROM log
    WHERE bucket = 'lts-bestpractice'
      AND http_method = 'GET'
      AND object IS NOT NULL AND object != '' AND object != '-'
    GROUP BY 小时戳, 对象路径, client_ip
) t
WHERE rn <= 10
ORDER BY 小时戳, rn
```
示例查询结果：
![](https://support.huaweicloud.com/usermanual-obs/figure/zh-cn_image_0000002753540462.png "点击放大")
#### 分析各个规格对象的访问热度
以下示例以对象大小为分类依据，分别统计桶lts-bestpractice内小于1GB、1GB\~2GB、2GB\~3GB、大于3GB等规格对象的请求次数，可根据业务诉求调整桶名。
```
* | SELECT
    CASE
        WHEN object_size != '-' AND parse_long(object_size) < 1073741824 THEN '< 1GB'
        WHEN object_size != '-' AND parse_long(object_size) < 2147483648 THEN '1GB ~ 2GB'
        WHEN object_size != '-' AND parse_long(object_size) < 3221225472 THEN '2GB ~ 3GB'
        WHEN object_size != '-' AND parse_long(object_size) >= 3221225472 THEN '≥ 3GB'
        ELSE '其他/无大小'
    END AS 规格区间,
    COUNT(*) AS 请求次数
FROM log
WHERE
    bucket = 'lts-bestpractice'
    AND object IS NOT NULL
    AND object != ''
    AND object != '-'
GROUP BY 规格区间
ORDER BY 请求次数 DESC
```
示例查询结果：
![](https://support.huaweicloud.com/usermanual-obs/figure/zh-cn_image_0000002782979385.png "点击放大")
#### TOP10请求次数IP
以下示例按照请求次数，统计桶lts-bestpractice内TOP10高频访问的IP，可根据业务诉求调整桶名。
```
* | SELECT
    client_ip AS 客户端IP,
    operation AS 操作类型,
    COUNT(*) AS 操作次数
FROM
    log
WHERE
    bucket = 'lts-bestpractice'
    AND client_ip IS NOT NULL
    AND client_ip != ''
    AND client_ip != '-'
GROUP BY
    client_ip,
    operation
ORDER BY
    操作次数 DESC
LIMIT 10
```
示例查询结果：
![](https://support.huaweicloud.com/usermanual-obs/figure/zh-cn_image_0000002782819555.png "点击放大")
#### TOP10流量IP
以下示例按照流量大小，统计桶lts-bestpractice内TOP10高流量的对象，可根据业务诉求调整桶名。
```
* | SELECT
    client_ip AS 客户端IP,
    SUM(content_length_in) AS 上行_bytes,
    SUM(content_length_out) AS 下行_bytes,
    SUM(content_length_in) + SUM(content_length_out) AS 总流量_bytes,
    ROUND((SUM(content_length_in) + SUM(content_length_out)), 2) AS 带宽_Byte
FROM log
WHERE bucket = 'lts-bestpractice'
  AND client_ip IS NOT NULL AND client_ip != '' AND client_ip != '-'
GROUP BY client_ip
ORDER BY 总流量_bytes DESC
LIMIT 10
```
示例查询结果：
![](https://support.huaweicloud.com/usermanual-obs/figure/zh-cn_image_0000002753380576.png "点击放大")
#### TOP10请求次数AK
以下示例按照请求次数，统计访问桶lts-bestpractice内的TOP10高频AK，可根据业务诉求调整桶名。
```
* | SELECT
    access_key AS 访问密钥,
    COUNT(*) AS 访问次数
FROM log
WHERE
    bucket = 'lts-bestpractice'
    AND access_key IS NOT NULL
    AND access_key != ''
    AND access_key != '-'
GROUP BY access_key
ORDER BY 访问次数 DESC
LIMIT 10
```
示例查询结果：
![](https://support.huaweicloud.com/usermanual-obs/figure/zh-cn_image_0000002753540464.png "点击放大")
#### TOP10流量AK
以下示例按照流量大小，统计访问桶lts-bestpractice内的TOP10高流量AK，可根据业务诉求调整桶名、日志统计的开始和结束时间。
```
* | SELECT access_key AS 访问密钥, SUM(content_length_in + content_length_out) AS 流量
FROM log
WHERE bucket = 'lts-bestpractice'
  AND access_key IS NOT NULL AND access_key != '' AND access_key != '-'
  AND date_parse(time, '%d/%b/%Y:%H:%i:%s') >= date_parse('2026-09-01 00:00:00', '%Y-%m-%d %H:%i:%s')
  AND date_parse(time, '%d/%b/%Y:%H:%i:%s') < date_parse('2026-09-30 00:00:00', '%Y-%m-%d %H:%i:%s')
GROUP BY access_key
ORDER BY 流量 DESC
LIMIT 10
```
示例查询结果：
![](https://support.huaweicloud.com/usermanual-obs/figure/zh-cn_image_0000002782979387.png "点击放大")
#### 指定错误码（如499）的TOP对象、对象前缀及访问IP
以下示例按照报错次数多少，统计桶lts-bestpractice内指定错误码报错的高频对象、对象前缀，以及对应的访问IP。例如针对499报错，统计触发499报错最多的对象、对象目录和对应IP。可根据业务诉求调整桶名、错误码、日志统计的开始和结束时间。
```
* | SELECT * FROM (
    SELECT '对象' AS 类型, 对象路径, 对应IP, 错误次数 FROM (
        SELECT 对象路径, 对应IP, 错误次数, row_number() OVER (PARTITION BY 对象路径 ORDER BY 错误次数 DESC) AS rn FROM (
            SELECT REPLACE(object, '%2F', '/') AS 对象路径, client_ip AS 对应IP, COUNT(*) AS 错误次数
            FROM log
            WHERE bucket = 'lts-bestpractice'
              AND (http_status = 499 OR error_code = '499')
              AND object IS NOT NULL AND object != '' AND object != '-'
              AND regexp_like(REPLACE(object, '%2F', '/'), '^[^/]+/[^/]+/[^/]+/')
              AND date_parse(time, '%d/%b/%Y:%H:%i:%s') >= date_parse('2026-09-01 00:00:00', '%Y-%m-%d %H:%i:%s')
              AND date_parse(time, '%d/%b/%Y:%H:%i:%s') < date_parse('2026-09-30 00:00:00', '%Y-%m-%d %H:%i:%s')
            GROUP BY REPLACE(object, '%2F', '/'), client_ip
        ) a
    ) b WHERE rn = 1 ORDER BY 错误次数 DESC LIMIT 10
) t1
UNION ALL
SELECT * FROM (
    SELECT '前缀' AS 类型, 对象前缀, 对应IP, 错误次数 FROM (
        SELECT 对象前缀, 对应IP, 错误次数, row_number() OVER (PARTITION BY 对象前缀 ORDER BY 错误次数 DESC) AS rn FROM (
            SELECT regexp_extract(REPLACE(object, '%2F', '/'), '^([^/]+/[^/]+/[^/]+)/', 1) AS 对象前缀,
                   client_ip AS 对应IP, COUNT(*) AS 错误次数
            FROM log
            WHERE bucket = 'lts-bestpractice'
              AND (http_status = 499 OR error_code = '499')
              AND object IS NOT NULL AND object != '' AND object != '-'
              AND regexp_like(REPLACE(object, '%2F', '/'), '^[^/]+/[^/]+/[^/]+/')
              AND date_parse(time, '%d/%b/%Y:%H:%i:%s') >= date_parse('2026-09-01 00:00:00', '%Y-%m-%d %H:%i:%s')
              AND date_parse(time, '%d/%b/%Y:%H:%i:%s') < date_parse('2026-09-30 00:00:00', '%Y-%m-%d %H:%i:%s')
            GROUP BY regexp_extract(REPLACE(object, '%2F', '/'), '^([^/]+/[^/]+/[^/]+)/', 1), client_ip
        ) a
    ) b WHERE rn = 1 ORDER BY 错误次数 DESC LIMIT 10
) t2
```
示例查询结果：
![](https://support.huaweicloud.com/usermanual-obs/figure/zh-cn_image_0000002782819557.png "点击放大")
#### 查询指定AK在指定时间段内的访问情况，包括访问操作、访问IP、请求状态码
以下示例统计桶lts-bestpractice内指定AK在指定时间段内的访问情况，包括访问操作、访问IP、请求状态码，可根据业务诉求调整日志统计的开始和结束时间。
```
* | SELECT operation AS 操作, client_ip AS 来源IP, http_status AS 状态码, COUNT(*) AS 次数
FROM log
WHERE access_key = 'Your_AK'
  AND date_parse(time, '%d/%b/%Y:%H:%i:%s') >= date_parse('2026-09-01 00:00:00', '%Y-%m-%d %H:%i:%s')
  AND date_parse(time, '%d/%b/%Y:%H:%i:%s') < date_parse('2026-09-30 00:00:00', '%Y-%m-%d %H:%i:%s')
GROUP BY operation, client_ip, http_status
ORDER BY 次数 DESC
```
示例查询结果：
![](https://support.huaweicloud.com/usermanual-obs/figure/zh-cn_image_0000002753380578.png "点击放大")
#### 查询指定桶的平均时延、p99/p95时延、最大/最小时延
以下示例统计桶lts-bestpractice内的平均时延、p99/p95时延、最大/最小时延，可根据业务诉求调整桶名、日志统计的开始和结束时间。
```
* | SELECT bucket AS 桶名,
       AVG(server_cost_time) AS 平均时延ms,
       approx_percentile(server_cost_time, 0.99) AS p99时延ms,
       approx_percentile(server_cost_time, 0.95) AS p95时延ms,
       MAX(server_cost_time) AS 最大时延ms,
       MIN(server_cost_time) AS 最小时延ms,
       COUNT(*) AS 样本数
FROM log
WHERE bucket = 'lts-bestpractice'
  AND server_cost_time IS NOT NULL AND server_cost_time >= 0
  AND date_parse(time, '%d/%b/%Y:%H:%i:%s') >= date_parse('2026-09-01 00:00:00', '%Y-%m-%d %H:%i:%s')
  AND date_parse(time, '%d/%b/%Y:%H:%i:%s') < date_parse('2026-09-30 00:00:00', '%Y-%m-%d %H:%i:%s')
GROUP BY bucket
```
示例查询结果：
![](https://support.huaweicloud.com/usermanual-obs/figure/zh-cn_image_0000002753540466.png "点击放大")
#### 识别请求时间超过10min的上传、下载慢速请求
以下示例统计桶lts-bestpractice内上传、下载时间超过10min的慢速请求，可根据业务诉求调整慢速请求标准（例如认为10min，即600000ms为慢速请求）、日志统计的开始和结束时间。
```
* | SELECT date_parse(time, '%d/%b/%Y:%H:%i:%s') AS 请求时间,
       bucket AS 桶名,
       REPLACE(object, '%2F', '/') AS 对象,
       http_method AS 请求方法,
       client_ip AS 源IP,
       response_time AS 总耗时ms,
       server_cost_time AS 服务端耗时ms,
       content_length_out AS 下行字节,
       content_length_in AS 上行字节,
       http_status AS 状态码,
       error_code AS 错误码
FROM log
WHERE bucket = 'lts-bestpractice'
  AND (response_time > 600000 OR server_cost_time > 600000)
  AND date_parse(time, '%d/%b/%Y:%H:%i:%s') >= date_parse('2026-09-01 00:00:00', '%Y-%m-%d %H:%i:%s')
  AND date_parse(time, '%d/%b/%Y:%H:%i:%s') < date_parse('2026-09-30 00:00:00', '%Y-%m-%d %H:%i:%s')
ORDER BY 总耗时ms DESC
```
示例查询结果：
![](https://support.huaweicloud.com/usermanual-obs/figure/zh-cn_image_0000002782979389.png "点击放大")
#### TOP10流量（总流量、上行流量、下行流量）对象、目录
以下示例统计桶lts-bestpractice内TOP10流量的对象、TOP10流量的目录，可根据业务诉求修改桶名、日志统计的开始和结束时间。
```
* | SELECT * FROM (
    SELECT '对象' AS 类型, REPLACE(object, '%2F', '/') AS 名称,
           SUM(content_length_in + content_length_out) AS 总流量字节,
           SUM(content_length_in) AS 上行流量字节,
           SUM(content_length_out) AS 下行流量字节
    FROM log
    WHERE bucket = 'lts-bestpractice'
      AND object IS NOT NULL AND object != '' AND object != '-'
      AND date_parse(time, '%d/%b/%Y:%H:%i:%s') >= date_parse('2026-09-01 00:00:00', '%Y-%m-%d %H:%i:%s')
      AND date_parse(time, '%d/%b/%Y:%H:%i:%s') < date_parse('2026-09-30 00:00:00', '%Y-%m-%d %H:%i:%s')
    GROUP BY REPLACE(object, '%2F', '/')
    ORDER BY 总流量字节 DESC
    LIMIT 10
) t1
UNION ALL
SELECT * FROM (
    SELECT '目录' AS 类型,
           COALESCE(regexp_extract(REPLACE(object, '%2F', '/'), '^(.*)/[^/]*$', 1), '/') AS 名称,
           SUM(content_length_in + content_length_out) AS 总流量字节,
           SUM(content_length_in) AS 上行流量字节,
           SUM(content_length_out) AS 下行流量字节
    FROM log
    WHERE bucket = 'lts-bestpractice'
      AND object IS NOT NULL AND object != '' AND object != '-'
      AND date_parse(time, '%d/%b/%Y:%H:%i:%s') >= date_parse('2026-09-01 00:00:00', '%Y-%m-%d %H:%i:%s')
      AND date_parse(time, '%d/%b/%Y:%H:%i:%s') < date_parse('2026-09-30 00:00:00', '%Y-%m-%d %H:%i:%s')
    GROUP BY COALESCE(regexp_extract(REPLACE(object, '%2F', '/'), '^(.*)/[^/]*$', 1), '/')
    ORDER BY 总流量字节 DESC
    LIMIT 10
) t2
```
示例查询结果：
![](https://support.huaweicloud.com/usermanual-obs/figure/zh-cn_image_0000002782819559.png "点击放大")
#### 指定桶、目录、对象的访问方法分布，例如GET、PUT次数和占比
以下示例统计桶lts-bestpractice内前缀为"folder1"的对象的访问方法分布，可根据业务诉求修改桶名、对象前缀、统计开始、结束时间。
```
* | SELECT 方法, 请求次数,
       ROUND(请求次数 * 100.0 / SUM(请求次数) OVER (), 2) AS 占比
FROM (
    SELECT CASE
               WHEN operation LIKE 'GET.BUCKET.%' THEN 'LIST'
               WHEN http_method = 'GET'     THEN 'GET'
               WHEN http_method = 'PUT'     THEN 'PUT'
               WHEN http_method = 'POST'    THEN 'POST'
               WHEN http_method = 'DELETE'  THEN 'DELETE'
               WHEN http_method = 'HEAD'    THEN 'HEAD'
               WHEN http_method = 'OPTIONS' THEN 'OPTIONS'
               ELSE '其他'
           END AS 方法,
           COUNT(*) AS 请求次数
    FROM log
    WHERE bucket = 'lts-bestpractice'
      AND date_parse(time, '%d/%b/%Y:%H:%i:%s') >= date_parse('2026-09-01 00:00:00', '%Y-%m-%d %H:%i:%s')
      AND date_parse(time, '%d/%b/%Y:%H:%i:%s') <  date_parse('2026-09-30 00:00:00', '%Y-%m-%d %H:%i:%s')
      AND REPLACE(object, '%2F', '/') LIKE 'folder1%'
    GROUP BY CASE
               WHEN operation LIKE 'GET.BUCKET.%' THEN 'LIST'
               WHEN http_method = 'GET'     THEN 'GET'
               WHEN http_method = 'PUT'     THEN 'PUT'
               WHEN http_method = 'POST'    THEN 'POST'
               WHEN http_method = 'DELETE'  THEN 'DELETE'
               WHEN http_method = 'HEAD'    THEN 'HEAD'
               WHEN http_method = 'OPTIONS' THEN 'OPTIONS'
               ELSE '其他'
           END
) t
ORDER BY 请求次数 DESC
```
示例查询结果：
![](https://support.huaweicloud.com/usermanual-obs/figure/zh-cn_image_0000002753380580.png "点击放大")
#### 统计指定桶近期的path访问请求信息（包括源IP、访问对象、user_agent、user_id等信息）
path访问请求方式是指桶名不在访问域名中，而在URL参数中的访问请求，即 https://obs.regionID.myhuaweicloud.com/${bucketname}/query 基于安全合规要求，华为云禁止使用path请求方式访问OBS桶，以下示例可排查桶lts-bestpractice近期的path访问请求信息，可根据排查结果优化业务代码，可根据业务诉求修改桶名。
```
* | SELECT date_parse(time, '%d/%b/%Y:%H:%i:%s') AS 请求时间,
       bucket AS 桶名,
       client_ip AS 源IP,
       object AS 对象,
       user_agent AS user_agent,
       requester_id AS user_id,
       http_method, http_status, error_code
FROM log
WHERE bucket = 'lts-bestpractice'
  AND SPLIT_PART(host, '.', 1) <> bucket
  AND date_parse(time, '%d/%b/%Y:%H:%i:%s') >= date_parse('2026-09-01 00:00:00', '%Y-%m-%d %H:%i:%s')
  AND date_parse(time, '%d/%b/%Y:%H:%i:%s') <  date_parse('2026-09-30 00:00:00', '%Y-%m-%d %H:%i:%s')
ORDER BY 请求时间
LIMIT 10
```
