首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ElastAlert Bash启动脚本Centos 7

ElastAlert Bash启动脚本Centos 7
EN

Stack Overflow用户
提问于 2016-09-06 15:14:10
回答 2查看 989关注 0票数 0

我正在尝试编写一个启动脚本,作为服务启动弹性警报。弹性警报使用python并按以下方式启动:

代码语言:javascript
复制
python -m elastalert --verbose --rule rules_folder/frequency.yaml --config config.yaml

我一直在努力使它与以下几个方面一起工作:

代码语言:javascript
复制
#!/bin/bash
# elastalert   startup script for elastalert
# pidfile:           /var/run/elastalert.pid
# chkconfig: 2345 99 01

NAME=elastalert
PIDFILE=/var/run/$NAME.pid
ELASTALERT_DIR=/elastalert/elastalert
ELASTALERT_USER=elastalert
CONFIG_FILE=$ELASTALERT_DIR/config.yaml
ELASTALERT=$ELASTALERT_DIR/$NAME

. /etc/rc.d/init.d/functions

case $1 in
   start)
      echo -n $"Starting $NAME: "
      cd $ELASTALERT_DIR
      daemon --pidfile="$PIDFILE" "$ELASTALERT --rule rules_folder/frequency.yaml --config $CONFIG_FILE &"
      RETVAL=$?
      pid=`ps -ef | grep python | grep elastalert | awk '{print $2}'`
      if [ -n "$pid" ]; then
        echo $pid > "$PIDFILE"
      fi
   ;;
       stop)
      echo -n $"Stopping $NAME: "
      killproc -p "$PIDFILE" -d 10 "$ELASTALERT"
      RETVAL="$?"
      echo
      [ $RETVAL = 0 ] && rm -f "$PIDFILE"
   ;;
   *)
      echo "Usage: /etc/init.d/elastalert {start|stop}" ;;
esac
exit 0

当我试图运行脚本时,我会得到以下错误:

root@mplinux scripts#弹性警报回溯(最近一次调用):load_entry_point(‘load_entry_point==0.0.95’,‘控制台_脚本’,‘弹性警报’)(文件load_entry_point第1426行)中的文件“/Virtualenvelast警报/bin/弹性警报”,在main client = "/virtualenvelastalert/lib/python2.7/site-packages/elastalert-0.0.95-py2.7.egg/elastalert/elastalert.py",(Args) File "/virtualenvelastalert/lib/python2.7/site-packages/elastalert-0.0.95-py2.7.egg/elastalert/config.py",第94行中,在init self.conf = load_rules(self.args) File“/virtualenvelastalert/lib/python2.7/site-packages/elastalert-0.0.95-py2.7.egg/elastalert/config.py”,第373行中,在"/virtualenvelastalert/lib/python2.7/site-packages/staticconf/loader.py",第161行load_rules conf = yaml_loader (文件名)中,在yaml_loader中,打开(文件名)为fh: IOError: Errno 2没有这样的文件或目录:'config.yaml‘

EN

回答 2

Stack Overflow用户

发布于 2017-04-07 22:36:32

当试图从错误的目录启动ElastAlert时,我会收到该错误消息。您不需要传递config.yaml的位置,只要它位于标准位置。假设您定义的目录是正确的,请尝试在没有配置标志和配置路径的情况下执行:

代码语言:javascript
复制
--config $CONFIG_FILE
票数 0
EN

Stack Overflow用户

发布于 2017-05-05 14:39:20

请您和服务部门试一下这个好吗?在那里,您必须使用要执行的命令编写Exec部分。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39352480

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档