3 # The path netdata has been installed.
4 # Leave it empty if netdata is installed in /
5 NETDATA_INSTALL_PATH=${NETDATA_INSTALL_PATH-}
7 # The user netdata is configured to run as.
8 # If you edit its configuration file to set a different
9 # user, set it here too, to have its files switch ownership
10 NETDATA_OWNER=${NETDATA_OWNER-netdata:netdata}
12 # The URL to download netdata config.
13 NETDATA_CONFIG_URL=${NETDATA_CONFIG_URL-http://localhost:19999/netdata.conf}
15 # The timeout in seconds to wait for netdata
16 # to save its database on disk and exit.
17 NETDATA_WAIT_EXIT_TIMEOUT=${NETDATA_WAIT_EXIT_TIMEOUT-15}
19 # When set to 1, if netdata does not exit in
20 # NETDATA_WAIT_EXIT_TIMEOUT, we will force it
22 NETDATA_FORCE_EXIT=${NETDATA_FORCE_EXIT-0}
24 # Netdata will use these services, only if they
25 # are enabled to start.
26 NETDATA_START_AFTER_SERVICES="${NETDATA_START_AFTER_SERVICES-apache2 squid nginx mysql named opensips upsd hostapd postfix lm_sensors}"
28 extra_started_commands="getconf"
29 pidfile="/var/run/netdata.pid"
30 command="${NETDATA_INSTALL_PATH}/usr/sbin/netdata"
31 command_background="yes"
38 for x in ${NETDATA_START_AFTER_SERVICES}
40 if [ -f /etc/runlevels/default/${x} ]
50 if [ ! -d ${NETDATA_INSTALL_PATH}/var/cache/netdata ]
52 ebegin "Creating ${NETDATA_INSTALL_PATH}/var/cache/netdata"
53 mkdir -p ${NETDATA_INSTALL_PATH}/var/cache/netdata
54 chown ${NETDATA_OWNER} ${NETDATA_INSTALL_PATH}/var/cache/netdata
55 echo "${NETDATA_OWNER}" >${NETDATA_INSTALL_PATH}/var/cache/netdata/.last_owner
59 if [ "$(cat ${NETDATA_INSTALL_PATH}/var/cache/netdata/.last_owner 2>/dev/null)" != "${NETDATA_OWNER}" ]
61 ebegin "Switching ownership of ${NETDATA_INSTALL_PATH}/var/cache/netdata"
62 chown -R ${NETDATA_OWNER} ${NETDATA_INSTALL_PATH}/var/cache/netdata
63 echo "${NETDATA_OWNER}" >${NETDATA_INSTALL_PATH}/var/cache/netdata/.last_owner
67 ebegin "Starting netdata"
68 start-stop-daemon --start --quiet --pidfile ${pidfile} --exec ${command} -- ${NETDATA_EXTRA_ARGS}
72 if [ $ret -eq 0 -a ! -f ${NETDATA_INSTALL_PATH}/etc/netdata/netdata.conf ]
74 ebegin "Downloading default configuration to ${NETDATA_INSTALL_PATH}/etc/netdata/netdata.conf"
76 curl -s -o ${NETDATA_INSTALL_PATH}/etc/netdata/netdata.conf.new "${NETDATA_CONFIG_URL}"
78 if [ $ret -eq 0 -a -s ${NETDATA_INSTALL_PATH}/etc/netdata/netdata.conf.new ]
80 mv ${NETDATA_INSTALL_PATH}/etc/netdata/netdata.conf.new ${NETDATA_INSTALL_PATH}/etc/netdata/netdata.conf
83 rm ${NETDATA_INSTALL_PATH}/etc/netdata/netdata.conf.new 2>/dev/null
90 local result ret=0 count=0 sigkill=0
92 ebegin "Stopping netdata"
93 start-stop-daemon --stop --quiet --pidfile ${pidfile}
97 ebegin "Waiting for netdata to save its database"
98 while [ -f "${pidfile}" ]
100 if [ $count -gt ${NETDATA_WAIT_EXIT_TIMEOUT} ]
107 kill -0 $(cat ${pidfile}) 2>/dev/null
109 test $ret -eq 0 && sleep 1
113 if [ $sigkill -eq 1 -a -f "${pidfile}" ]
115 ebegin "Netdata is taking too long to exit, forcing it to quit"
116 kill -SIGKILL $(cat ${pidfile}) 2>/dev/null
122 ebegin "Downloading configuration from netdata to /tmp/netdata.conf"
123 curl -o /tmp/netdata.conf "${NETDATA_CONFIG_URL}"