Ubuntu 使用monit运行日志存储

Ubuntu 使用monit运行日志存储,ubuntu,monit,Ubuntu,Monit,我正试着和莫妮特开始交往。 我有一个目录,其中有logstash,其中有/home/slee/PROJECT/logstash 首先,我创建了一个bash脚本(包装器),以便按照monit站点中的建议运行logstash。 我创造了这个: #!/bin/bash export JAVA_HOME=/usr/local/java/ #CLASSPATH=/root/lo2/logstash/logstash-1.1.0-monolithic.jar #CONFIG=/root/lo2/logsta

我正试着和莫妮特开始交往。 我有一个目录,其中有logstash,其中有/home/slee/PROJECT/logstash

首先,我创建了一个bash脚本(包装器),以便按照monit站点中的建议运行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
如果我使用./logstash start运行此操作。它就像一个符咒,但如果我将其添加到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小组发了一封电子邮件,他们给了我这个链接

我试过了,但一直都有问题 slee@ubuntu:~/PROJECT/logstash/upstart/backup$sudo initctl start logstash initctl:未知作业:logstash

我不知道logstash配置有什么问题,因为我把目录改成了我自己的。请帮忙

致以最良好的祝愿,
Stevenson Lee

根据我的经验,让monit启动java进程的唯一方法是使用
java服务包装器
。我见过一些例子显示monit直接启动java,但它们对我来说不起作用

ElasticSearch描述了。

签出

我在启动脚本中添加了一个HOME变量,现在它通过monit启动