收集Java、Tomcat日志
收集Java、Tomcat日志
通过 Logstash 收集 Tomcat 日志
预先准备
安装配置jdk
, ELK
在此不再赘述.
首先, 准备好测试页面, 确保测试页面可以正常访问, 在这里我准备好的测试页面是 http://192.168.0.126:8080/test/
修改 tomcat 的日志格式, 将原先默认的.txt
格式改为.json
格式, 编辑/usr/local/apache-tomcat-9.0.34/conf/server.xml
:
扩展:
"
表示的是"
英文引号的意思.
修改完配置文件之后, 保存退出, 并重启 tomcat 服务.
然后在浏览器或者使用curl
命令模拟访问 tomcat 服务, 使之产生日志文件.
查看日志文件:
收集 tomcat 日志
编辑logstash
的 tomcat 日志收集配置文件config/java_tomcat.conf
, 内容大致如下:
启动logstash
:
过程中遇到的问题:
logstash
无法加载到tomcat
的日志, 原因是如果运行logstash
的用户为普通用户, 则可能会因为权限问题无法访问到tomcat
的日志, 在此需要特别注意.
打开浏览器访问logstash的web管理页面, 找到以下页面, 并添加一个索引:
随后打开Dashboard
进行查看:
在elasticsearch
的web面板中查看:
日志合并-Multiline codec plugin
本编解码器的最初目标是允许加入多行消息从文件到一个单独的事件。
示例java
日志配置文件(部分):
参考链接
- codecs-multiline Documentations: https://www.elastic.co/guide/en/logstash/current/plugins-codecs-multiline.html