Я установил ELK на сервер Ubuntu 14.04. И теперь я хотел отправить на это все свои журналы серверов jboss (используя log4j).
конфигурация logstash: входной файл конфигурации:
input {
log4j {
type => "log4j"
port => 5000
}
}
файл конфигурации фильтра:
filter {
if [type] == "log4j" {
grok {
match => {"message" => MY_GROK_PARSE}
}
}
}
и выходной файл:
output {
elasticsearch {
embedded => true
}
}
И чтобы закончить добавление log4j:
<appender name="LOGSTASH" class="org.apache.log4j.net.SocketAppender">
<param name="Port" value="5000"/>
<param name="RemoteHost" value="XXX.XXX.XXX.XXX"/> <!-- There is a real adress here ;-) -->
<param name="ReconnectionDelay" value="50000"/>
<param name="LocationInfo" value="true"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d %-5p [%c{1}] %m%n" />
</layout>
</appender>
Но ничего не происходит с этой конфигурацией. Так что я не знаю, что я неправильно понимаю. Другие мои приложения (консоль и локальный файл) работают нормально. В журнале elasticsearch отображается любая информация/активность.
Изменить: Подробнее о моем файле jboss-log4j.xml:
<appender name="Async" class="org.apache.log4j.AsyncAppender">
<appender-ref ref="FILE" />
<appender-ref ref="CONSOLE" />
<appender-ref ref="LOGSTASH" />
</appender>
<root>
<priority value="INFO" />
<appender-ref ref="Async" />
</root>
elasticsearch
простым выводомstdout
, чтобы уменьшить количество движущихся частей? - person Magnus Bäck   schedule 24.11.2014