ELK显示多行日志

1.默认,logstash对日志文件的选取是以单行为单位的;但像log4j这种输出日志经常会是以时间头开始的多行日志;

2.显示多行,需要配置logstash的config;

input {
file {
   type =>"cbb-sh-robot"
   path => ["/home/weblogic/apps/cbb-robot/cbb-sender-sh-pre-robot-logs/cbb.log","/home/weblogic/apps/cbb-robot/cbb-sender-sh-pre-robot-logs/cbb-robot.log"]
   codec => multiline {
        pattern => "^%{TIMESTAMP_ISO8601} "
        negate => true
        what => previous
}
  }
file{
   type =>"cbb-web"
   path => ["/home/weblogic/Oracle/Middleware/user_projects/domains/base_domain/cbb-web-logs/cbb.log"]

   codec => multiline {
        pattern => "^%{TIMESTAMP_ISO8601} "
        negate => true
        what => previous
}
}
}

output {
  elasticsearch { hosts => ["localhost:9200"] }
  stdout { codec => rubydebug }
}

 

multiline插件最重要的方面:

  • pattern 选项指定一个正则表达式。 事件匹配指定的正则表达式来确定是前一个事件的内容还是新的事件的内容。可以使用grok正则表达式的模板来配置该选项。
  • what 选项有两个选择值: previous 或者 next。 previous 值指定行匹配pattern选项的内容是上一行的一部分。 next 指定行匹配pattern选项的内容是下一行的一部分。* negate选项适用于multiline codec 行不匹配pattern选项指定的正则表达式。

该配置使用negate => true 选项来指定任何不是以时间戳开始的行属于前行。也就是不匹配pattern的行都属于前行的内容的一部分。

如上图所示,2222 3333 4444 均为多行的数据,可以被正确的显示在一个时间头开始的日志里;

时间: 2024-10-11 01:53:27

ELK显示多行日志的相关文章

spring mvc+ELK从头开始搭建日志平台

spring mvc+ELK从头开始搭建日志平台 最近由于之前协助前公司做了点力所能及的事情,居然收到了一份贵重的端午礼物,是给我女儿的一个乐高积木,整个有7大包物件,我花了接近一天的时间一砖一瓦的组织起来,虽然很辛苦但是能够从过程中体验到乐趣.这次将分享从头搭建分布式日志系统,主要是在spring mvc上结合ELK套件实现(之前有些工作由于分工不同由不同的同事来完成,我只是在已经配置好的环境下做开发而已),包含如下这些技术点: spring mvc logback logstash elas

python实现websocket服务器,可以在web实时显示远程服务器日志

一.开始的话 使用python简单的实现websocket服务器,可以在浏览器上实时显示远程服务器的日志信息. 之前做了一个web版的发布系统,但没实现在线看日志,每次发布版本后,都需要登录到服务器上查看日志,非常麻烦,为了偷懒,能在页面点几下按钮完成工作,所以这几天查找了这方面的资料,实现了这个功能,瞬间觉的看日志什么的,太方便了,以后也可以给开发们查日志,再也不用麻烦运维了,废话少说,先看效果吧. 二.代码 在实现这功能前,看过别人的代码,发现很多都是只能在web上显示本地的日志,不能看远程

ELK之方便的日志收集、搜索、展示工具

大家在做分部署系统开发的时候是不是经常因为查找日志而头疼,因为各服务器各应用都有自己日志,但比较分散,查找起来也比较麻烦,今天就给大家推荐一整套方便的工具ELK,ELK是Elastic公司开发的一整套完整的日志分析技术栈,它们是Elasticsearch,Logstash,和Kibana,简称ELK.Logstash做日志收集分析,Elasticsearch是搜索引擎,而Kibana是Web展示界面. 1.日志收集分析Logstash LogstashLogstash 是一个接收,处理,转发日志

ELK+Filebeat 集中式日志解决方案详解

原文:ELK+Filebeat 集中式日志解决方案详解 链接:https://www.ibm.com/developerworks/cn/opensource/os-cn-elk-filebeat/index.html?ca=drs- ELK Stack 简介 ELK 不是一款软件,而是 Elasticsearch.Logstash 和 Kibana 三种软件产品的首字母缩写.这三者都是开源软件,通常配合使用,而且又先后归于 Elastic.co 公司名下,所以被简称为 ELK Stack.根据

Kubernetes实战之部署ELK Stack收集平台日志

主要内容 1 ELK概念 2 K8S需要收集哪些日志 3 ELK Stack日志方案 4 容器中的日志怎么收集 5 K8S平台中应用日志收集 准备环境 一套正常运行的k8s集群,kubeadm安装部署或者二进制部署即可 ip地址 角色 备注 192.168.73.136 nfs 192.168.73.138 k8s-master 192.168.73.139 k8s-node01 192.168.73.140 k8s-node02 1 ELK 概念 ELK是Elasticsearch.Logst

SQL按照某一列数据去重并显示整行信息

mysql按照某一字段去重,并显示其他字段信息.有时候会有一些这样的需求,就是按照sql中的某一列值去重,还要显示其他字段的信息.用distinct进行去重时不能显示整行的信息,对这种需求显然难以满足. v准备工作 1.0 创建测试 CREATE TABLE `logtest` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `msg` varchar(500) NOT NULL, `create_time` timestamp NOT NULL

Android studio 显示代码行号 设置

首先我们打开我们的Android Studio.   这时会弹出setting页面,我们选择show line numbers然后点击确定按钮.   此时我们就可以看到代码左侧显示出行号了   我们可以看到不仅Java代码显示了行号,而且XML代码区域也显示了行号,大家可以自己试试.欢迎关注,后面会继续写Android开发的系列经验的.

linux 查找指定内容并显示指定行数的命令,显示匹配行和行号

grep -i "desktop-printing-0.19-20.2.el5.x86_64" -n -A 10 install.log linux 查找指定内容并显示指定行数的命令,显示匹配行和行号,布布扣,bubuko.com

设置MyEclipse显示代码行数和设置字体的技巧

设置MyEclipse显示代码行数和设置字体的技巧 一个优秀的程序员一定会做到两点,避免bug和瞬间定位bug,显示代码的行数,能帮助我们及时发现错误,分析错误. 1.在MyEclipse菜单栏中找到Window选项,在其下拉菜单中选中Preferences选项,打开 2.在弹出的如下窗口中,在左侧选项列中选General,点击其下拉三角,找到其子选项,Editors 3.在Editors选项中,找到Text Editors选项选中,在右侧中找到Show line numbers,并勾选 4.关