diff options
Diffstat (limited to '')
-rwxr-xr-x | system/netdata-openrc | 125 | ||||
-rwxr-xr-x | system/netdata-openrc.in | 84 |
2 files changed, 84 insertions, 125 deletions
diff --git a/system/netdata-openrc b/system/netdata-openrc deleted file mode 100755 index 202db64c0..000000000 --- a/system/netdata-openrc +++ /dev/null @@ -1,125 +0,0 @@ -#!/sbin/runscript - -# The path netdata has been installed. -# Leave it empty if netdata is installed in / -NETDATA_INSTALL_PATH=${NETDATA_INSTALL_PATH-} - -# 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_OWNER-netdata:netdata} - -# The URL to download netdata config. -NETDATA_CONFIG_URL=${NETDATA_CONFIG_URL-http://localhost:19999/netdata.conf} - -# The timeout in seconds to wait for netdata -# to save its database on disk and exit. -NETDATA_WAIT_EXIT_TIMEOUT=${NETDATA_WAIT_EXIT_TIMEOUT-15} - -# When set to 1, if netdata does not exit in -# NETDATA_WAIT_EXIT_TIMEOUT, we will force it -# to exit. -NETDATA_FORCE_EXIT=${NETDATA_FORCE_EXIT-0} - -# Netdata will use these services, only if they -# are enabled to start. -NETDATA_START_AFTER_SERVICES="${NETDATA_START_AFTER_SERVICES-apache2 squid nginx mysql named opensips upsd hostapd postfix lm_sensors}" - -extra_started_commands="getconf" -pidfile="/var/run/netdata/netdata.pid" -command="${NETDATA_INSTALL_PATH}/usr/sbin/netdata" -command_background="yes" - -depend() { - use logger - need net - - local x - for x in ${NETDATA_START_AFTER_SERVICES} - do - if [ -f /etc/runlevels/default/${x} ] - then - use ${x} - fi - done -} - -start() { - local ret - - if [ ! -d ${NETDATA_INSTALL_PATH}/var/cache/netdata ] - then - ebegin "Creating ${NETDATA_INSTALL_PATH}/var/cache/netdata" - mkdir -p ${NETDATA_INSTALL_PATH}/var/cache/netdata - chown ${NETDATA_OWNER} ${NETDATA_INSTALL_PATH}/var/cache/netdata - echo "${NETDATA_OWNER}" >${NETDATA_INSTALL_PATH}/var/cache/netdata/.last_owner - eend $? - fi - - if [ "$(cat ${NETDATA_INSTALL_PATH}/var/cache/netdata/.last_owner 2>/dev/null)" != "${NETDATA_OWNER}" ] - then - ebegin "Switching ownership of ${NETDATA_INSTALL_PATH}/var/cache/netdata" - chown -R ${NETDATA_OWNER} ${NETDATA_INSTALL_PATH}/var/cache/netdata - echo "${NETDATA_OWNER}" >${NETDATA_INSTALL_PATH}/var/cache/netdata/.last_owner - eend 0 - fi - - ebegin "Starting netdata" - start-stop-daemon --start --quiet --pidfile ${pidfile} --exec ${command} -- ${NETDATA_EXTRA_ARGS} - ret=$? - eend $ret - - if [ $ret -eq 0 -a ! -f ${NETDATA_INSTALL_PATH}/etc/netdata/netdata.conf ] - then - ebegin "Downloading default configuration to ${NETDATA_INSTALL_PATH}/etc/netdata/netdata.conf" - sleep 2 - curl -s -o ${NETDATA_INSTALL_PATH}/etc/netdata/netdata.conf.new "${NETDATA_CONFIG_URL}" - ret=$? - if [ $ret -eq 0 -a -s ${NETDATA_INSTALL_PATH}/etc/netdata/netdata.conf.new ] - then - mv ${NETDATA_INSTALL_PATH}/etc/netdata/netdata.conf.new ${NETDATA_INSTALL_PATH}/etc/netdata/netdata.conf - else - ret=1 - rm ${NETDATA_INSTALL_PATH}/etc/netdata/netdata.conf.new 2>/dev/null - fi - eend $ret - fi -} - -stop() { - local result ret=0 count=0 sigkill=0 - - ebegin "Stopping netdata" - start-stop-daemon --stop --quiet --pidfile ${pidfile} - result=$? - eend $result - - 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 -} - -getconf() { - ebegin "Downloading configuration from netdata to /tmp/netdata.conf" - curl -o /tmp/netdata.conf "${NETDATA_CONFIG_URL}" - eend $? -} diff --git a/system/netdata-openrc.in b/system/netdata-openrc.in new file mode 100755 index 000000000..299db5699 --- /dev/null +++ b/system/netdata-openrc.in @@ -0,0 +1,84 @@ +#!/sbin/runscript + +# 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} + +# The timeout in seconds to wait for netdata +# to save its database on disk and exit. +: ${NETDATA_WAIT_EXIT_TIMEOUT:=15} + +# 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 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} + +extra_started_commands="getconf" +pidfile="/run/netdata.pid" +command="${NETDATA_INSTALL_PATH}/usr/sbin/netdata" +command_background="yes" +command_args="-pidfile ${pidfile} ${NETDATA_EXTRA_ARGS}" +# start_stop_daemon_args="-u ${NETDATA_OWNER}" +start_stop_daemon_args="" + +depend() { + use logger + need net + after ${NETDATA_START_AFTER_SERVICES} + + 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,} + else + ret=1 + rm @sysconfdir_POST@/netdata/netdata.conf.new 2>/dev/null + fi + eend $ret + fi +} + +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 && -f "${pidfile}" ]]; then + ebegin "Netdata is taking too long to exit, forcing it to quit" + kill -SIGKILL $(cat ${pidfile}) 2>/dev/null + eend $? + fi +} + +getconf() { + ebegin "Downloading configuration from netdata to /tmp/netdata.conf" + curl -o /tmp/netdata.conf "${NETDATA_CONFIG_URL}" + eend $? +} |