1

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

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

  2. 宁愿使用自定义附加程序,我宁愿让 tomcat 使用 log4j 记录到文件,然后将文件作为输入提供给 Redis。我不想记录格式。我没有 json-event 格式 - http://spredzy.wordpress.com/2013/03/02/monitor-your-cluster-of-tomcat-applications-with-logstash-and-kibana/。我似乎无法在 shipper.conf 中获得正确的文件配置

log4j 文件的任何示例配置 - 通过 redis 馈送到 logstash 都会有所帮助。

谢谢

4

1 回答 1

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

服务器.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" />
于 2013-11-16T01:47:04.567 回答