springMVC搭建ELK-收集tomcat日志

我们在上一章说了收集log4j日志,我们说一下收集tomcat日志,和log4j差不多,也是使用Filebeat 7.12。下载安装看上一篇,这篇只说配置

配置filebeat

在配置文件中修改filebeat.input,此处我们收集了两种日志,一种log4j,一种是tomcat日志,所以我们配置了两个-type:log,注意前面一定要加“-”,而且这几项是有层级关系的,否则启动会报错

- type: log

  # Change to true to enable this input configuration.
 # enabled: false

  # Paths that should be crawled and fetched. Glob based paths.
  paths:
    - C:\log\*
  fields:
    doc_type: log4j
    #- c:\programdata\elasticsearch\logs\*
    
- type: log
  paths:
    - D:\work\TOMCAT\apache-tomcat-8.5.35-8080\logs\localhost*.log
  fields:
    doc_type: tomcat
  multiline.pattern: ^\[
  multiline.negate: true
  multiline.match: after

 fields:   doc_type 区分了两种日志的索引

multiline的三个参数是用来收集tomcat控制台输出的异常日志的,也就是多行合并成一组的日志。

日志还是给logstash,filebeat就配置好了

配置logstash

input {
  beats {
    port => 9601 #注意要和filebeat的输出端口一致
  }
 }

filter {
   if [fields][doc_type] == 'log4j' {
    grok {
			match => { "message" => "%{TIMESTAMP_ISO8601:timestamp} %{LOGLEVEL:level} %{JAVALOGMESSAGE:msg}" }
		}
   }

   if [fields][doc_type] == 'tomcat' { 
    grok {
			match => { "message" => "%{TIMESTAMP_ISO8601:timestamp} %{LOGLEVEL:level} %{JAVALOGMESSAGE:msg}" }
		}
   }
}

output {
	if [fields][doc_type] == "log4j" { 
		elasticsearch {
                        hosts => [ "127.0.0.1:9200" ]
                        index => "log4j-%{+YYYY.MM.dd}"
                 }
	}
	
	if [fields][doc_type] == "tomcat" { 
		elasticsearch {
                        hosts => [ "127.0.0.1:9200" ]
                        index => "tomcat-%{+YYYY.MM.dd}"
                 }
	}
	
        
        #同时输出日志到控制台
        stdout { codec => rubydebug }
}

logstash配置好了

Elasticsearch、Kibana、Logstash看第一篇文章

将Elasticsearch、Logstash、Kibana、Filebeat全部启动,Logstash命令框会输出已经有的log文件信息和tomcat信息

我们在Kibana中看一下http://localhost:5601/,索引名称是tomcat和log4j

在tomcat日志中可以看到我们的一个空指针的异常完全被记录

springMVC搭建ELK-收集tomcat日志完毕

不完美的就是没有把内容按每个字段都分解开。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值