2012-09-27 56 views

回答

0

如文檔here所示,您可以使用ANY日誌文件,它來自哪個源並不重要。您必須將輸入用作文件並相應地配置其他內容!

input { 
    file { 
## Your configuration goes here like file path 
## and other config, check documentation 
} 
} 
1

這可能取決於Java日誌框架的選擇以及日誌框架的輸出如何格式化。

的logstash文檔舉一個例子的log4j輸入解析器:http://logstash.net/docs/1.1.9/inputs/log4j

input { 
    log4j { 
    add_field => ... # hash (optional), default: {} 
    charset => ... # string, one of ["ASCII-8BIT", "UTF-8", "US-ASCII", ...] (optional), default: "UTF-8" 
    data_timeout => ... # number (optional), default: 5 
    debug => ... # boolean (optional), default: false 
    format => ... # string, one of ["plain", "json", "json_event"] (optional) 
    host => ... # string (optional), default: "0.0.0.0" 
    message_format => ... # string (optional) 
    mode => ... # string, one of ["server", "client"] (optional), default: "server" 
    port => ... # number (required) 
    tags => ... # array (optional) 
    type => ... # string (required) 
    } 
} 
2

Tomcat使用Java的的Util-日誌記錄。

您可以使用直接GELF appender將日誌從Tomcat提交到logstash。

你需要在你的啓動腳本一些變化,並記錄器配置(和兩個罐子):

/conf/logging.properties

handlers = 1catalina.org.apache.juli.FileHandler, 2localhost.org.apache.juli.FileHandler, 3manager.org.apache.juli.FileHandler, 4host-manager.org.apache.juli.FileHandler, java.util.logging.ConsoleHandler, biz.paluch.logging.gelf.jul.GelfLogHandler 

.handlers = 1catalina.org.apache.juli.FileHandler, java.util.logging.ConsoleHandler, biz.paluch.logging.gelf.jul.GelfLogHandler 


biz.paluch.logging.gelf.jul.GelfLogHandler.host=udp:localhost 
biz.paluch.logging.gelf.jul.GelfLogHandler.port=12201 
biz.paluch.logging.gelf.jul.GelfLogHandler.level=INFO 

/bin/catalina.sh

if [ -r "$CATALINA_BASE/bin/logstash-gelf-1.4.2.jar" ] ; then 
    CLASSPATH=$CLASSPATH:$CATALINA_BASE/bin/logstash-gelf-1.4.2.jar:$CATALINA_BASE/bin/json-simple-1.1.jar:$CATALINA_BASE/bin/jedis-2.5.1.jar:$CATALINA_BASE/bin/commons-pool2-2.0.jar 
fi 

logstash-GELFlogstash-gelf-1.5.2-logging-module.zip

又見Changes for logstash-gelf with Tomcat