2012-07-10 4 views
1

monst로 logstash를 시작하려고합니다. /home/slee/PROJECT/logstash에 logstash가있는 디렉토리가 있습니다.monst로 logstash 실행

먼저 monit 사이트에서 제안한대로 logstash를 실행하는 bash 스크립트 (래퍼)를 만듭니다. 내가 ./logstash 시작 이것을 실행하면

#!/bin/bash 
export JAVA_HOME=/usr/local/java/ 
#CLASSPATH=/root/lo2/logstash/logstash-1.1.0-monolithic.jar 
#CONFIG=/root/lo2/logstash/stag_conf.conf 
CLASSPATH=/home/slee/PROJECT/logstash/logstash-1.1.0-monolithic.jar 
CONFIG=/home/slee/PROJECT/logstash/local.conf 

case $1 in 
start) 
    echo $$ > /var/run/logstash.pid; 
    #exec 2>&1 java -jar $CLASSPATH agent -f $CONFIG -- web --backend elasticsearch:///?local 1> /var/log/apache2/logstash.log 
    exec java -jar $CLASSPATH agent -f $CONFIG --log /var/log/logstash-indexer.out -- web --log /var/log/logstash-web.out --backend elasticsearch://localhost/ 
    ;; 
stop) 
    kill `cat /var/run/logstash.pid` ;; 
*) 
echo "usage: logstash {start|stop}" ;; 
esac 
exit 0 

: 나는이를 만들었습니다. 그것은 매력처럼 작동하지만 만약 내가 그것을 monit에 추가하면 :

check process logstash with pidfile /var/run/logstash.pid 
group system 
start program = "/bin/bash /home/slee/PROJECT/twyxt/logstash/logstash.sh" 
stop program = "/bin/bash /home/slee/PROJECT/twyxt/logstash/logstash.sh" 
if failed host localhost port 9292 
protocol http then restart 
if 5 restarts within 5 cycles then timeout 

전혀 로그 스타트가 시작되지 않습니다. 아무도 그 이유를 말할 수 있습니까? 또는 이것을 해결하는 방법에 대한 아이디어를주십시오.

은 내가 logstash 그룹에 이메일을 보내 그들은 내가 그것을 시도하지만 난 슬리 @ 우분투를 받고 계속 나에게이 링크 http://cookbook.logstash.net/recipes/using-upstart/#upstart%20logstash%20config

을했다 : logstash을 시작 initctl ~/PROJECT/logstash/신출내기/백업 $ sudo를 initctl : 알 수없는 작업 : logstash

내가 직접 디렉토리를 변경 한 이후로 logstash 구성이 잘못되었을 수 있습니다. 도와주세요.

최고 감사합니다, 스티븐슨 리 내 경험에

답변

1

, 자바 프로세스를 시작 MONIT을 얻을 수있는 유일한 방법은 Java Service Wrapper을 사용하는 것입니다. 나는 자바를 직접 시작하는 예제를 본 적이 있지만 그들은 나를 위해 일하지 않을 것이다.

ElasticSearch는 Java Service Wrapper을 설명합니다.