ELK日志异常信息换行问题解决

为了让我们的error日志不换行,我们就需要引入multiline这个中间键

因为logstash本身不带,所以需要我们安装,在我们的logstash的bin目录下执行 

E:\tools\logstash\logstash-6.8.23\bin>logstash-plugin.bat install logstash-fi
lter-multiline

如下,出现successful则表示安装成功

E:\tools\logstash\logstash-6.8.23\bin> logstash-plugin.bat install logstash-filt
er-multiline
Validating logstash-filter-multiline
Installing logstash-filter-multiline
Installation successful

其次我们就需要重新配置logstash的配置文件logstash.conf

配置文件的filter部分如下

filter {
	multiline {
		pattern => "^[0-9]{4}-[0-9]{2}-[0-9]{2}\ [0-9]{2}:[0-9]{2}:[0-9]{2}" # 正则匹配以[开头的
		negate => true # true:表示不匹配正则表达式时,false:匹配正则表达式时(negate相反的)
		what => "previous" # 设置未匹配的内容是向前合并还是先后合并,previous向前合并,next向后合并
	}
}

完整内容如下:

# Sample Logstash configuration for creating a simple
# Beats -> Logstash -> Elasticsearch pipeline.

input {
  file{
     path => ["D:/log/documentdemo/*.log"]
	 start_position => "beginning"
	 # type随便填写个名字
	 type => "document-demo-system"
  }
  file{
     path => ["D:/log/say/*.log"]
     start_position => "beginning"
  	 type => "say-system"
  }
}

filter {
	multiline {
		pattern => "^[0-9]{4}-[0-9]{2}-[0-9]{2}\ [0-9]{2}:[0-9]{2}:[0-9]{2}" # 正则匹配以[开头的
		negate => true # true:表示不匹配正则表达式时,false:匹配正则表达式时(negate相反的)
		what => "previous" # 设置未匹配的内容是向前合并还是先后合并,previous向前合并,next向后合并
	}

}


output {
  if [type] == "document-demo-system" {
    elasticsearch {
      hosts => ["http://localhost:9200"]
      index => "document-logs-%{+YYYY.MM.dd}"
    }
  }
  if [type] == "say-system" {
    elasticsearch {
      hosts => ["http://localhost:9200"]
      index => "say-logs-%{+YYYY.MM.dd}"
    }
  }
  # 可选:将日志输出到控制台进行调试
  # stdout { codec => rubydebug }
}


至此就能看到我们的ERROR日志不换行的结果了

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值