Windows上的Tomcat日志传送到logstash

时间:2013-10-15 03:51:06

标签: windows tomcat redis logstash

我正在尝试使用logstash配置日志传送/合并。我的tomcat服务器在Windows上运行。我的配置遇到了一些问题 - 在Windows上使用Tomcat,使用log4j进行日志记录,在单个Linux服务器上运行redis consolidator / elasticsearch / logstash / kibana。

  1. Windows上可用的日志托运人较少。看起来nxlog不适用于redis开箱即用。所以,我已经恢复使用logstash发货。我想了解其他人更喜欢使用的内容

  2. 而是使用自定义appender我宁愿让tomcat使用log4j登录到文件,然后将该文件作为输入提供给Redis。我不想要日志格式。 我没有json事件格式 - http://spredzy.wordpress.com/2013/03/02/monitor-your-cluster-of-tomcat-applications-with-logstash-and-kibana/。我似乎无法在shipper.conf

  3. 中获得正确的文件配置

    log4j文件的任何示例配置 - 通过redis提供给logstash会有所帮助。

    由于

1 个答案:

答案 0 :(得分:0)

我正在编写一个Java库,使用ZeroMQ将日志发送到Logstash(不需要中央redis代理)。 免责声明:它还不是很完美,但可能值得关注。 https://github.com/stuart-warren/logit

您可以设置标准的juli日志配置(如果使用的话,还可以设置log4j),再加上tomcat-valve jar,您也可以通过配置server.xml来发送访问日志。

但默认情况下它会以json-event格式发送。 我很困惑为什么你不想保存Logstash服务器上的所有处理?您也可以(当前可能应该)以标准格式登录文件。

logging.properties文件。

# "handlers" specifies a comma separated list of log Handler 
# classes. These handlers will be installed during VM startup.
# Note that these classes must be on the system classpath.
# By default we only configure a ConsoleHandler, which will only
# show messages at the INFO and above levels.

handlers= com.stuartwarren.logit.jul.ZmqAppender
# handlers= com.stuartwarren.logit.jul.ZmqAppender, java.util.logging.ConsoleHandler

# Default global logging level.
# This specifies which kinds of events are logged across
# all loggers. For any given facility this global level
# can be overriden by a facility-specific level.
# Note that the ConsoleHandler also has a separate level
# setting to limit messages printed to the console.

.level=INFO

# Limit the messages that are printed on the console to INFO and above.

com.stuartwarren.logit.jul.ZmqAppender.level=INFO
com.stuartwarren.logit.jul.ZmqAppender.socketType=PUSHPULL
com.stuartwarren.logit.jul.ZmqAppender.endpoints=tcp://localhost:2120
com.stuartwarren.logit.jul.ZmqAppender.bindConnect=CONNECT
com.stuartwarren.logit.jul.ZmqAppender.linger=1000
com.stuartwarren.logit.jul.ZmqAppender.sendHWM=1000
com.stuartwarren.logit.jul.ZmqAppender.layout=com.stuartwarren.logit.jul.Layout

com.stuartwarren.logit.jul.Layout.layoutType=logstashv1
com.stuartwarren.logit.jul.Layout.detailThreshold=WARNING
com.stuartwarren.logit.jul.Layout.tags=tag1,tag2,tag3
com.stuartwarren.logit.jul.Layout.fields=field1:value1,field2:value2,field3:value3

java.util.logging.ConsoleHandler.level = FINE
java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter

server.xml中

<Valve className="com.stuartwarren.logit.tomcatvalve.ZmqAppender"
           layout="com.stuartwarren.logit.tomcatvalve.Layout"
           socketType="PUSHPULL"
           endpoints="tcp://localhost:2120"
           bindConnect="CONNECT"
           linger="1000"
           sendHWM="1000"
           layoutType="logstashv1"
           iHeaders="Referer,User-Agent"
           oHeaders=""
           cookies=""
           tags="tag1,tag2,tag3"
           fields="field1:value1,field2:value2,field3:value3" />