diff options
Diffstat (limited to 'app-admin/logstash-bin/files/logstash.initd')
-rw-r--r-- | app-admin/logstash-bin/files/logstash.initd | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/app-admin/logstash-bin/files/logstash.initd b/app-admin/logstash-bin/files/logstash.initd new file mode 100644 index 000000000000..a61395018b7f --- /dev/null +++ b/app-admin/logstash-bin/files/logstash.initd @@ -0,0 +1,49 @@ +#!/sbin/openrc-run +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +LS_USER="${LS_USER:-root}" +LS_GROUP="${LS_GROUP:-root}" +LS_CONFDIR="${LS_CONFDIR:-/etc/logstash/conf.d}" +LS_LOGFILE="${LS_LOGFILE:-/var/log/logstash/logstash.log}" +LS_PIDFILE="${LS_PIDFILE:-/run/logstash/logstash.pid}" +LS_NICE="${LS_NICE:-19}" +LS_OPEN_FILES="${LS_OPEN_FILES:-16384}" +LS_HEAP_SIZE="${LS_HEAP_SIZE:-500m}" + +command="/opt/logstash/bin/logstash" +command_args="agent --config ${LS_CONFDIR}/*.conf --log ${LS_LOGFILE} ${LS_OPTS}" +extra_commands="checkconfig" +command_background="true" +start_stop_daemon_args="--nicelevel ${LS_NICE} \ + --user ${LS_USER}:${LS_GROUP} \ + --env LS_HEAP_SIZE=${LS_HEAP_SIZE}" +pidfile="${LS_PIDFILE}" + +depend() { + use net + after elasticsearch +} + +checkconfig() { + ebegin "Checking your configuration" + ${command} ${command_args} --configtest + eend $? "Configuration error. Please fix your configuration files." +} + +start_pre() { + checkconfig || return 1 + + checkpath -d -o "${LS_USER}":"${LS_GROUP}" -m750 "$(dirname "${LS_PIDFILE}")" + checkpath -d -o "${LS_USER}":"${LS_GROUP}" -m750 "$(dirname "${LS_LOGFILE}")" + checkpath -f -o "${LS_USER}":"${LS_GROUP}" -m640 "${LS_LOGFILE}" + + rc_ulimit="-n ${LS_OPEN_FILES}" +} + +stop() { + ebegin "Stopping logstash" + start-stop-daemon --stop \ + --pidfile="${LS_PIDFILE}" \ + --retry=TERM/5/KILL/5 +} |