diff options
Diffstat (limited to 'system/netdata-openrc.in')
-rw-r--r-- | system/netdata-openrc.in | 88 |
1 files changed, 88 insertions, 0 deletions
diff --git a/system/netdata-openrc.in b/system/netdata-openrc.in new file mode 100644 index 0000000..1588789 --- /dev/null +++ b/system/netdata-openrc.in @@ -0,0 +1,88 @@ +#!/sbin/openrc-run +# SPDX-License-Identifier: GPL-3.0-or-later + +# The user netdata is configured to run as. +# If you edit its configuration file to set a different +# user, set it here too, to have its files switch ownership +: "${NETDATA_OWNER:=@netdata_user_POST@:@netdata_user_POST@}" + +# The timeout in seconds to wait for netdata +# to save its database on disk and exit. +: "${NETDATA_WAIT_EXIT_TIMEOUT:=60}" + +# When set to 1, if netdata does not exit in +# NETDATA_WAIT_EXIT_TIMEOUT, we will force it +# to exit. +: "${NETDATA_FORCE_EXIT:=0}" + +# When set to 1, we use netdatacli for reload/rotate/save commands instead of s-s-d. +: "${NETDATA_USE_NETDATACLI:=0}" + +# Specifies the pidfile to use when running in the background. +: "${NETDATA_PIDFILE:=@localstatedir_POST@/run/netdata/netdata.pid}" + +extra_started_commands="reload rotate save" +command_prefix="@sbindir_POST@" +command="${command_prefix}/netdata" +command_args="-P ${NETDATA_PIDFILE} ${NETDATA_EXTRA_ARGS}" +command_args_foreground="-D" +start_stop_daemon_args="-u ${NETDATA_OWNER}" +if [ "${NETDATA_FORCE_EXIT}" -eq 1 ]; then + retry="TERM/${NETDATA_WAIT_EXIT_TIMEOUT}/KILL/1" +else + retry="TERM/${NETDATA_WAIT_EXIT_TIMEOUT}" +fi + +depend() { + use logger + need net + after apache2 squid nginx mysql named opensips upsd hostapd postfix lm_sensors +} + +start_pre() { + checkpath -o ${NETDATA_OWNER} -d @localstatedir_POST@/cache/netdata @localstatedir_POST@/run/netdata + + if [ -z "${supervisor}" ]; then + pidfile="${NETDATA_PIDFILE}" + fi +} + +run_cmd() { + cmd="${1}" + msg="${2}" + failmsg="${3}" + signal="${4}" + + ebegin "${msg}" + if [ "${NETDATA_USE_NETDATACLI}" = 1 ]; then + "${command_prefix}/netdatacli" "${cmd}" >/dev/null + eend $? "${failmsg}" + elif [ "${supervisor}" = "supervise-daemon" ]; then + supervise-daemon "${RC_SVCNAME}" --signal "${signal}" + eend $? "${failmsg}" + else + start-stop-daemon --signal "${signal}" --pidfile "${pidfile}" + eend $? "${failmsg}" + fi +} + +reload() { + run_cmd reload-health \ + "Reloading Netdata health configuration" \ + "Failed to reload Netdata health configuration" \ + SIGUSR2 +} + +rotate() { + run_cmd reopen-logs \ + "Reopening Netdata log files" \ + "Failed to reopen Netdata log files" \ + SIGHUP +} + +save() { + run_cmd save-database \ + "Saving Netdata database" \ + "Failed to save Netdata database" \ + SIGUSR1 +} |