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

本文涉及的产品
对象存储 OSS,20GB 3个月
对象存储 OSS,恶意文件检测 1000次 1年
对象存储 OSS,内容安全 1000次 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日志并进行多维度分析。
目录
相关文章
|
4天前
|
XML Java Maven
Springboot整合与使用log4j2日志框架【详解版】
该文介绍了如何在Spring Boot中切换默认的LogBack日志系统至Log4j2。首先,需要在Maven依赖中排除`spring-boot-starter-logging`并引入`spring-boot-starter-log4j2`。其次,创建`log4j2-spring.xml`配置文件放在`src/main/resources`下,配置包括控制台和文件的日志输出、日志格式和文件切分策略。此外,可通过在不同环境的`application.yml`中指定不同的log4j2配置文件。最后,文章提到通过示例代码解释了日志格式中的各种占位符含义。
|
4天前
|
运维 监控 Go
Golang深入浅出之-Go语言中的日志记录:log与logrus库
【4月更文挑战第27天】本文比较了Go语言中标准库`log`与第三方库`logrus`的日志功能。`log`简单但不支持日志级别配置和多样化格式,而`logrus`提供更丰富的功能,如日志级别控制、自定义格式和钩子。文章指出了使用`logrus`时可能遇到的问题,如全局logger滥用、日志级别设置不当和过度依赖字段,并给出了避免错误的建议,强调理解日志级别、合理利用结构化日志、模块化日志管理和定期审查日志配置的重要性。通过这些实践,开发者能提高应用监控和故障排查能力。
8 1
|
5天前
|
弹性计算 运维 Shell
|
12天前
|
Java
log4j异常日志过滤规则配置
log4j异常日志过滤规则配置
16 0
|
15天前
|
SQL 存储 监控
SLS 查询新范式:使用 SPL 对日志进行交互式探索
像 Unix 命令一样支持多级管道级联,像加工预览一样实时处理查询结果,更便捷的交互,更丰富的算子,更灵活的探索半结构化日志,快来试试使用 SPL 语言查询日志数据吧~
|
16天前
|
Apache
web服务器(Apache)访问日志(access_log)详细解释
web服务器(Apache)访问日志(access_log)详细解释
|
22天前
|
Java Spring
日志精准记录:Spring与Log4j完美整合的实战指南
日志精准记录:Spring与Log4j完美整合的实战指南
18 0
日志精准记录:Spring与Log4j完美整合的实战指南
|
24天前
|
运维 安全 Ubuntu
`/var/log/syslog` 和 `/var/log/messages` 日志详解
`/var/log/syslog` 和 `/var/log/messages` 是Linux系统的日志文件,分别在Debian和Red Hat系发行版中记录系统事件和错误。它们包含时间戳、日志级别、PID及消息内容,由`rsyslog`等守护进程管理。常用命令如`tail`和`grep`用于查看和搜索日志。日志级别从低到高包括`debug`到`emerg`,表示不同严重程度的信息。注意保护日志文件的安全,防止未授权访问,并定期使用`logrotate`进行文件轮转以管理磁盘空间。
29 1
|
24天前
|
安全 Unix Linux
`/var/log/wtmp` 和 `/var/run/utmp`日志详解
`/var/log/wtmp` 和 `/var/run/utmp` 是Unix/Linux系统中记录用户登录信息的关键文件。`wtmp` 文件存储所有登录和注销事件,供 `last` 命令显示登录历史,而 `utmp` 文件实时更新,记录当前登录用户信息,可由 `who` 或 `w` 命令解析展示。两者皆为root用户访问,系统重启可能清空,且常受安全措施保护,用于系统管理和安全审计。
36 1
|
24天前
|
监控 安全 Unix
/var/log/faillog日志详解
【4月更文挑战第8天】`/var/log/faillog`是Unix和Linux系统中记录登录失败尝试的日志文件,帮助管理员检测恶意登录和错误密码尝试。每行包含用户名、登录终端、时间戳和失败次数。高失败次数可能暗示密码破解尝试,管理员应密切关注并采取安全措施。启用和配置此功能可能需使用`pam_faillock`。然而,`/var/log/faillog`仅是安全策略的一部分,应结合强密码、系统更新、访问限制和多日志监控以增强安全性。
19 1
/var/log/faillog日志详解

相关产品

  • 日志服务