开发者社区> suntingtao> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

日志服务支持Json类型数据

简介: 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
  • 非json array中的double、long类型数据,可通过配置指定json路径后进行查询

    配置key_map.key_long这个字段的类型为long
    查询 : json_string.key_map.key_long > 50 
  • 非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"
    

    使用限制:

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

    "json_string": 
    {
         "key_1" :  "value_1",
         "key_map" : 
          {
                 "key_2" : "value_2",
                 "key_3" : "valu

    在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
    }
}

通过以下设置,可以对该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 自动展开,支持多层嵌套,每一层以"."进行分割

image

long、double类型数据查询

message.usedTime > 40

注:
需要对json内字段独立配置,字段必须不在array

Sql 统计分析

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

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


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

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
日志服务数据如何同步到 MaxCompute |学习笔记
快速学习 日志服务数据如何同步到 MaxCompute
0 0
日志服务(SLS)数据模拟器初体验
日志服务SLS是阿里集团自研的一站式日志平台,用户无需开发就能能够开箱即用地使用它来提升运维、运营效率,建立 DT 时代海量日志处理能力。SLS数据模拟器是SLS提供的一个用于接入模拟数据的数据接入方式,支持丰富的数据模拟场景,包含各类阿里云云产品日志、自建开源/商业软件日志以及Metric日志等,助力用户一键式导入模拟数据。
0 0
基于日志服务数据加工分析Java异常日志
采集并脱敏了整个5月份的项目异常日志,准备使用日志服务数据加工做数据清洗以及分析。本案例是基于使用阿里云相关产品(OSS,RDS,SLS等)的SDK展开自身业务。需要对异常日志做解析,将原始日志中时间、错误码、错误信息、状态码、产品信息、请求方法、出错行号提取出来。然后根据提取出来的不同产品信息做多目标分发处理。对清洗后的数据做异常日志数据分析。
0 0
使用模拟日志轻松上手日志服务——数据实验室实践
数据实验室是日志服务(Log Service,简称 SLS)最新推出的工具,为用户提供各种场景的模拟日志数据,以及各种公共数据集数据。同时也根据场景建立对应的报表模板,方便用户从这些数据和报表模版入手以熟悉日志服务的查询,报表编辑等各种操作。
1264 0
日志服务 - 数据加工- Nginx日志解析实践
以nginx日志为例,简单介绍日志服务的数据加工功能
401 0
导入MaxCompute数据到日志服务实战
日志服务支持将MaxCompute 中的数据导入到日志服务,利用日志服务的查询和可视化功能,对数据进行分析和可视化展示,使用数据加工对数据进一步处理,充分发掘数据的价值
697 0
基于日志服务数据加工与RDS MySQL做数据富化以及数据分析
准备基于sls日志服务对共享单车租赁信息进行加工分析。sls日志服务上记录2019年8月上海地区某共享单车的数据,已脱敏处理,供研究之用。因RDS数据库里保存的是每辆自行车的编号、品牌以及投放批次。因此需要使用日志服务数据加工将单车实时动态记录日志与保存在RDS上的静态数据做富化和数据分析处理。
783 0
使用dataworks投递日志服务数据到MaxComputer
1. 为什么使用dataworks投递数据 日志服务提供了多种投递数据的方式,如: 在控制台直接配置投递任务,通过消费组获取数据然后再投递,以及使用dataworks配置投递任务等方式。控制台直接投递配置方式与dataworks类似,不过配置项更少,更容易操作。
1013 0
[日志服务][数据加工]e_anchor函数与e_regex函数的使用总结
简单介绍日志服务数据加工e_anchor函数与e_regex使用场景总结
649 0
+关注
suntingtao
专注PB级日志实时收集、秒级查询和分析系统设计研发
文章
问答
来源圈子
更多
阿里云存储基于飞天盘古2.0分布式存储系统,产品包括对象存储OSS、块存储Block Storage、共享文件存储NAS、表格存储、日志存储与分析、归档存储及混合云存储等,充分满足用户数据存储和迁移上云需求,连续三年跻身全球云存储魔力象限四强。
+ 订阅
文章排行榜
最热
最新
相关电子书
更多
Python 系列直播——深入Python与日志服务,玩转大规模数据分析处理实战第二讲
立即下载
Python第四讲——使用IPython/Jupyter Notebook与日志服务玩转超大规模数据分析与可视化
立即下载
《手把手学习日志服务SLS,云启实验室实战指南》电子书
立即下载