日志服务(原SLS)新功能发布(7)--使用logtail接入JSON/分隔符日志

基于日志做分析时,常常需要结构化解析日志的内容,将日志切分为不同字段,每个字段表示不同的语义,从而精确到字段进行查询、统计、报警等操作。

在日志采集过程中进行结构化解析是一种常见的方式,比如:Logtail、Fluentd可以通过正则表达式匹配日志、提取字段,Logstash通过grok(底层基于正则)达到同样的目的。

对于自描述的日志类型,比如今天将要介绍的JSON、分隔符格式,Logtail提供原生解析支持啦,免去复杂正则表达式配置的痛苦。

JSON日志接入

JSON建构于两种结构:

  • Object:“键/值”对的集合(A collection of name/value pairs)。
  • Array:值的有序列表(An ordered list of values)。

Logtail支持的JSON日志是Object类型,可以自动提取Object首层的键作为字段名称,Object首层的值作为字段值(字段值可以是Object或Array或基本类型,如String、Number等)。

日志样例

{"url": "POST /PutData?Category=YunOsAccountOpLog&AccessKeyId=U0UjpekFQOVJW45A&Date=Fri%2C%2028%20Jun%202013%2006%3A53%3A30%20GMT&Topic=raw&Signature=pD12XYLmGxKQ%2Bmkd6x7hAgQ7b1c%3D HTTP/1.1", "ip": "10.200.98.220", "user-agent": "aliyun-sdk-java", "request": {"status": "200", "latency": "18204"}, "time": "05/May/2016:13:30:28"}

配置

配置项 配置内容
日期字段 time
日期格式 %d/%b/%Y:%H:%M:%S

字段提取结果

Key Value
time 05/May/2016:13:30:28
url POST /PutData?Category=YunOsAccountOpLog&AccessKeyId=U0UjpekFQOVJW45A&Date=Fri%2C%2028%20Jun%202013%2006%3A53%3A30%20GMT&Topic=raw&Signature=pD12XYLmGxKQ%2Bmkd6x7hAgQ7b1c%3D HTTP/1.1
ip 10.200.98.220
user-agent aliyun-sdk-java
request {"status": "200", "latency": "18204"}

了解如何使用?请点击常见日志接入 - JSON。

分隔符日志接入

分隔符日志以换行符作为边界,每一个自然行都是一条日志。
每一条日志以固定分隔符(如制表符、空格、竖线等单字符)连接日志的多个字段。如果字段内部包含分隔符,使用Quote(双引号)对字段进行包裹。

常见的分隔符日志有:CSVTSV等。

日志样例

05/May/2016:13:30:28,10.200.98.220,"POST /PutData?Category=YunOsAccountOpLog&AccessKeyId=U0UjpekFQOVJW45A&Date=Fri%2C%2028%20Jun%202013%2006%3A53%3A30%20GMT&Topic=raw&Signature=pD12XYLmGxKQ%2Bmkd6x7hAgQ7b1c%3D HTTP/1.1",200,18204,aliyun-sdk-java

配置方法

配置项 配置内容
分隔符 ,
字段名列表 ["time", "ip", "url", "status", "latency", "user-agent"]
日期字段 time
日期格式 %d/%b/%Y:%H:%M:%S

字段提取结果

Key Value
time 05/May/2016:13:30:28
ip 10.200.98.220
url POST /PutData?Category=YunOsAccountOpLog&AccessKeyId=U0UjpekFQOVJW45A&Date=Fri%2C%2028%20Jun%202013%2006%3A53%3A30%20GMT&Topic=raw&Signature=pD12XYLmGxKQ%2Bmkd6x7hAgQ7b1c%3D HTTP/1.1
status 200
latency 18204
user-agent aliyun-sdk-java

了解如何使用?请点击常见日志接入 - Delimiter。

时间: 2024-08-03 15:48:38

日志服务(原SLS)新功能发布(7)--使用logtail接入JSON/分隔符日志的相关文章

日志服务(原SLS)新功能发布(6)--使用logtail接入syslog数据

Logtail支持通过tcp协议接收syslog日志 Logtail 是日志服务(原SLS)客户端,支持文本类日志数据的收集.考虑到syslog功能是linux平台上广泛使用的日志集中化管理方案,新版本的Logtail将支持syslog数据接入,目前Logtail数据接入方式如下:最左侧是支持syslog日志输出的模块,包括nginx.java语言.路由器.linux服务器等. syslog是什么? 可以参考鸟哥的Linux私房菜. 使用Logtail的syslog功能有哪些优势? 和利用文本文

日志服务(原SLS)五月份发布:支持SQL进行日志实时分析

日志服务(原SLS)是针对大规模日志实时存储与查询服务,半年内我们逐步提供文本.数值.模糊.上下文等查询能力.在五月份版本中日志服务提供 SQL 实时统计分析功能 ,能够在秒级查询的基础上支持实时统计分析. 支持SQL包括:聚合.Group By(包括Cube.Rollup).Having.排序.字符串.日期.数值操作,以及统计和科学计算等(参见分析语法). 如何使用? 例如,对访问日志(access-log)查询 "状态码=500,Latency>5000 us,请求方法为Post开头&

日志服务(原SLS)新功能发布(5)--使用Logstash接入数据

日志服务结合Logstash 目前,阿里云用户可以通过API/SDK或Logtail将数据写入日志服务,参考. 今天要介绍一个新方法:使用著名开源软件Logstash采集机器日志数据,并结合日志服务插件完成数据上传日志服务功能. 用户可以在阿里云ECS,或者是IDC机房机器,又或者是其它云厂商的虚拟机上安装Logstash及插件,进行简单的配置,轻松地将本机日志数据搬到云上来. IIS日志场景 以Windows平台上最常见的IIS(Internet Information Services)日志

日志服务新功能发布(2)--弹性伸缩(Merge/Split)

在之前的文章<日志服务(原SLS)新功能发布(1)--支持保序写入和消费>中,我们提到了Shard支持Key映射的特性,通过这个特性能够支持对序有需求的应用场景.今天我们给大家介绍一个在削峰填谷或流量突增情况下的功能:弹性伸缩.在生产中我们往往会面临峰值和低值的情况,也会遇到因业务层映射不均衡,导致某一个分区(shard)有非常大流量的场景,弹性伸缩(Merge/Split)就是为此设计的利器. 使用弹性伸缩的应用场景 场景1(视频类):根据峰值.底值弹性扩容,控制成本 用户A是一个视频类网站

日志服务新功能发布(1)--支持保序写入和消费

日志服务在上周新上线的版本,支持数据的保序写入和消费,shard的split和merge, server端consumer group的原生支持(除去对mysql的依赖),数据自动同步至oss等一些列新功能.本文主要介绍数据的保序写入和消费的功能. LogStore & Shard 关系 每个LogStore对应一类日志,对于同一个LogStore下的数据,所有处理逻辑相同(索引方式.导入odps.oss等配置) 每个LogStore由一个或多个shard组成,用于支持数据写入水平扩展 每个sh

日志服务(原SLS)新功能发布(13)--Logtail支持自定义标识自动扩容机器组

背景 日志服务提供多种途径帮助用户方便快速写入日志数据到指定日志库,具体包含Logtail客户端.各种语言SDK.TrackingPixel以及REST API等方式,详细描述请参考文档"如何写入日志". 其中Logtail客户端支持快速接入单行.JSON.分隔符等多种日志文件格式以及syslog协议(常见日志收集配置),并且提供80MB/s的大吞吐量,同时性能相比同类工具有10倍提升仅消耗15%的资源(评测文档). Logtail客户端使用的一般流程包括三个步骤:创建机器组管理日志数

日志服务(原SLS)新功能发布(10)--Logtail配置支持日志转换、过滤

日志收集流程 对于日志收集的客户端,其work pipeline通常包括三个过程:Input,Process,Output. Input: 适配各类日志接入源,目前Logtail支持文本文件.Syslog(TCP流式)两种形式数据写入. Process:自定义日志处理逻辑,常见的有:日志切分.日志编码转换.日志结构化解析.日志过滤等等. Output:定义日志输出,例如Logtail以HTTP协议写数据到日志服务. 今天要介绍Logtail在日志处理阶段的两个新功能:转码.过滤. 日志转码 日志

日志服务(原SLS)新功能发布(12)--日志投递ODPS支持自动建表授权

背景 日志服务支持"日志消费","日志索引"和"日志投递"三种消费模式,"日志消费"功能默认支持,支持日志数据上传到服务端3秒内进行实时消费,并且支持保留48小时,"日志索引功能"支持30秒内进行查询,并且在创建时支持保存7天/30天/90天,"日志投递"能够在分钟级别将数据投递至OSS或者MaxCompute(原ODPS). 之前"日志投递"功能创建投递规则至Max

日志服务(原SLS)新功能发布(9)--Logtail配置支持主题(Topic)设置功能

日志服务中日志为日志服务中处理的最小数据单元,采用半结构化数据模式定义一条日志,具体数据模型包括主题(Topic).时间(Time).内容(Content)和来源(Source),详细描述请参考核心概念.其中主题(Topic)为用户自定义字段,用以标记一批日志(例如:访问日志根据不同站点进行标记),默认值为空字符串(空字符串也为一个有效的主题).用户可以通过使用REST API/SDK上传数据时设置主题.除此之外,Logtail客户端为日志服务用户常用的数据接入客户端,目前也支持设置使用不同的属