diff options
Diffstat (limited to 'net-mgmt/victoria-metrics/files/victoria-metrics.in')
-rw-r--r-- | net-mgmt/victoria-metrics/files/victoria-metrics.in | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/net-mgmt/victoria-metrics/files/victoria-metrics.in b/net-mgmt/victoria-metrics/files/victoria-metrics.in new file mode 100644 index 000000000000..9b260d696c0f --- /dev/null +++ b/net-mgmt/victoria-metrics/files/victoria-metrics.in @@ -0,0 +1,65 @@ +#!/bin/sh + +# PROVIDE: victoria_metrics +# REQUIRE: NETWORK +# BEFORE: DAEMON + +. /etc/rc.subr + +name="victoria_metrics" +desc="Fast, cost-effective, and scalable time series database" +rcvar="victoria_metrics_enable" +pidfile="/var/run/${name}.pid" +daemon_pidfile="/var/run/${name}-daemon.pid" +logdir="/var/log/${name}" +logfile="${logdir}/victoria_metrics.log" +command="%%PREFIX%%/bin/victoria-metrics" +victoria_metrics_args=${cbsd_mq_router_config-"--storageDataPath=%%VICTORIA_DATA%% --retentionPeriod=1 --httpListenAddr=:8428"} +victoria_metrics_user="%%VICTORIA_USER%%" +load_rc_config ${name} + +start_cmd="start" +stop_cmd="stop" +status_cmd="status" + +start() +{ + [ ! -d ${logdir} ] && mkdir -p ${logdir} + touch ${logfile} + chown ${victoria_metrics_user} ${logdir} ${logfile} + /usr/sbin/daemon -u ${victoria_metrics_user} -f -R5 -p ${pidfile} -P ${daemon_pidfile} -o ${logfile} ${command} ${victoria_metrics_args} +} + +stop() +{ + if [ -f "${daemon_pidfile}" ]; then + pids=$( pgrep -F ${daemon_pidfile} 2>&1 ) + _err=$? + [ ${_err} -eq 0 ] && kill -9 ${pids} && /bin/rm -f ${daemon_pidfile} + fi + if [ -f "${pidfile}" ]; then + pids=$( pgrep -F ${pidfile} 2>&1 ) + _err=$? + [ ${_err} -eq 0 ] && kill -9 ${pids} && /bin/rm -f ${pidfile} + fi +} + +status() +{ + if [ -f "${pidfile}" ]; then + pids=$( pgrep -F ${pidfile} 2>&1 ) + _err=$? + if [ ${_err} -eq 0 ]; then + echo "${name} is running as pid ${pids}" + exit 0 + else + echo "wrong pid: ${pids}" + exit 1 + fi + else + echo "no pidfile $pidfile" + exit 1 + fi +} + +run_rc_command "$1" |