logstash日志换行处理小解

这篇具有很好参考价值的文章主要介绍了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}"} # 新增字段,多字段字符串组合成新字段logdate
		remove_field => ["date","time"]
	}
}

output {
	elasticsearch {
		hosts => ["http://elasticsearch:9200"]
		index => "testlog"
	}
}

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

logstash日志换行处理小解,logstash,elasticsearch

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

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

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

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

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

最终es显示效果如下:

logstash日志换行处理小解,logstash,elasticsearch文章来源地址https://www.toymoban.com/news/detail-640396.html

到了这里,关于logstash日志换行处理小解的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • elk(elasticsearch+logstash+kibana)搭建日志监控平台

    目录 elk架构原理 安装部署elasticsearch 什么是elasticsearch 创建elasticserch docker容器  安装部署kibana 什么是Kinana 创建Kibana docker容器         拉取镜像         创建配置文件:D:Programsdockerkibanakibana.yml          创建并运行kibana容器         验证登录kibana 安装部署logstash 什么

    2024年02月04日
    浏览(63)
  • 统一日志管理方案:Spring项目logback日志与logstash和Elasticsearch整合

    原创/朱季谦 最近在做一个将分布式系统的日志数据通过logstash传到kafka的功能,做完之后决定业余搭一个ELK日志分析系统,将logstash采集到的日志传给Elasticsearch。经过一番捣鼓,也把这个过程给走通了,于是写了这篇总结,可按照以下步骤搭建logstash采集spring日志数据并传输

    2024年02月03日
    浏览(38)
  • logstash~logstash将本地文件中的日志作为input处理

    测试环境中频繁操作产生日志例如打印刻录日志会比较浪费时间,想到将日志保存到本地文件汇总,然后使用logstash将本地文件作为input输入,即可在不实际操作的情况下对日志进行格式分析 先将产生的日志保存到本地文件中,这里为了测试我使用的是 stdin 输入插件获取内容

    2024年02月13日
    浏览(38)
  • 使用Filebeat+Kafka+Logstash+Elasticsearch构建日志分析系统

            随着时间的积累,日志数据会越来越多,当您需要查看并分析庞杂的日志数据时,可通过Filebeat+Kafka+Logstash+Elasticsearch采集日志数据到Elasticsearch中,并通过Kibana进行可视化展示与分析。本文介绍具体的实现方法。 Kafka是一种分布式、高吞吐、可扩展的消息队列服务,

    2024年02月04日
    浏览(46)
  • ELK企业级日志分析系统(elasticsearch+logstash+kibana)

    目录 一.ELK概述 1.定义 (1)ElasticSearch (2)Kiabana (3)Logstash (4)Filebeat 2.filebeat结合logstash带来好处 3.为什么要是用ELK? 4.完整日志系统基本特征 5.ELK 的工作原理 二.部署ELK 1.环境配置 2.ELK集群部署(node1、node2) 3.部署 Elasticsearch 软件 4.安装Elasticsearch-head 插件 (1)编译安

    2024年04月22日
    浏览(59)
  • ELK【elasticsearch+logstash+kibana】企业级日志分析系统

    ELK平台是一套完整的日志集中处理解决方案,将 elasticsearch、logstash 和 kiabana 三个开源工具配合使用,完成更加强大的用户对日志的查询、排序、统计需求。 ElasticSearch:是基于Lucene(一个全文检索引擎的架构)开发的分布式存储检索引擎,用来存储各类日志。 Elasticsearch 是用

    2024年02月08日
    浏览(48)
  • Elasticsearch系列组件:Logstash强大的日志管理和数据分析工具

    Elasticsearch 是一个开源的、基于 Lucene 的分布式搜索和分析引擎,设计用于云计算环境中,能够实现实时的、可扩展的搜索、分析和探索全文和结构化数据。它具有高度的可扩展性,可以在短时间内搜索和分析大量数据。 Elasticsearch 不仅仅是一个全文搜索引擎,它还提供了分布

    2024年02月08日
    浏览(44)
  • ElasticSearch+Kibana+Logstash实现日志可视化运维监控

    1.目标 1.安装ElasticSearch 2.安装Kibana 3.安装Logstash采集/var/log/messages日志内容 4.图表化展示日志监控结果 2.版本 这三者的版本号要完全一样 ElasticSearch 6.1.1 Kibana 6.1.1 Logstash 6.1.1 Jdk1.8.0_181 3.安装ElasticSearch 安装包:https://cloud.189.cn/t/zuQz6v2YZRVb (访问码:6sbf) 下载网站:https://www.elast

    2024年02月10日
    浏览(54)
  • Filebeat ➕ Logstash 将日志文件输出到 Elasticsearch 或 Amazon S3

    filebeat是什么 Filebeat 是一个开源的轻量级日志数据收集器,由 Elastic 公司开发。它主要用于实时收集、解析和传输日志数据,将日志数据从不同的源头(如文件、日志文件、系统日志等)传输到目标位置(如 Elasticsearch、Logstash 等),以便进行存储、分析和监控。 Filebeat 的主

    2024年02月11日
    浏览(45)
  • filebeat+kafka+logstash+elasticsearch+kibana实现日志收集解决方案

    前言:我们使用nginx来模拟产生日志的服务,通过filebeat收集,交给kafka进行消息队列,再用logstash消费kafka集群中的数据,交给elasticsearch+kibana监控 服务器环境: 192.168.2.1:elasticsearch 192.168.2.2:filebeat+nginx 192.168.2.3:kafka 192.168.2.4:logstash elasticseatch+filebeat+kafka+logsstash(6.60)清

    2024年02月03日
    浏览(55)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包