You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

104 lines
3.6 KiB

#!@l_prefix@/bin/openpkg rc
##
## rc.jaeger -- Run-Commands
##
%config
jaeger_enable="$openpkg_rc_def"
jaeger_daemons="@daemons@"
jaeger_flags_agent=""
jaeger_flags_collector=""
jaeger_flags_query=""
jaeger_log_prolog="true"
jaeger_log_epilog="true"
jaeger_log_numfiles="10"
jaeger_log_minsize="1M"
jaeger_log_complevel="9"
%common
jaeger_cfgfile_agent="@l_prefix@/etc/jaeger/jaeger-agent.cfg"
jaeger_pidfile_agent="@l_prefix@/var/jaeger/run/jaeger-agent.pid"
jaeger_logfile_agent="@l_prefix@/var/jaeger/log/jaeger-agent.log"
jaeger_cfgfile_collector="@l_prefix@/etc/jaeger/jaeger-collector.cfg"
jaeger_pidfile_collector="@l_prefix@/var/jaeger/run/jaeger-collector.pid"
jaeger_logfile_collector="@l_prefix@/var/jaeger/log/jaeger-collector.log"
jaeger_cfgfile_query="@l_prefix@/etc/jaeger/jaeger-query.cfg"
jaeger_pidfile_query="@l_prefix@/var/jaeger/run/jaeger-query.pid"
jaeger_logfile_query="@l_prefix@/var/jaeger/log/jaeger-query.log"
jaeger_signal () {
[ -f $jaeger_pidfile_agent ] && \
kill -$1 `cat $jaeger_pidfile_agent`
local jaeger_pid_agent=$?
[ -f $jaeger_pidfile_collector ] && \
kill -$1 `cat $jaeger_pidfile_collector`
local jaeger_pid_collector=$?
[ -f $jaeger_pidfile_query ] && \
kill -$1 `cat $jaeger_pidfile_query`
local jaeger_pid_query=$?
[ $jaeger_pid_agent -eq 0 \
-o $jaeger_pid_collector -eq 0 \
-o $jaeger_pid_query -eq 0 ]
}
%status -u @l_rusr@ -o
jaeger_usable="unknown"
jaeger_active="no"
rcService jaeger enable yes && \
jaeger_signal 0 && jaeger_active="yes"
echo "jaeger_enable=\"$jaeger_enable\""
echo "jaeger_usable=\"$jaeger_usable\""
echo "jaeger_active=\"$jaeger_active\""
%start -u @l_rusr@
rcService jaeger enable yes || exit 0
rcService jaeger active yes && exit 0
( GOMAXPROCS=32
export GOMAXPROCS
for daemon in $jaeger_daemons; do
cmd="nohup @l_prefix@/sbin/jaeger-$daemon"
cmd="$cmd \$jaeger_flags_$daemon"
eval "cfgfile=\$jaeger_cfgfile_$daemon"
rcTmp -i
tmpfile=`rcTmp -f -n flags`
sed \
-e '/^[[:space:]]*#.*/d' \
-e '/^[[:space:]]*$/d' \
-e 's/^\([[:space:]]*\)\([a-zA-Z]\)/\1--\2/' \
-e ':a; $!N; s/\n/ /; ta' \
-e 's; *; ;g' <$cfgfile >$tmpfile
cmd="$cmd `cat $tmpfile`"
cmd="$cmd </dev/null >>\$jaeger_logfile_$daemon 2>&1 &"
eval "$cmd"
eval "echo \$! >\$jaeger_pidfile_$daemon"
sleep 1
rcTmp -k
done
) >/dev/null 2>&1
%stop -u @l_rusr@
rcService jaeger enable yes || exit 0
rcService jaeger active no && exit 0
jaeger_signal TERM
sleep 2
rm -f $jaeger_pidfile_agent >/dev/null 2>&1 || true
rm -f $jaeger_pidfile_collector >/dev/null 2>&1 || true
rm -f $jaeger_pidfile_query >/dev/null 2>&1 || true
%restart -u @l_rusr@
rcService jaeger enable yes || exit 0
rcService jaeger active no && exit 0
rc jaeger stop start
%daily -u @l_susr@
rcService jaeger enable yes || exit 0
logfiles=""
for daemon in $jaeger_daemons; do
eval "logfiles=\"\$logfiles \$jaeger_logfile_$daemon\""
done
shtool rotate -f \
-n ${jaeger_log_numfiles} -s ${jaeger_log_minsize} -d \
-z ${jaeger_log_complevel} -m 664 -o @l_rusr@ -g @l_rgrp@ \
-P "${jaeger_log_prolog}" \
-E "${jaeger_log_epilog}; rc jaeger restart" \
$logfiles