Log4jログファイル(今のところSocket呼び出しを使用しない)を、ElasticsearchにフィードするLogstash JSONファイルに統合するように求められました。私たちのコードはRollingFileAppenderを使用しています。次に、ログエントリの例を示します。このlog4jログのlogstash grokフィルタは何ですか?
2016-04-22 16:43:25,172 ERROR :SomeUser : 2 [com.mycompany.SomeClass] AttributeSchema 'Customer |Customer |Individual|Individual|Quarter|Date' : 17.203 The Log Message.
ここに私たちのlog4j.propertiesでConversionPattern値は
<param name="ConversionPattern" value="%d{ISO8601} %p %x %X{username}:%t [%c] %m %n" />
をファイルの誰かが私に行を解析しますLogstash GROKフィルタを書く助けてくださいことはできますか?私はこれまでに以下のことを持っています。
filter {
if [type] == "log4j" {
grok {
match => ["message", "%{TIMESTAMP_ISO8601:logdate} %{LOGLEVEL:loglevel} %{GREEDYDATA:messsage}"]
}
date {
match => ["logdate", "yyyy-MM-dd HH:mm:ss,SSS", "ISO8601"]
}
}
}
もちろん、メッセージとして優先順位の後にすべてを取ります。私はさらに分離する、少なくとも以下の(Log4j Pattern Layoutで定義された)フィールド
- ユーザ(%のX {ユーザー名})
- クラスパス([%のC])
- スレッド率(%T)
- ネストされた診断コンテンツ(%x)が
- メッセージ自体(%のM)
私の次の質問に答えるには、%{スペース}または\ + sを入力してください。 –