fluentd-ui (td-agent-ui) Initスクリプト (起動・停止スクリプト)

シェアする

fluentd-ui (td-agent-ui)が、あまりにも素敵なので、開発環境ではいつも起動していて欲しいと思っていました。 そこで、init スクリプト作りました。 テストは、 Cent OS 6 および 7環境、fluentd-ui-0.4.2、td-agent-2.2.1 にて行っています

導入方法

以下のスクリプト本体をコピーして、ファイル /etc/rc.d/init.d/td-agent-ui を作成します(viなどお好みで)

#!/bin/sh
 
### BEGIN INIT INFO
# Provides:          td-agent-ui
# Required-Start:    $local_fs $remote_fs $network
# Should-Start:      $time
# Required-Stop:     $local_fs $remote_fs $network
# Default-Start:     3 5
# Default-Stop:      0 1 2 6
# Short-Description: td-agent-ui
# Description:       Service controller for td-agent-ui
### END INIT INFO
 
INSTALLED_DIR=/opt/td-agent
EXEC_SCRIPT=`/usr/sbin/td-agent-ui start`
LOG_DIR=/var/log/td-agent
PID_DIR=/var/run/td-agent
PID_FILE=`$PID_DIR`/td-agent-ui.pid
LOG_FILE=`$LOG_DIR`/td-agent-ui.log
 
test -d $LOG_DIR || mkdir $LOG_DIR
 
# Source function library.
. /etc/init.d/functions
 
RETVAL=0
 
case `$1` in
    start)
        if [ ! -f `$PID_FILE` ]; then
          echo -n `Starting td-agent-ui`
          nohup $EXEC_SCRIPT 0<&- &> $LOG_FILE &
          success
        else
          echo -n `td-agent-ui is already running`
          RETVAL=1
          failure
        fi
        echo
        ;;
    stop)
        if [ -f `$PID_FILE` ]; then
          echo -n `Stopping td-agent-ui`
          test -f $PID_FILE && cat $PID_FILE | xargs kill -s SIGKILL && rm -f $PID_FILE
          success
        else
          echo -n `td-agent-ui is not running`
          RETVAL=1
          failure
        fi
        echo
        ;;
    restart)
        $0 stop
        $0 start
        ;;
    reload)
        $0 restart
        ;;
    status)
        status td-agent-ui
        RETVAL=$?
        ;;
*)
echo `Usage: $0 {start|stop|status|restart|reload}`
exit 1
;;
esac
exit $RETVAL

参考情報

Amazon Linux 用 Kibana 4 Init スクリプト http://orih.io/2015/03/kibana-4-init-script-for-amazon-linux/ LSB(Linux Standard Base)を見ながらinitスクリプトを書いた http://qiita.com/ryo0301/items/0bc0f1db423b2da352fe プログラムをnohupでデーモン化する http://qiita.com/geta6/items/9472f6f192976670c93f