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}
25 extra_started_commands="getconf"
26 pidfile="/var/run/netdata/netdata.pid"
27 command="${NETDATA_INSTALL_PATH}/usr/sbin/netdata"
28 command_background="yes"
35 # We should depend on these only if they are enabled:
36 # apache, squid, nginx, mysql, named, opensips, nut, hostapd, postfix, lm-sensors
42 if [ ! -d ${NETDATA_INSTALL_PATH}/var/cache/netdata ]
44 ebegin "Creating ${NETDATA_INSTALL_PATH}/var/cache/netdata"
45 mkdir -p ${NETDATA_INSTALL_PATH}/var/cache/netdata
46 chown ${NETDATA_OWNER} ${NETDATA_INSTALL_PATH}/var/cache/netdata
47 echo "${NETDATA_OWNER}" >${NETDATA_INSTALL_PATH}/var/cache/netdata/.last_owner
51 if [ "$(cat ${NETDATA_INSTALL_PATH}/var/cache/netdata/.last_owner 2>/dev/null)" != "${NETDATA_OWNER}" ]
53 ebegin "Switching ownership of ${NETDATA_INSTALL_PATH}/var/cache/netdata"
54 chown -R ${NETDATA_OWNER} ${NETDATA_INSTALL_PATH}/var/cache/netdata
55 echo "${NETDATA_OWNER}" >${NETDATA_INSTALL_PATH}/var/cache/netdata/.last_owner
59 ebegin "Starting netdata"
60 start-stop-daemon --start --quiet --pidfile ${pidfile} --exec ${command} -- ${NETDATA_EXTRA_ARGS}
64 if [ $ret -eq 0 -a ! -f ${NETDATA_INSTALL_PATH}/etc/netdata/netdata.conf ]
66 ebegin "Downloading default configuration to ${NETDATA_INSTALL_PATH}/etc/netdata/netdata.conf"
68 curl -s -o ${NETDATA_INSTALL_PATH}/etc/netdata/netdata.conf.new "${NETDATA_CONFIG_URL}"
70 if [ $ret -eq 0 -a -s ${NETDATA_INSTALL_PATH}/etc/netdata/netdata.conf.new ]
72 mv ${NETDATA_INSTALL_PATH}/etc/netdata/netdata.conf.new ${NETDATA_INSTALL_PATH}/etc/netdata/netdata.conf
75 rm ${NETDATA_INSTALL_PATH}/etc/netdata/netdata.conf.new 2>/dev/null
82 local result ret=0 count=0 sigkill=0
84 ebegin "Stopping netdata"
85 start-stop-daemon --stop --quiet --pidfile ${pidfile}
89 ebegin "Waiting for netdata to save its database"
90 while [ -f "${pidfile}" ]
92 if [ $count -gt ${NETDATA_WAIT_EXIT_TIMEOUT} ]
99 kill -0 $(cat ${pidfile}) 2>/dev/null
101 test $ret -eq 0 && sleep 1
105 if [ $sigkill -eq 1 -a -f "${pidfile}" ]
107 ebegin "Netdata is taking too long to exit, forcing it to quit"
108 kill -SIGKILL $(cat ${pidfile}) 2>/dev/null
114 ebegin "Downloading configuration from netdata to /tmp/netdata.conf"
115 curl -o /tmp/netdata.conf "${NETDATA_CONFIG_URL}"