summaryrefslogtreecommitdiffstats
path: root/system
diff options
context:
space:
mode:
authorMatthew Thode <mthode@mthode.org>2018-04-03 10:12:09 -0500
committerMatthew Thode <mthode@mthode.org>2018-04-03 11:45:28 -0500
commit51c81e8c4f1ae1b3c565aed66e2816e3321ff8ae (patch)
tree63371d53ec7fc7f651bd29191d64e8939728fd72 /system
parentde9256101801623b5ede6bfb6ff85aa3b445e661 (diff)
update openrc init script
Quote variables where able. Switch to a more posix double 'and'. Remove unused variables. The exit timeout was fixed. We also remove fetching the configuration from the init script (it should not live in it). Further we define reload rotate and save commands to prevent the need to restart all the time.
Diffstat (limited to 'system')
-rw-r--r--system/netdata-openrc.in85
1 files changed, 29 insertions, 56 deletions
diff --git a/system/netdata-openrc.in b/system/netdata-openrc.in
index ce76f7e64a..33edb62ff5 100644
--- a/system/netdata-openrc.in
+++ b/system/netdata-openrc.in
@@ -3,82 +3,55 @@
# 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:netdata}
-
-# The URL to download netdata config.
-: ${NETDATA_CONFIG_URL:=http://localhost:19999/netdata.conf}
+: "${NETDATA_OWNER:=netdata:netdata}"
# The timeout in seconds to wait for netdata
# to save its database on disk and exit.
-: ${NETDATA_WAIT_EXIT_TIMEOUT:=60}
+: "${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}
+: "${NETDATA_FORCE_EXIT:=0}"
# Netdata will use these services, only if they
# are enabled to start.
-: ${NETDATA_START_AFTER_SERVICES:=apache2 squid nginx mysql named opensips upsd hostapd postfix lm_sensors}
+: "${NETDATA_START_AFTER_SERVICES:=apache2 squid nginx mysql named opensips upsd hostapd postfix lm_sensors}"
-extra_started_commands="getconf"
-pidfile="/run/netdata.pid"
+extra_started_commands="reload rotate save"
+pidfile="/run/netdata/netdata.pid"
command="@sbindir_POST@/netdata"
-command_background="yes"
command_args="-P ${pidfile} ${NETDATA_EXTRA_ARGS}"
-# start_stop_daemon_args="-u ${NETDATA_OWNER}"
-start_stop_daemon_args=""
+start_stop_daemon_args="-u ${NETDATA_OWNER}"
+required_files="/etc/netdata/netdata.conf"
+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 ${NETDATA_START_AFTER_SERVICES}
+ use logger
+ need net
+ after ${NETDATA_START_AFTER_SERVICES}
- checkpath -o ${NETDATA_OWNER} -d @localstatedir_POST@/cache/netdata /run/netdata
+ checkpath -o ${NETDATA_OWNER} -d @localstatedir_POST@/cache/netdata /run/netdata
}
-start_post() {
- if [ ! -f @sysconfdir_POST@/netdata/netdata.conf ]; then
- ebegin "Downloading default configuration to @sysconfdir_POST@/netdata/netdata.conf"
- sleep 2
- curl -s -o @sysconfdir_POST@/netdata/netdata.conf.new "${NETDATA_CONFIG_URL}"
- ret=$?
- if [ $ret -eq 0 && -s @sysconfdir_POST@/netdata/netdata.conf.new ]; then
- mv @sysconfdir_POST@/netdata/netdata.conf.new @sysconfdir_POST@/netdata/netdata.conf
- else
- ret=1
- rm @sysconfdir_POST@/netdata/netdata.conf.new 2>/dev/null
- fi
- eend $ret
- fi
+reload() {
+ ebegin "Reloading Netdata"
+ start-stop-daemon --signal SIGUSR2 --pidfile "${pidfile}"
+ eend $? "Failed to reload Netdata"
}
-stop_post() {
- local result ret=0 count=0 sigkill=0
-
- ebegin "Waiting for netdata to save its database"
- while [ -f "${pidfile}" ]; do
- if [ $count -gt ${NETDATA_WAIT_EXIT_TIMEOUT} ]; then
- sigkill=1
- break
- fi
-
- count=$((count + 1))
- kill -0 $(cat ${pidfile}) 2>/dev/null
- ret=$?
- test $ret -eq 0 && sleep 1
- done
- eend $sigkill
-
- if [ $sigkill -eq 1 -a -f "${pidfile}" ]; then
- ebegin "Netdata is taking too long to exit, forcing it to quit"
- kill -SIGKILL $(cat ${pidfile}) 2>/dev/null
- eend $?
- fi
+rotate() {
+ ebegin "Logrotating Netdata"
+ start-stop-daemon --signal SIGHUP --pidfile "${pidfile}"
+ eend $? "Failed to logrotate Netdata"
}
-getconf() {
- ebegin "Downloading configuration from netdata to /tmp/netdata.conf"
- curl -o /tmp/netdata.conf "${NETDATA_CONFIG_URL}"
- eend $?
+save() {
+ ebegin "Saving Netdata database"
+ start-stop-daemon --signal SIGUSR1 --pidfile "${pidfile}"
+ eend $? "Failed to save Netdata database"
}