当前位置: 首页 > news >正文

logstash日志换行处理小解

logstash主用于日志实时数据收集、解析,并将数据转发的工具,内置的功能也相当强大。但,同时意味着,他可能接收到各种情况的数据。

此处,我们主要讲解我实际使用中,碰到的一个小问题,换行(\n)。

logstash的换行处理,可以有多种方式,比如如imultiline,可以将多行合并之类的,这种适合input 直接读取文件。

但有时,你接收到的消息内容,即某个字段的内容,本身已经是换行的内容,经过input的转换后,加上了转义符,换行变成\\n。

这里举例我实际碰到的环境:kafka+logstash+elasticsearch

kafka采集到的数据,已经是一条完整的数据,如:

2023/08/10 09:15:26 main.go:20 E! 测试多行日志记录
第二行日志,需要合并
第三行也要合并

logstash.conf配置如下:

input {kafka {bootstrap_servers => "kafka.test.com"topics => ["test"]}
}filter {json {source => "message" #原mesage字段为json格式的字符串,转换成json数据}grok{match => ["message", "%{DATE:date} %{TIME:time} %{DATA:logclass}: %{DATA:loglevel}! %{GREEDYDATA:msg}"] }mutate {add_field => {"logdate" => "%{date} %{time}"} # 新增字段,多字段字符串组合成新字段logdateremove_field => ["date","time"]}
}output {elasticsearch {hosts => ["http://elasticsearch:9200"]index => "testlog"}
}

此时kibana上查看到的数据是在原本换行的地方变成\n。因为kafka在接到到换行的数据时会转成\n或\n\t。而logstash在接收到kafka的数据时,会当成字符串,自动加上转义符,要正常显示换行,需要把\\n 替换成\n。

 网上找了一堆相关资料,说的的方法是没错,但就是没有效果,如

filter {mutate {gsub => ["message","\\n",""] # 显式的采用此种方法替换
}

因为logstash会把“\\n”当成是有转义符处理,即\n,也即实际的换行。所以“\\n”其实替换的是实际的换行,实际已经可以换行的数据,替换成空字符。

如果要es中显示的\n,变成实际换行显示,需要以下配置:

filter {mutate {gsub => ["message","\\\\n","\n"] # 字符替换 ,将\\n 替换成 \n; "\\\\n"需要增加转义符。}

最终es显示效果如下:

相关文章:

logstash日志换行处理小解

logstash主用于日志实时数据收集、解析,并将数据转发的工具,内置的功能也相当强大。但,同时意味着,他可能接收到各种情况的数据。 此处,我们主要讲解我实际使用中,碰到的一个小问题,换行(\n)。…...

openpnp - 做一个抛料盒

文章目录 openpnp - 做一个抛料盒概述效果图零件 - 抛料盒主体零件 - 磁铁仓盖板END openpnp - 做一个抛料盒 概述 8mm散料飞达做回来了, 上面用的长方形磁铁(4x6x10mm)透过0.8mm的3D打印薄壁, 和固定铁板的吸力很大, 用磁力固定的非常好. 正好缺一个抛料盒, 就按照散料飞达的…...

数据结构——单链表的实现(c语言版)

前言 单链表作为顺序表的一种,了解并且熟悉它的结构对于我们学习更加复杂的数据结构是有一定意义的。虽然单链表有一定的缺陷,但是单链表也有它存在的价值, 它也是作为其他数据结构的一部分出现的,比如在图,哈希表中。…...

【计算机组成原理】24王道考研笔记——第四章 指令系统

第四章 指令系统 一、指令系统 指令是指示计算机执行某种操作的命令,是计算机运行的最小功能单位。一台计算机的所有指令的集合构成该 机的指令系统,也称为指令集。 指令格式: 1.1分类 按地址码数目分类: 按指令长度分类&…...

C#使用FileInfo和DirectoryInfo类来执行文件和文件夹操作

System.IO.FileInfo 和 System.IO.DirectoryInfo 是C#中用于操作文件和文件夹的类,它们提供了许多有用的方法和属性来管理文件和文件夹。 System.IO.FileInfo: FileInfo 类用于操作单个文件的信息和内容。以下是一些常用的方法和属性: Exi…...

每日一学——TCP/IP参考模型

TCP/IP参考模型是一个用于网络通信的分层架构,它定义了一组协议,这些协议实现了计算机之间的数据传输。TCP/IP参考模型分为四层: 应用层(Application Layer):应用层是网络应用程序与网络之间的接口层。它提…...

LAXCUS分布式操作系统:技术创新引领高性能计算与人工智能新时代

随着科技的飞速发展,高性能计算、并行计算、分布式计算、大数据、人工智能等技术在各个领域得到了广泛应用。在这个过程中,LAXCUS分布式操作系统以其卓越的技术创新和强大的性能表现,成为了业界的佼佼者。本文将围绕LAXCUS分布式操作系统的技…...

两只小企鹅(Python实现)

目录 1 和她浪漫的昨天 2 未来的旖旎风景 3 Python完整代码 1 和她浪漫的昨天 是的,春天需要你。经常会有一颗星等着你抬头去看; 和她一起吹晚风吗﹖在春天的柏油路夏日的桥头秋季的公园寒冬的阳台; 这世界不停开花,我想放进你心里一朵&am…...

Linux | 使用wget命令调用服务接口

关注wx&#xff1a; CodingTechWork 引言 在docker容器中&#xff0c;想要调用某个服务接口&#xff0c;发现没有安装curl命令&#xff0c;但是有wget命令。本次总结一下wget的使用。 wget命令实践 容器访问 查看容器 docker ps进入容器 docker exec -it <container_id&…...

POJ Prime Path 埃氏筛法+广度优先搜索

思路&#xff1a;用埃氏筛法打个表&#xff0c;然后bfs即可 #include <iostream> #include <queue> using namespace std; typedef long long ll; ll inf 0x3f3f3f3f3f3f3f3f; bool isPrime[10007]; ll d[10007]; int tenPow[10]; int mint; void initTenPow() {…...

React React Native

文章目录 ReactReact vs Vue快速上手React&#xff0c;核心知识点JSX例子 组件虚拟DOM基于 React 的 UI 库跟Java、ObjectC交互 React Native基于 React Native 的 UI 库 React && React NativeReact && React Native 框架 React React 是一个用于构建用户界面…...

分布式定时任务系列5:XXL-job中blockingQueue的应用

传送门 分布式定时任务系列1&#xff1a;XXL-job安装 分布式定时任务系列2&#xff1a;XXL-job使用 分布式定时任务系列3&#xff1a;任务执行引擎设计 分布式定时任务系列4&#xff1a;任务执行引擎设计续 Java并发编程实战1&#xff1a;java中的阻塞队列 引子 这篇文章的…...

QT网络编程之TCP

QT网络编程之TCP TCP 编程需要用到俩个类: QTcpServer 和 QTcpSocket。 #------------------------------------------------- # # Project created by QtCreator 2023-08-...

《游戏编程模式》学习笔记(四) 观察者模式 Observer Pattern

定义 观察者模式定义了对象间的一种一对多的依赖关系&#xff0c;当一个对象的状态发生改变时&#xff0c;所有依赖于它的对象都得到通知并被自动更新。 这是定义&#xff0c;看不懂就看不懂吧&#xff0c;我接下来举个例子慢慢说 为什么我们需要观察者模式 我们看一个很简…...

前端一键升级 package.json里面的依赖包管理

升级需谨慎 前端一键升级 package.json里面的依赖包管理 安装&#xff1a;npm-check-updates npm i npm-check-updates -g缩写 ncu 在项目根目录里面执行 ncu 如图&#xff1a;...

当速度很重要时:使用 Hazelcast 和 Redpanda 进行实时流处理

在本教程中&#xff0c;了解如何构建安全、可扩展、高性能的应用程序&#xff0c;以释放实时数据的全部潜力。 在本教程中&#xff0c;我们将探索 Hazelcast 和 Redpanda 的强大组合&#xff0c;以构建对实时数据做出反应的高性能、可扩展和容错的应用程序。 Redpanda 是一个流…...

筛法求欧拉函数

思路&#xff1a; &#xff08;1&#xff09;若要分别求1~n每个数的欧拉函数值&#xff0c;则复杂度O&#xff08;n*n^0.5)&#xff0c;超时&#xff1b; &#xff08;2&#xff09;于是考虑用欧拉筛进行求取&#xff1b; &#xff08;3&#xff09;欧拉筛&#xff1a;基于线…...

consul限制注册的ip

假设当前服务器的ip是&#xff1a;192.168.56.130 1、允许 所有ip 注册(验证可行) consul agent -server -ui -bootstrap-expect1 -data-dir/usr/local/consul -nodedevmaster -advertise192.168.56.130 -bind0.0.0.0 -client0.0.0.0 2、只允许 当前ip 注册 consul agent -…...

用AI攻克“智能文字识别创新赛题”,这场大学生竞赛掀起了什么风潮?

文章目录 一、前言1.1 大赛介绍1.2 项目背景 二、基于智能文字场景个人财务管理创新应用2.1 作品方向2.2 票据识别模型2.2.1 文本卷积神经网络TextCNN2.2.2 Bert 预训练微调2.2.3 模型对比2.2.4 效果展示 2.3 票据文字识别接口 三、未来展望 一、前言 1.1 大赛介绍 中国大学生…...

EJB基本概念和使用

一、EJB是什么&#xff1f; EJB是sun的JavaEE服务器端组件模型&#xff0c;是一种规范&#xff0c;设计目标与核心应用是部署分布式应用程序。EJB2.0过于复杂&#xff0c;EJB3.0的推出减轻了开发人员进行底层开发的工作量&#xff0c;它取消或最小化了很多(以前这些是必须实现)…...

从‘盲人摸象’到‘全局视野’:手把手教你用MATLAB/Simulink仿真PSO-MPPT对抗光伏遮荫(避坑指南)

从‘盲人摸象’到‘全局视野’&#xff1a;手把手教你用MATLAB/Simulink仿真PSO-MPPT对抗光伏遮荫&#xff08;避坑指南&#xff09; 光伏发电系统在局部遮荫条件下&#xff0c;功率-电压特性曲线会呈现多峰值现象&#xff0c;传统MPPT算法容易陷入局部最优。粒子群优化&#x…...

Pixelle-Video:AI短视频创作革命,零基础也能成为视频制作达人

Pixelle-Video&#xff1a;AI短视频创作革命&#xff0c;零基础也能成为视频制作达人 【免费下载链接】Pixelle-Video &#x1f680; AI 全自动短视频引擎 | AI Fully Automated Short Video Engine 项目地址: https://gitcode.com/GitHub_Trending/pi/Pixelle-Video 还…...

2026年初中生赴新加坡留学,费用究竟几何?一文为你揭秘!

在教育全球化的今天&#xff0c;越来越多的家长将目光投向海外&#xff0c;新加坡凭借其优质的教育资源、安全的社会环境和多元的文化氛围&#xff0c;成为众多初中生留学的热门选择。那么&#xff0c;2026年初中生赴新加坡留学的费用到底是多少呢&#xff1f;本文将为你详细揭…...

突破性技术:CXPatcher如何在Mac上实现CrossOver性能极限的完整指南

突破性技术&#xff1a;CXPatcher如何在Mac上实现CrossOver性能极限的完整指南 【免费下载链接】CXPatcher A patcher to upgrade Crossover dependencies and improve compatibility 项目地址: https://gitcode.com/gh_mirrors/cx/CXPatcher 对于在macOS上运行Windows应…...

如何在Windows电脑上轻松安装安卓应用:APK-Installer终极指南

如何在Windows电脑上轻松安装安卓应用&#xff1a;APK-Installer终极指南 【免费下载链接】APK-Installer An Android Application Installer for Windows 项目地址: https://gitcode.com/GitHub_Trending/ap/APK-Installer 你是否曾经想在Windows电脑上直接运行安卓应用…...

D1016UK,1MHz至1GHz宽带适用的低噪声高效率射频功率晶体管

简介今天我要向大家介绍的是 TT Electronics/Semelab 的DMOS RF FET晶体管——D1016UK。这是一款专为VHF/UHF通信频段&#xff08;1 MHz至1GHz&#xff09;设计的金金属化多用途硅RF功率场效应管&#xff0c;采用推挽式架构&#xff0c;在28V工作电压下可提供40W的输出功率。作…...

从‘过拟合陷阱’到可靠评估:手把手教你用Python和Scikit-learn玩转交叉验证(含RepeatedKFold/LeaveOneOut)

从‘过拟合陷阱’到可靠评估&#xff1a;手把手教你用Python和Scikit-learn玩转交叉验证&#xff08;含RepeatedKFold/LeaveOneOut&#xff09; 当你满怀期待地将训练集上准确率高达98%的模型部署到生产环境&#xff0c;却发现实际预测效果惨不忍睹时&#xff0c;那种落差感就…...

如何一键清理Windows冗余驱动:Driver Store Explorer完全指南

如何一键清理Windows冗余驱动&#xff1a;Driver Store Explorer完全指南 【免费下载链接】DriverStoreExplorer Driver Store Explorer 项目地址: https://gitcode.com/gh_mirrors/dr/DriverStoreExplorer 你是否发现C盘空间不知不觉就满了&#xff1f;Windows系统在C:…...

逆向实战:用WT-JS_DEBUG_V1.8.3快速定位并导出AES加密参数到Python

逆向工程实战&#xff1a;从浏览器到Python的AES加密参数高效迁移指南 在数据采集和接口分析领域&#xff0c;遇到前端加密是再常见不过的挑战。特别是当网站采用AES加密时&#xff0c;如何快速提取关键参数并复用到Python脚本中&#xff0c;成为许多开发者头疼的问题。本文将…...

MindCluster集群调度实践-通用超节点调度算法

作者&#xff1a;昇腾实战派 一、超节点的重要性 随着模型参数量的上升&#xff0c;训练任务运行所需的芯片数量也达到了万卡、十万卡级别。如何将如此庞大的芯片链接起来&#xff0c;并且做到通信带宽和成本的平衡&#xff0c;成为硬件层面的一大难题。 图1.资源扩展方式示…...