缺less启动deamon上centos 6.8

我正在尝试在centos 6.8上为prometheus运行node_exporter。 这是我能够创build的init.d脚本:

#!/bin/sh ### BEGIN INIT INFO # Provides: Node exporter # Required-Start: $local_fs $network $named $time $syslog # Required-Stop: $local_fs $network $named $time $syslog # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Description: Node exporter for prometheus written in Go ### END INIT INFO DAEMON=/home/prometheus/node_exporter-0.14.0.linux-amd64 NAME=node_exporter USER=prometheus PIDFILE=/var/run/prometheus/$NAME.pid LOGFILE=/var/log/prometheus/$NAME.log ARGS="" [ -r /etc/default/$NAME ] && . /etc/default/$NAME do_start_prepare() { mkdir -p `dirname $PIDFILE` || true mkdir -p `dirname $LOGFILE` || true chown -R $USER: `dirname $LOGFILE` chown -R $USER: `dirname $PIDFILE` } do_start_cmd() { do_start_prepare echo -n "Starting daemon: "$NAME start-stop-daemon --chuid $USER -C --background --start --quiet --pidfile $PIDFILE --make-pidfile --exec $DAEMON -- $ARGS >> $LOGFILE 2>&1 echo "." } do_stop_cmd() { echo -n "Stopping daemon: "$NAME start-stop-daemon --stop --quiet --oknodo --pidfile $PIDFILE rm $PIDFILE echo "." } uninstall() { echo -n "Are you really sure you want to uninstall this service? That cannot be undone. [yes|No] " local SURE read SURE if [ "$SURE" = "yes" ]; then stop rm -f "$PIDFILE" echo "Notice: log file was not removed: '$LOGFILE'" >&2 update-rc.d -f <NAME> remove rm -fv "$0" fi } status() { printf "%-50s" "Checking $NAME..." if [ -f $PIDFILE ]; then PID=$(cat $PIDFILE) if [ -z "$(ps axf | grep ${PID} | grep -v grep)" ]; then printf "%s\n" "The process appears to be dead but pidfile still exists" else echo "Running, the PID is $PID" fi else printf "%s\n" "Service not running" fi } case "$1" in start) do_start_cmd ;; stop) do_stop_cmd ;; status) status ;; uninstall) uninstall ;; restart) stop start ;; *) echo "Usage: $1 {start|stop|status|restart|uninstall}" exit 1 esac exit 0 

这是我运行它时的输出。

 [prometheus@prometheus init.d]$ service node_exporter start Starting daemon: node_exporter. 

但是当我检查状态时什么也没发生:

 [prometheus@prometheus init.d]$ service node_exporter status Checking node_exporter... Service not running 

这里是login/var/log/prometheus/node_exporter.log

 /etc/init.d/node_exporter: line 35: start-stop-daemon: command not found 

这里是“哪个”的输出:

 [prometheus@prometheus prometheus]$ which start-stop-daemon /usr/bin/which: no start-stop-daemon in (/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin) 

我真的需要一些指导,因为我主要使用CentOS 7,而不熟悉init.d脚本

对于RHEL 6,我已经安装了daemonize并使用了这个脚本:

https://github.com/utobi/prometheus-rpm/blob/master/node_exporter/contrib/node_exporter.init