diff options
author | Costa Tsaousis (ktsaou) <costa@tsaousis.gr> | 2017-04-01 22:12:12 +0300 |
---|---|---|
committer | Costa Tsaousis (ktsaou) <costa@tsaousis.gr> | 2017-04-01 22:12:12 +0300 |
commit | e9a3df888cb516ac22af8555ee96b9652be9660d (patch) | |
tree | 2b469ad65e9c9adf151e911676e236a6757a399f /netdata-installer.sh | |
parent | fe019642dc830fdd451d78205dc0f35b86c55db2 (diff) |
start netdata on install too
Diffstat (limited to 'netdata-installer.sh')
-rwxr-xr-x | netdata-installer.sh | 146 |
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 |