2013-10-15 3 views
0

logstash를 사용하여 로그 전달/통합을 구성하려고합니다. 내 tomcat 서버는 Windows에서 실행됩니다. 제 구성에 몇 가지 문제가 있습니다 - Windows의 Tomcat, 단일 Linux 서버에서 실행중인 log4j, redis consolidator/elasticsearch/logstash/kibana를 사용하여 로깅합니다.Windows에서 Tomcat 로그를 logstash로 배송

  1. Windows에서 사용할 수있는 로그 발송기가 줄어 듭니다. nxlog가 즉시 상자 밖으로 나오면 작동하지 않는 것 같습니다. 그래서, 나는 logstash를 사용하여 우주선으로 되돌아갔습니다. 나는 다른 사람들이 선호하는 것을 배우고 싶다.

  2. 오히려 바람둥이가 log4j를 사용하여 파일에 기록한 다음 파일을 Redis에 제공하기위한 입력으로 제공하기를 원합니다. 나는 로그 형식을 원하지 않는다. 나를위한 json-event 형식이 없습니다 - http://spredzy.wordpress.com/2013/03/02/monitor-your-cluster-of-tomcat-applications-with-logstash-and-kibana/. 내가 log4j에 파일에 대한 shipper.conf

모든 샘플 설정에 올바른 파일 설정을 얻을 수없는 것 - 도움이 될 레디 스를 통해 logstash에 공급.

감사

답변

0

나는 현재 ZeroMQ를 사용 Logstash하는 로그를 보낼 수있는 자바 라이브러리를 쓰고 있어요 (더 중앙 레디 스 브로커는 필요 없음). 면책 조항 : 아직 완벽하지는 않지만 유의해야 할 가치가 있습니다. https://github.com/stuart-warren/logit

표준 juli 로그 구성 (또는이를 사용하는 경우 log4j)을 설정하고 tomcat-valve jar를 사용하여 server.xml을 구성하여 액세스 로그를 보낼 수도 있습니다.

그러나 기본적으로 json 이벤트 형식으로 전송합니다. 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 

server.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" /> 
+0

감사합니다. 보세요. – shikarishambu

관련 문제