日志服务支持Json类型数据

本文涉及的产品
对象存储 OSS,20GB 3个月
阿里云盘企业版 CDE,企业版用户数5人 500GB空间
日志服务 SLS,月写入数据量 50GB 1个月
简介: JSON数据作为一种通用类型的数据类型,其自解析、灵活的特性,使其能够很好满足复杂场景下数据的记录需求,在很多日志内容中格式不固定的部分往往都是以json的形式进行记录,如将一次http请求的request参数和response内容以json的形式记录在一条日志中。

JSON数据作为一种通用类型的数据类型,其自解析、灵活的特性,使其能够很好满足复杂场景下数据的记录需求,在很多日志内容中格式不固定的部分往往都是以json的形式进行记录,如将一次http请求的request参数和response内容以json的形式记录在一条日志中。

为了更好支持json格式日志的查询和分析功能,日志服务加入了对json类型格式的支持。

核心功能 :

  • 支持json格式解析,所有text、bool类型自动索引

    json_string.key_map.key_text : test_value
    json_string.key_map.key_bool : true
    AI 代码解读
  • 非json array中的double、long类型数据,可通过配置指定json路径后进行查询

    配置key_map.key_long这个字段的类型为long
    查询 : json_string.key_map.key_long > 50 
    AI 代码解读
  • 非json array中的text、double、long类型字段,可开启“统计分析”功能,进行sql分析

    json_string.key_map.key_long > 10 | select count(*) as c , 
        "json_string.key_map.key_text" group by 
        "json_string.key_map.key_text"
    
    AI 代码解读

    使用限制:

    • 不支持json object、json array类型
    • 字段不能在json array中
    • bool类型字段可以转成text类型
  • 支持非完全合法json数据解析
    日志服务会尽可能解析有效内容,直到遇到非法部分结束,如

    "json_string": 
    {
         "key_1" :  "value_1",
         "key_map" : 
          {
                 "key_2" : "value_2",
                 "key_3" : "valu
    AI 代码解读

    在key_3之后的数据被截断丢失,对于这种缺失的日志,日志服务可正确解析到 json_string.key_map.key_2 这个字段

使用参考

对于以下日志样例,其"message"字段是json格式

"message":
{
    "traceInfo": {
        "traceType": "dubbo_provider",
        "stepIndex": "0",
        "requestId": "92.137_1518139699935_5599"
    },
    "methodName": "getProjectInfo",
    "success": true,
    "remoteAddress": "1.1.1.1:11111",
    "param": [
        {
            "projectName": "ali-log-test-project",
            "requestId": "d3f0c96a-51b0-4166-a850-f4175dde7323"
        }
    ],
    "localAddress": "2.2.2.2:22222",
    "errorCode": null,
    "serviceName": "com.aliyun.csc.sls.service.IProjectService",
    "usedTime": 48,
    "exceptionMsg": null,
    "startTime": 1518139699935,
    "result": {
        "message": "successful",
        "code": "200",
        "data": {
            "clusterRegion": "ap-southeast-1",
            "ProjectName": "ali-log-test-project",
            "ProjectDesc": "",
            "ProjectOwner": "11111111111",
            "LastModifyTime": "2017-06-08 20:22:41",
            "ProjectStatus": "Normal",
            "CreateTime": "2017-06-08 20:22:41"
        },
        "success": true
    }
}
AI 代码解读

通过以下设置,可以对该json字段进行查询和分析:
image

string、bool类型数据查询

message.traceInfo.requestId : 92.137_1518139699935_5599
message.param.projectName : ali-log-test-project
message.success : true
message.result.data.ProjectStatus : Normal

注:
json内字段无需配置
json map、array 自动展开,支持多层嵌套,每一层以"."进行分割
AI 代码解读

image

long、double类型数据查询

message.usedTime > 40

注:
需要对json内字段独立配置,字段必须不在array
AI 代码解读

Sql 统计分析

* | select avg("message.usedTime") as avg_time ,
"message.methodName"  group by "message.methodName"

注:
需要对json内字段独立配置,字段必须不在array
查询字段需要使用引号 或者设置 别名

AI 代码解读

阿里云日志服务存储资源包全新上线,限时5折,详情请戳:https://promotion.aliyun.com/ntms/act/season-cloudproduct.html?spm=5176.11180114.980124.1.3scCsZ&wh_ttid=pc#floor4

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
打赏
0
0
0
0
2995
分享
相关文章
微服务——SpringBoot使用归纳——Spring Boot返回Json数据及数据封装——封装统一返回的数据结构
本文介绍了在Spring Boot中封装统一返回的数据结构的方法。通过定义一个泛型类`JsonResult<T>`,包含数据、状态码和提示信息三个属性,满足不同场景下的JSON返回需求。例如,无数据返回时可设置默认状态码"0"和消息"操作成功!",有数据返回时也可自定义状态码和消息。同时,文章展示了如何在Controller中使用该结构,通过具体示例(如用户信息、列表和Map)说明其灵活性与便捷性。最后总结了Spring Boot中JSON数据返回的配置与实际项目中的应用技巧。
38 0
|
5天前
|
微服务——SpringBoot使用归纳——Spring Boot返回Json数据及数据封装——使用 fastJson 处理 null
本文介绍如何使用 fastJson 处理 null 值。与 Jackson 不同,fastJson 需要通过继承 `WebMvcConfigurationSupport` 类并覆盖 `configureMessageConverters` 方法来配置 null 值的处理方式。例如,可将 String 类型的 null 转为 "",Number 类型的 null 转为 0,避免循环引用等。代码示例展示了具体实现步骤,包括引入相关依赖、设置序列化特性及解决中文乱码问题。
20 0
|
5天前
|
微服务——SpringBoot使用归纳——Spring Boot返回Json数据及数据封装——Spring Boot 默认对Json的处理
本文介绍了在Spring Boot中返回Json数据的方法及数据封装技巧。通过使用`@RestController`注解,可以轻松实现接口返回Json格式的数据,默认使用的Json解析框架是Jackson。文章详细讲解了如何处理不同数据类型(如类对象、List、Map)的Json转换,并提供了自定义配置以应对null值问题。此外,还对比了Jackson与阿里巴巴FastJson的特点,以及如何在项目中引入和配置FastJson,解决null值转换和中文乱码等问题。
21 0
如何在Python中高效实现CSV到JSON的数据转换
在实际项目中,数据格式转换是常见问题,尤其从CSV到JSON的转换。本文深入探讨了多种转换方法,涵盖Python基础实现、数据预处理、错误处理、性能优化及调试验证技巧。通过分块处理、并行处理等手段提升大文件转换效率,并介绍如何封装为命令行工具或Web API,实现自动化批量处理。关键点包括基础实现、数据清洗、异常捕获、性能优化和单元测试,确保转换流程稳定高效。
156 83
JSON数据解析实战:从嵌套结构到结构化表格
在信息爆炸的时代,从杂乱数据中提取精准知识图谱是数据侦探的挑战。本文以Google Scholar为例,解析嵌套JSON数据,提取文献信息并转换为结构化表格,通过Graphviz制作技术关系图谱,揭示文献间的隐秘联系。代码涵盖代理IP、请求头设置、JSON解析及可视化,提供完整实战案例。
JSON数据解析实战:从嵌套结构到结构化表格
python语言采集淘宝商品详情数据,json数据示例返回
通过淘宝开放平台的API接口,开发者可以轻松获取商品详情数据,并利用这些数据进行商品分析、价格监控、库存管理等操作。本文提供的示例代码和JSON数据解析方法,可以帮助您快速上手淘宝商品数据的采集与处理。
淘宝商品详情API接口概述与JSON数据示例
淘宝商品详情API是淘宝开放平台提供的核心接口之一,为开发者提供了获取商品深度信息的能力。以下是技术细节和示例:
处理从API返回的JSON数据时返回Unicode编码字符串怎么处理
在处理API返回的JSON数据时,遇到类似`\u7f51\u7edc\u8fde\u63a5\u9519\u8bef`的Unicode编码字符串,可使用JavaScript内置方法转换为可读文字。主要方法包括:1. 使用`JSON.parse`自动解析;2. 使用`decodeURIComponent`和`escape`组合解码;3. 在API调用中直接处理响应数据。这些方法能有效处理多语言内容,确保正确显示非ASCII字符。
淘宝商品评论数据API接口详解及JSON示例返回
淘宝商品评论数据API接口是淘宝开放平台提供的一项服务,旨在帮助开发者通过编程方式获取淘宝商品的评论数据。这些数据包括评论内容、评论时间、评论者信息、评分等,对于电商分析、用户行为研究、竞品分析等领域都具有极高的价值。
|
2月前
|
解析电商商品详情API接口系列,json数据示例参考
电商商品详情API接口是电商平台的重要组成部分,提供了商品的详细信息,支持用户进行商品浏览和购买决策。通过合理的API设计和优化,可以提升系统性能和用户体验。希望本文的解析和示例能够为开发者提供参考,帮助构建高效、可靠的电商系统。
70 12

云存储

+关注

相关产品

  • 日志服务