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