我正在尝试使用logstash配置日志传送/合并。我的tomcat服务器在Windows上运行。我的配置遇到了一些问题 - 在Windows上使用Tomcat,使用log4j进行日志记录,在单个Linux服务器上运行redis consolidator / elasticsearch / logstash / kibana。
Windows上可用的日志托运人较少。看起来nxlog不适用于redis开箱即用。所以,我已经恢复使用logstash发货。我想了解其他人更喜欢使用的内容
而是使用自定义appender我宁愿让tomcat使用log4j登录到文件,然后将该文件作为输入提供给Redis。我不想要日志格式。 我没有json事件格式 - http://spredzy.wordpress.com/2013/03/02/monitor-your-cluster-of-tomcat-applications-with-logstash-and-kibana/。我似乎无法在shipper.conf
log4j文件的任何示例配置 - 通过redis提供给logstash会有所帮助。
由于
答案 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" />