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
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
"Not working" isn't a very clear problem description, but I'm guessing you should just remove "agent" from the command.
Hi Magnus,
I have removed "agent", but still logstash start command is not working.....PFB, the script,
#!/bin/sh
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
ulimit -n ${LS_OPEN_FILES}
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" &
echo $! > $pidfile
return 0
}
stop() {
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() {
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
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 $?
If you explain what "not working" means someone might be able to help. What happens? Are there any error messages? Which Linux distribution?
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
So Logstash is starting up but it's not doing anything, correct? What's in the logs? What does your configuration look like?
This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.
© 2020. All Rights Reserved - Elasticsearch
Apache, Apache Lucene, Apache Hadoop, Hadoop, HDFS and the yellow elephant logo are trademarks of the Apache Software Foundation in the United States and/or other countries.