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

本文涉及的产品
对象存储 OSS,20GB 3个月
对象存储 OSS,内容安全 1000次 1年
日志服务 SLS,月写入数据量 50GB 1个月
简介: 基于日志做分析时,常常需要结构化解析日志的内容,将日志切分为不同字段,每个字段表示不同的语义,从而精确到字段进行查询、统计、报警等操作。 在日志采集过程中进行结构化解析是一种常见的方式,比如:Logtail、Fluentd可以通过正则表达式匹配日志、提取字段,Logstash通过grok(底层基于

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

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

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

JSON日志接入

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

分隔符日志接入

CSV

分隔符日志以换行符作为边界,每一个自然行都是一条日志。
每一条日志以固定分隔符(如制表符、空格、竖线等单字符)连接日志的多个字段。如果字段内部包含分隔符,使用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

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
1月前
|
监控 测试技术 开发者
一行代码改进:Logtail的多行日志采集性能提升7倍的奥秘
一个有趣的现象引起了作者的注意:当启用行首正则表达式处理多行日志时,采集性能出现下降。究竟是什么因素导致了这种现象?本文将探索Logtail多行日志采集性能提升的秘密。
112 23
|
4月前
|
存储 监控 数据可视化
SLS 虽然不是直接使用 OSS 作为底层存储,但它凭借自身独特的存储架构和功能,为用户提供了一种专业、高效的日志服务解决方案。
【9月更文挑战第2天】SLS 虽然不是直接使用 OSS 作为底层存储,但它凭借自身独特的存储架构和功能,为用户提供了一种专业、高效的日志服务解决方案。
197 9
|
6月前
|
监控 数据管理 关系型数据库
数据管理DMS使用问题之是否支持将操作日志导出至阿里云日志服务(SLS)
阿里云数据管理DMS提供了全面的数据管理、数据库运维、数据安全、数据迁移与同步等功能,助力企业高效、安全地进行数据库管理和运维工作。以下是DMS产品使用合集的详细介绍。
|
7月前
|
Shell Linux
linux shell 脚本实现:根据文件内容中的每行分隔符放入数组,根据规则打印日志并重新创建目录 备份文件
linux shell 脚本实现:根据文件内容中的每行分隔符放入数组,根据规则打印日志并重新创建目录 备份文件
57 0
|
8月前
|
JSON API 数据处理
Logtail 混合模式:使用插件处理文件日志
作为一个服务百万机器的日志采集 agent,Logtail 目前已经提供了包括日志切分、日志解析(完整正则、JSON、分隔符)、日志过滤在内的常见处理功能,能够应对绝大多数场景的处理需求。但有些时候,由于应用的历史原因或是本身业务日志的复杂性,单一功能可能无法满足所采集日志的处理需求,比如:日志可能...
161 1
Logtail 混合模式:使用插件处理文件日志
|
8月前
|
存储 JSON 弹性计算
Logtail日志采集支持高精度时间戳
本文为您介绍在使用Logtail进行日志采集时,如何从原始日志中提取毫秒精度时间戳。
238 0
Logtail日志采集支持高精度时间戳
|
8月前
|
监控 开发工具
最佳实践:WAF常用SLS日志服务分析查询语句
注意:查找时请选择对应的时间区间limit 如果不写默认是100参考WAF字段(其它产品同理,可以到产品对应的官网帮助文档查找SLS服务字段解释):https://help.aliyun.com/document_detail/95492.htmlhttps://help.aliyun.com/do...
219 0
|
3月前
|
数据采集 JSON 数据处理
抓取和分析JSON数据:使用Python构建数据处理管道
在大数据时代,电商网站如亚马逊、京东等成为数据采集的重要来源。本文介绍如何使用Python结合代理IP、多线程等技术,高效、隐秘地抓取并处理电商网站的JSON数据。通过爬虫代理服务,模拟真实用户行为,提升抓取效率和稳定性。示例代码展示了如何抓取亚马逊商品信息并进行解析。
抓取和分析JSON数据:使用Python构建数据处理管道
|
2月前
|
JSON API 数据安全/隐私保护
拍立淘按图搜索API接口返回数据的JSON格式示例
拍立淘按图搜索API接口允许用户通过上传图片来搜索相似的商品,该接口返回的通常是一个JSON格式的响应,其中包含了与上传图片相似的商品信息。以下是一个基于淘宝平台的拍立淘按图搜索API接口返回数据的JSON格式示例,同时提供对其关键字段的解释
|
2月前
|
JSON 数据格式 索引
Python中序列化/反序列化JSON格式的数据
【11月更文挑战第4天】本文介绍了 Python 中使用 `json` 模块进行序列化和反序列化的操作。序列化是指将 Python 对象(如字典、列表)转换为 JSON 字符串,主要使用 `json.dumps` 方法。示例包括基本的字典和列表序列化,以及自定义类的序列化。反序列化则是将 JSON 字符串转换回 Python 对象,使用 `json.loads` 方法。文中还提供了具体的代码示例,展示了如何处理不同类型的 Python 对象。

相关产品

  • 日志服务