本文以查询和分析JSON类型的网站日志为例,帮助您快速上手JSON日志的查询和分析操作。
前提条件
已采集JSON日志。具体操作,请参见使用极简模式采集日志。
注意事项
在查询和分析JSON日志中的字段时,需注意以下事项:
- 查询和分析语句格式为
查询语句|分析语句
。在分析语句中,您必须使用双引号(””)包裹字段名称,使用单引号(”)包裹字符串。 - 您需为目标字段加上所有的父路径,格式为KEY1.KEY2.KEY3。例如content.request.request_length。
- 日志服务支持查询和分析JSON对象中的叶子节点,但不支持查询和分析包含叶子节点的子节点。
- 日志服务不支持查询和分析值为JSON数组的字段,也不支持查询和分析JSON数组中的字段。
步骤一:创建索引
- 登录日志服务控制台。
- 在Project列表区域,单击目标Project。
- 在日志存储 > 日志库页签中,单击目标Logstore。
- 在Logstore的查询和分析页面的右上角,选择查询分析属性 > 属性。如果您还未开启索引,请单击开启索引。
- 配置字段索引。您可以手动逐条添加字段索引,也可以单击自动生成索引,日志服务会根据预览数据中的第一条日志自动配置索引。重要
- 如果您要使用分析功能,必须在配置索引时打开对应字段的统计功能。更多信息,请参见创建索引。
- 日志服务默认已为部分保留字段开启索引。更多信息,请参见保留字段。
- 日志服务支持JSON对象中的叶子节点建立索引,但不支持包含叶子节点的子节点建立索引。例如您可以为request_time字段建立索引,但不能为time字段建立索引。
- 日志服务不支持值为JSON数组的字段建立索引,也不支持JSON数组中的字段建立索引。例如body_bytes_sent字段的值为JSON数组,不能建立索引。
- 为JSON对象中的字段配置索引时,需加父路径,格式为KEY1.KEY2。例如time.request_time。
- 单击确定。重要 配置索引后,只对新采集的数据生效。如果您要查询历史数据,请使用重建索引功能。具体操作,请参见重建索引。
步骤二:查询日志
您可以在Logstore的查询和分析页面,输入查询语句,选择时间范围,进行日志查询操作。
- 查询请求状态为200的日志。
content.status:200
- 查询请求长度大于70的日志。
content.request.request_length > 70
- 查询GET请求的日志。
content.request.request_method:GET
步骤三:分析日志
您可以在Logstore的查询和分析页面,输入查询和分析语句,选择时间范围,进行日志分析操作。
- 统计不同请求状态对应的日志数量。
* | SELECT "content.status", COUNT(*) AS PV GROUP BY "content.status"
- 计算不同请求时长对应的请求数量,并按照请求时长进行升序排序。
* | 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日志样例如下所示:
内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家
阿里云企业补贴进行中: 马上申请
腾讯云限时活动1折起,即将结束: 马上收藏
同尘科技为腾讯云授权服务中心。
购买腾讯云产品享受折上折,更有现金返利:同意关联,立享优惠
转转请注明出处:https://www.yunxiaoer.com/165782.html