java-war源码构建项目如何对接Elasticsearch收集日志

1.看了官方实例演示的Nginx对接Elasticsearch。https://www.rainbond.com/docs/advanced-scenarios/devops/service-log/,不知道有没有Tomcat的对接实例

2.尝试java项目对接Elasticsearch,发现容器内没有Tomcat而是wabrunner将java项目跑起来的,所以不知道该如何让java项目对接Elasticsearch?

3.下图日志的路径在哪,是不是插件指定好下面这个日志的路径就ok了?

Rainbond使用webapp-runner项目来支持运行java-war源码构建

所以Rainbond也支持webapp-runner的一些高级特性,其中包含开启访问日志。那么针对这个案例场景,我们可以快速的通过这一特性,以及一条运维命令来将所有日志打印到一个日志文件中,假设我们希望将日志文件打印到 /data/log 文件中。那么我们应该持久化 /data 目录,并且修改启动命令如下:

web: java -jar $JAVA_OPTS ./webapp-runner.jar --access-log  --port $PORT java-war-demo.war | tee /data/log

可以和默认生成的启动命令做比对,我们修改了两点:

  • –access-log 这个参数用来开启访问日志
  • tee /data/log 这个运维命令可以保持标准输出的同时,保存到指定的文件中去

有了这些,再结合 Rainbond日志管理和插件制作教程 就可以实现将日志收集到ES中去了。

同时启动命令支持直接运行一个脚本,我们可以借助脚本的力量实现日志分割等高级操作,欢迎实现了的同学将经验分享出来。

创建出的日志文件内容如下:

1 Like