summaryrefslogtreecommitdiffstats
path: root/netdata-installer.sh
diff options
context:
space:
mode:
authorCosta Tsaousis (ktsaou) <costa@tsaousis.gr>2017-04-01 22:12:12 +0300
committerCosta Tsaousis (ktsaou) <costa@tsaousis.gr>2017-04-01 22:12:12 +0300
commite9a3df888cb516ac22af8555ee96b9652be9660d (patch)
tree2b469ad65e9c9adf151e911676e236a6757a399f /netdata-installer.sh
parentfe019642dc830fdd451d78205dc0f35b86c55db2 (diff)
start netdata on install too
Diffstat (limited to 'netdata-installer.sh')
-rwxr-xr-xnetdata-installer.sh146
1 files changed, 14 insertions, 132 deletions
diff --git a/netdata-installer.sh b/netdata-installer.sh
index e74ea0cb76..3e03d7081b 100755
--- a/netdata-installer.sh
+++ b/netdata-installer.sh
@@ -43,7 +43,7 @@ then
export ACLOCAL_PATH
fi
-LC_ALL=C
+export LC_ALL=C
umask 002
# Be nice on production environments
@@ -612,42 +612,13 @@ run find ./system/ -type f -a \! -name \*.in -a \! -name Makefile\* -a \! -name
# -----------------------------------------------------------------------------
progress "Add user netdata to required user groups"
-NETDATA_ADDED_TO_DOCKER=0
-NETDATA_ADDED_TO_NGINX=0
-NETDATA_ADDED_TO_VARNISH=0
-NETDATA_ADDED_TO_HAPROXY=0
-NETDATA_ADDED_TO_ADM=0
-NETDATA_ADDED_TO_NSD=0
-if [ ${UID} -eq 0 ]
- then
- portable_add_group netdata
- portable_add_user netdata
- portable_add_user_to_group docker netdata && NETDATA_ADDED_TO_DOCKER=1
- portable_add_user_to_group nginx netdata && NETDATA_ADDED_TO_NGINX=1
- portable_add_user_to_group varnish netdata && NETDATA_ADDED_TO_VARNISH=1
- portable_add_user_to_group haproxy netdata && NETDATA_ADDED_TO_HAPROXY=1
- portable_add_user_to_group adm netdata && NETDATA_ADDED_TO_ADM=1
- portable_add_user_to_group nsd netdata && NETDATA_ADDED_TO_NSD=1
- run_ok
-else
- run_failed "The installer does not run as root."
-fi
+add_netdata_user_and_group || run_failed "The installer does not run as root."
+
# -----------------------------------------------------------------------------
progress "Install logrotate configuration for netdata"
-if [ ${UID} -eq 0 ]
- then
- if [ -d /etc/logrotate.d -a ! -f /etc/logrotate.d/netdata ]
- then
- run cp system/netdata.logrotate /etc/logrotate.d/netdata
- fi
-
- if [ -f /etc/logrotate.d/netdata ]
- then
- run chmod 644 /etc/logrotate.d/netdata
- fi
-fi
+install_netdata_logrotate
# -----------------------------------------------------------------------------
@@ -824,81 +795,13 @@ fi
# -----------------------------------------------------------------------------
progress "Install netdata at system init"
-if [ "${UID}" -eq 0 ]
- then
- install_netdata_service
-fi
+install_netdata_service || run_failed "Cannot install netdata init service."
# -----------------------------------------------------------------------------
# check if we can re-start netdata
started=0
-
-isnetdata() {
- if [ -d /proc/self ]
- then
- [ -z "$1" -o ! -f "/proc/$1/stat" ] && return 1
- [ "$(cat "/proc/$1/stat" | cut -d '(' -f 2 | cut -d ')' -f 1)" = "netdata" ] && return 0
- return 1
- fi
- return 0
-}
-
-stop_netdata_on_pid() {
- local pid="${1}" ret=0 count=0
-
- isnetdata ${pid} || return 0
-
- printf >&2 "Stopping netdata on pid ${pid} ..."
- while [ ! -z "$pid" -a ${ret} -eq 0 ]
- do
- if [ ${count} -gt 45 ]
- then
- echo >&2 "Cannot stop the running netdata on pid ${pid}."
- return 1
- fi
-
- count=$(( count + 1 ))
-
- run kill ${pid} 2>/dev/null
- ret=$?
-
- test ${ret} -eq 0 && printf >&2 "." && sleep 2
- done
-
- echo >&2
- if [ ${ret} -eq 0 ]
- then
- echo >&2 "SORRY! CANNOT STOP netdata ON PID ${pid} !"
- return 1
- fi
-
- echo >&2 "netdata on pid ${pid} stopped."
- return 0
-}
-
-stop_all_netdata() {
- local p myns ns
-
- myns="$(readlink /proc/self/ns/pid 2>/dev/null)"
-
- # echo >&2 "Stopping a (possibly) running netdata (namespace '${myns}')..."
-
- for p in $(cat "${NETDATA_RUN_DIR}/netdata.pid" 2>/dev/null) \
- $(cat /var/run/netdata.pid 2>/dev/null) \
- $(cat /var/run/netdata/netdata.pid 2>/dev/null) \
- $(pidof netdata 2>/dev/null)
- do
- ns="$(readlink /proc/${p}/ns/pid 2>/dev/null)"
-
- if [ -z "${myns}" -o -z "${ns}" -o "${myns}" = "${ns}" ]
- then
- stop_netdata_on_pid ${p}
- fi
- done
-}
-
if [ ${DONOTSTART} -eq 1 ]
then
if [ ! -s "${NETDATA_PREFIX}/etc/netdata/netdata.conf" ]
@@ -913,40 +816,19 @@ if [ ${DONOTSTART} -eq 1 ]
fi
else
-
- progress "Start netdata"
-
- if [ "${UID}" -eq 0 ]
- then
- service netdata stop
- stop_all_netdata
- service netdata restart && started=1
- if [ ${started} -eq 0 ]
+ restart_netdata ${NETDATA_PREFIX}/usr/sbin/netdata "${@}"
+ if [ $? -ne 0 ]
then
- service netdata start && started=1
- fi
- fi
-
- if [ ${started} -eq 0 ]
- then
- # still not started...
-
- stop_all_netdata
-
- echo >&2 "Starting netdata..."
- run ${NETDATA_PREFIX}/usr/sbin/netdata -P ${NETDATA_RUN_DIR}/netdata.pid "${@}"
- if [ $? -ne 0 ]
- then
- echo >&2
- echo >&2 "SORRY! FAILED TO START NETDATA!"
- exit 1
- else
- echo >&2 "OK. NetData Started!"
- fi
-
echo >&2
+ echo >&2 "SORRY! FAILED TO START NETDATA!"
+ echo >&2
+ exit 1
fi
+ started=1
+ echo >&2 "OK. NetData Started!"
+ echo >&2
+
# -----------------------------------------------------------------------------
# save a config file, if it is not already there