0
0
Fork 0
mirror of https://github.com/netdata/netdata.git synced 2025-04-06 14:35:32 +00:00
netdata_netdata/system/openrc/init.d/netdata.in
Austin S. Hemmelgarn 4c20aca875
Assorted improvements to OpenRC support. ()
* Add OpenRC conf.d file for Netdata.

* Tidy-up handling of retry schedule.

It should be computed in stop_pre so it gets evaluated after the conf
file, and it also needs to handle variables not being defined properly
(which it currently does not).

* Add a service description and command descriptions.

* Only install `/etc/conf.d/netdata` if it does not already exist.

This prevents overwriting user configuration.
2023-03-01 07:27:32 -05:00

80 lines
2.1 KiB
Text

#!/sbin/openrc-run
# SPDX-License-Identifier: GPL-3.0-or-later
NETDATA_OWNER="@netdata_user_POST@:@netdata_user_POST@"
NETDATA_PIDFILE="@localstatedir_POST@/run/netdata/netdata.pid"
description="Run the Netdata system monitoring agent."
extra_started_commands="reload rotate save"
description_reload="Reload health configuration."
description_rotate="Reopen log files."
description_save="Force sync of database to disk."
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}"
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
}
stop_pre() {
if [ "0${NETDATA_FORCE_EXIT}" -eq 1 ]; then
retry="TERM/${NETDATA_WAIT_EXIT_TIMEOUT:-60}/KILL/1"
else
retry="TERM/${NETDATA_WAIT_EXIT_TIMEOUT:-60}"
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
}