赛尔校园公共服务平台 Logo
平台使用
阿里云
百度云
移动云
智算服务
教育生态
登录 →
赛尔校园公共服务平台 Logo
平台使用 阿里云 百度云 移动云 智算服务 教育生态
登录
  1. 首页
  2. 阿里云
  3. 日志服务
  4. 操作指南
  5. 查询与分析
  6. 最佳实践
  7. 查询和分析JSON日志

查询和分析JSON日志

  • 最佳实践
  • 发布于 2025-04-22
  • 0 次阅读
文档编辑
文档编辑

本文以JSON类型的网站日志为例,介绍查询和分析的步骤,并提供SQL示例。

前提条件

为了进行后续的日志分析,您需要先采集JSON格式文本日志。

步骤一:创建索引

  1. 登录日志服务控制台。

  2. 在Project列表区域,单击目标Project。

    image

  3. 在日志存储 > 日志库页签中,单击目标Logstore。

    image

  4. 在Logstore的查询和分析页面的右上角,选择查询分析属性 > 属性。如果还未创建索引,需要先单击开启索引。全文索引和字段索引的更多信息、创建索引的详细步骤,请参见创建索引。

    说明

    如果需要查询日志中的所有字段,建议使用全文索引。如果只需查询部分字段、建议使用字段索引,减少索引流量。如果需要对字段进行分析(SELECT语句),必须创建字段索引。

  5. 配置字段索引。以下是JSON格式的日志示例和对应字段的配置。

    日志样例

    配置索引

    • __topic__、__source__、__tag__是系统的保留字段,更多信息请参见保留字段。

    • @timestamp、remote_addr、remote_user、http_referer、http_user_agent、status、server_protocal、http_x_forward_for、upstream_addr字段不包含叶子节点,可以在content字段下直接建立索引。

    • request、time字段包含叶子节点,而且叶子节点不是JSON数组。

      • 不能为request、time这两个父字段本身建立索引,也不能查询分析这两个父字段。

      • 可以为request、time下的叶子节点建立索引,需要指定完整的路径,从最外层的父字段到最内层的叶子节点。格式为KEY1.KEY2.KEY3,例如time.request_time、time.upstream_response_time。建立索引后,可以查询time.request_time、time.upstream_response_time字段。

    • body_bytes_sent字段的值为JSON数组,不能建立索引,也不能为叶子节点建立索引。不能查询分析body_bytes_sent字段或body_bytes_sent的叶子节点。

步骤二:重建索引

配置索引后,只对新采集的数据生效。如果您要查询历史数据,请使用重建索引功能。具体操作,请参见重建索引。

步骤三:查询和分析日志

您可以在Logstore的查询和分析页面,输入查询和分析语句,选择时间范围,进行日志查询操作。对于分析语句(SELECT语句),必须使用双引号("")包裹字段名称,使用单引号('')包裹字符串。查询和分析日志的详细步骤,请参见查询与分析快速指引。查询分析JSON日志的常见问题,请参见查询和分析JSON日志的常见问题。

  • 查询请求状态为200的日志。

    content.status:200
  • 查询请求长度大于70的日志。

    content.request.request_length > 70
  • 查询GET请求的日志。

    content.request.request_method:GET
  • 统计不同请求状态对应的日志数量。

    * | SELECT "content.status", COUNT(*) AS PV GROUP BY "content.status"

    PV

  • 计算不同请求时长对应的请求数量,并按照请求时长进行升序排序。

    * | SELECT "content.time.request_time", COUNT(*) AS count GROUP BY "content.time.request_time" ORDER BY "content.time.request_time"

    请求时长

  • 计算不同请求方法对应的平均请求时长。

    * | SELECT avg("content.time.request_time") AS avg_time,"content.request.request_method"  GROUP BY "content.request.request_method"

    平均请求时长

相关文档

  • 查询和分析JSON日志的常见问题

  • 查询不到日志的排查思路

  • 如何模糊查询日志?

  • 如何精确查询日志?

  • 日志查询常见问题

  • 查询与分析日志的常见报错

相关文章

常见分析案例 2025-04-22 10:56

本文为您提供日志数据分析的一些案例。 5分钟错误率超过40%时触发报警 统计每分

提高查询分析日志速度的方法 2025-04-22 10:56

您可以使用以下方式,提高日志查询分析的速度。 增加Shard数量或开启SQL独享版

使用SQL语句查询分析日志 2025-04-22 10:56

当您需要使用SQL查询和分析日志服务中的数据时,可以通过JDBC、Python MySQLdb、MySQL命令行工具等方式连接日志服务来实现。本文主要为您介绍JDBC、Python MySQLdb、MySQL命令行工具连接日志服务的操作步骤。 使用限制

查询和分析网站日志 2025-04-22 10:56

本文以查询和分析网站日志为例,帮助您快速上手查询和分析操作。 前提条件 已采集到网站访问日志。配置Logtail采集配置的步骤,请参见采集主机文本日志。

查询和分析JSON日志 2025-04-22 10:56

本文以JSON类型的网站日志为例,介绍查询和分析的步骤,并提供SQL示例。 前提条件 为了进行后续的日志分析,您需要先采集JSON格式文本日志。

关联Logstore与MySQL数据库进行查询分析 2025-04-22 10:56

本文以游戏公司数据分析场景为例,介绍日志服务Logstore与MySQL数据库关联分析功能。 前提条件

目录
Copyright © 2025 your company All Rights Reserved. Powered by 赛尔网络.
京ICP备14022346号-15
gongan beian 京公网安备11010802041014号