# Logstash version 5 Service commands are not working

**URL:** <https://discuss.elastic.co/t/logstash-version-5-service-commands-are-not-working/70359>\
**Category:** Logstash\
**Created:** [January 2, 2017, 1:04pm UTC](https://discuss.elastic.co/t/logstash-version-5-service-commands-are-not-working/70359 "2017-01-02T13:04:56Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![gayathri](https://avatars.discourse-cdn.com/v4/letter/g/838e76/32.png) [@gayathri](https://discuss.elastic.co/u/gayathri)\
**Post date:** [January 2, 2017, 1:04pm UTC](https://discuss.elastic.co/t/logstash-version-5-service-commands-are-not-working/70359/1 "2017-01-02T13:04:56Z")

</div>

Hi Team,

I have upgraded the Logstash Version from 2.x to 5.x. But our service script is not working.

The start command which we are using in the script is:

/opt/logstash/bin/logstash **agent** -f /opt/logstash/conf.d/logstash.conf

Thanks,

Gayathri

---

<div class="post-metadata">

**Author:** ![magnusbaeck](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/magnusbaeck/32/44943_2.png) [@magnusbaeck](https://discuss.elastic.co/u/magnusbaeck)\
**Post date:** [January 2, 2017, 1:22pm UTC](https://discuss.elastic.co/t/logstash-version-5-service-commands-are-not-working/70359/2 "2017-01-02T13:22:28Z")

</div>

"Not working" isn't a very clear problem description, but I'm guessing you should just remove "agent" from the command.

---

<div class="post-metadata">

**Author:** ![gayathri](https://avatars.discourse-cdn.com/v4/letter/g/838e76/32.png) [@gayathri](https://discuss.elastic.co/u/gayathri)\
**Post date:** [January 2, 2017, 1:31pm UTC](https://discuss.elastic.co/t/logstash-version-5-service-commands-are-not-working/70359/3 "2017-01-02T13:31:48Z")

</div>

Hi Magnus,

I have removed "agent", but still logstash start command is not working.....PFB, the script,

#!/bin/sh

# Init script for logstash

# Maintained by Elasticsearch

# Generated by pleaserun.

# Implemented based on LSB Core 3.1:

# \* Sections: 20.2, 20.3

# 

### BEGIN INIT INFO

# Provides: logstash

# Required-Start: $remote\_fs $syslog

# Required-Stop: $remote\_fs $syslog

# Default-Start: 2 3 4 5

# Default-Stop: 0 1 6

# Short-Description:

# Description: Starts Logstash as a daemon.

### END INIT INFO

PATH=/sbin:/usr/sbin:/bin:/usr/bin  
export PATH

if [`id -u` -ne 0]; then  
echo "You need root privileges to run this script"  
exit 1  
fi

name=logstash  
pidfile="/opt/logstash/$name.pid"  
LS\_USER=logstash  
LS\_GROUP=logstash  
JAVA\_HOME=/usr/java/default  
PATH=$PATH:$JAVA\_HOME/bin  
LS\_HOME=/opt/logstash  
LS\_HEAP\_SIZE="1536m"  
LS\_LOG\_DIR=/opt/logstash/log  
LS\_LOG\_FILE="${LS\_LOG\_DIR}/$name.log"  
LS\_CONF\_DIR=/opt/logstash/conf.d  
LS\_OPEN\_FILES=16384  
LS\_NICE=19  
KILL\_ON\_STOP\_TIMEOUT=0  
LS\_OPTS=""

[-r /etc/default/$name] && . /etc/default/$name  
[-r /etc/sysconfig/$name] && . /etc/sysconfig/$name

**program=/opt/logstash/bin/logstash**  
\*\* args=" -f '${LS\_CONF\_DIR} -l ${LS\_LOG\_FILE} ${LS\_OPTS}'"\*\*

quiet() {  
"$@" \> /dev/null 2\>&1  
return $?  
}

start() {

LS\_JAVA\_OPTS="${LS\_JAVA\_OPTS} -Djava.io.tmpdir=${LS\_HOME}"  
HOME=${LS\_HOME}  
export PATH HOME LS\_HEAP\_SIZE LS\_JAVA\_OPTS LS\_USE\_GC\_LOGGING LS\_GC\_LOG\_FILE

# set ulimit as (root, presumably) first, before we drop privileges

ulimit -n ${LS\_OPEN\_FILES}

# Run the program!

nice -n ${LS\_NICE} chroot --userspec $LS\_USER:$LS\_GROUP $EXTRA\_GROUPS / sh -c "  
cd $LS\_HOME  
ulimit -n ${LS\_OPEN\_FILES}  
exec "$program" $args " \> "${LS\_LOG\_DIR}/$name.stdout" 2\> "${LS\_LOG\_DIR}/$name.err" &

# Generate the pidfile from here. If we instead made the forked process

# generate it there will be a race condition between the pidfile writing

# and a process possibly asking for status.

echo $! \> $pidfile  
return 0  
}

stop() {

# Try a few times to kill TERM the program

if status ; then  
pid=`cat "$pidfile"`  
echo "Killing $name (pid $pid) with SIGTERM"  
kill -TERM $pid  
# Wait for it to exit.  
for i in 1 2 3 4 5 6 7 8 9 ; do  
echo "Waiting $name (pid $pid) to die..."  
status || break  
sleep 1  
done  
if status ; then  
if ["$KILL\_ON\_STOP\_TIMEOUT" == 1] ; then  
echo "Timeout reached. Killing $name (pid $pid) with SIGKILL. This may result in data loss."  
kill -KILL $pid  
echo "$name killed with SIGKILL."  
else  
echo "$name stop failed; still running."  
return 1 # stop timed out and not forced  
fi  
else  
echo "$name stopped."  
fi  
fi  
}

status() {  
if [-f "$pidfile"] ; then  
pid=`cat "$pidfile"`  
if kill -0 $pid \> /dev/null 2\> /dev/null ; then  
# process by this pid is running.  
# It may not be our pid, but that's what you get with just pidfiles.  
# TODO(sissel): Check if this process seems to be the same as the one we  
# expect. It'd be nice to use flock here, but flock uses fork, not exec,  
# so it makes it quite awkward to use in this case.  
return 0  
else  
return 2 # program is dead but pid file exists  
fi  
else  
return 3 # program is not running  
fi  
}

reload() {  
if status ; then  
kill -HUP `cat "$pidfile"`  
fi  
}

force\_stop() {  
if status ; then  
stop  
status && kill -KILL `cat "$pidfile"`  
fi  
}

configtest() {

# Check if a config file exists

if [! "$(ls -A ${LS\_CONF\_DIR}/\* 2\> /dev/null)"]; then  
echo "There aren't any configuration files in ${LS\_CONF\_DIR}"  
return 1  
fi

HOME=${LS\_HOME}  
export PATH HOME

test\_args="--configtest -f ${LS\_CONF\_DIR} ${LS\_OPTS}"  
$program ${test\_args}  
[$? -eq 0] && return 0

# Program not configured

return 6  
}

case "$1" in  
start)  
status  
code=$?  
if [$code -eq 0]; then  
echo "$name is already running"  
else  
start  
echo "$name started."  
code=$?  
fi  
exit $code  
;;  
stop) stop ;;  
force-stop) force\_stop ;;  
status)  
status  
code=$?  
if [$code -eq 0] ; then  
echo "$name is running"  
else  
echo "$name is not running"  
fi  
exit $code  
;;  
reload) reload ;;  
restart)

```
quiet configtest
RET=$?
if [${RET} -ne 0]; then
  echo "Configuration error. Not restarting. Re-run with configtest parameter for details"
  exit ${RET}
fi
stop && start
;;

```

configtest)  
configtest  
exit $?  
;;  
\*)  
echo "Usage: $SCRIPTNAME {start|stop|force-stop|status|reload|restart|configtest}" \>&2  
exit 3  
;;  
esac

exit $?

---

<div class="post-metadata">

**Author:** ![magnusbaeck](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/magnusbaeck/32/44943_2.png) [@magnusbaeck](https://discuss.elastic.co/u/magnusbaeck)\
**Post date:** [January 2, 2017, 1:53pm UTC](https://discuss.elastic.co/t/logstash-version-5-service-commands-are-not-working/70359/4 "2017-01-02T13:53:17Z")

</div>

If you explain what "not working" means someone might be able to help. What happens? Are there any error messages? Which Linux distribution?

---

<div class="post-metadata">

**Author:** ![gayathri](https://avatars.discourse-cdn.com/v4/letter/g/838e76/32.png) [@gayathri](https://discuss.elastic.co/u/gayathri)\
**Post date:** [January 2, 2017, 1:58pm UTC](https://discuss.elastic.co/t/logstash-version-5-service-commands-are-not-working/70359/5 "2017-01-02T13:58:20Z")

</div>

Logstash process id is creating...there are no errors coming....but logs are not pushing via

**"service logstash start"** but, "service logstash stop" is working....means "start" command is not correct. This script was working for previous version

Please help me to start new logstash

---

<div class="post-metadata">

**Author:** ![magnusbaeck](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/magnusbaeck/32/44943_2.png) [@magnusbaeck](https://discuss.elastic.co/u/magnusbaeck)\
**Post date:** [January 2, 2017, 2:11pm UTC](https://discuss.elastic.co/t/logstash-version-5-service-commands-are-not-working/70359/6 "2017-01-02T14:11:56Z")

</div>

So Logstash is starting up but it's not doing anything, correct? What's in the logs? What does your configuration look like?

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [January 30, 2017, 2:12pm UTC](https://discuss.elastic.co/t/logstash-version-5-service-commands-are-not-working/70359/7 "2017-01-30T14:12:13Z")

</div>

Closed on January 30, 2017, 2:12pm UTC

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.
