logstash据说已废弃input-log4j插件,调试半天无果,切换成filebeat, es+kibana提前配置启动好,这边不做多余的解释
1) filebeat安装 采用的rpm方式进行安装的
wget -c https://download.elastic.co/beats/filebeat/filebeat-6.4.0-x86_64.rpm
rpm -ivh filebeat-6.4.0-x86_64.rpm
默认的安装路径,配置文件位置/etc/filebeat/
2) 配置filebeat.yml 修改收集的日志路径,输出注释掉直接输出到es.修改为输出到logstash
注意
相比于向 elasticsearch 输出数据,个人更推荐向 logstash 输出数据。
因为 logstash 和 filebeat 一起工作时,如果 logstash 忙于处理数据,会通知 FileBeat 放慢读取速度。一旦拥塞得到解决,FileBeat 将恢复到原来的速度并继续传播。这样,可以减少管道超负荷的情况。
3) 配置结束后,启动filebeat
filebeat -e -c filebeat.yml -d "public"
启动后提示,这个是正常的,等配置好logstash后回自动恢复
4) 开始配置logstash,使用最简单的配置
启动logstash, ./logstash -f ../config/logstash.conf --config.reload.automatic 都启动完成后,filebeat中链接失败的错误会消失
5) 然后配置tomcat项目中的log4j,在原有的基础上追加以下配置
正常启动tomcat项目,
6) logstash中会有这种信息打印,抓取的是实时的日志信息
elasticsearch-head插件中也会有新的索引创建,
7) 模拟掉一下tomcat项目打印一下日志
tomcat中的日志
kibana中查询出的日志
已验证日志是实时抓取的,配置生效,可以正常使用