1

logstash を使用してログ配布/統合を構成しようとしています。私のTomcatサーバーはWindowsで実行されています。Windows での Tomcat、log4j を使用したログ記録、単一の Linux サーバーで実行されている redis consolidator/elasticsearch/logstash/kibana など、構成でいくつかの問題が発生しています。

  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

現在、ZeroMQ を使用して Logstash にログを送信する Java ライブラリを作成しています (中央の 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 に答える