]> arthur.barton.de Git - netdata.git/blob - netdata-installer.sh
Merge pull request #396 from ktsaou/master
[netdata.git] / netdata-installer.sh
1 #!/bin/bash
2
3 # reload the user profile
4 [ -f /etc/profile ] && . /etc/profile
5
6 # fix PKG_CHECK_MODULES error
7 if [ -d /usr/share/aclocal ]
8 then
9         ACLOCAL_PATH=${ACLOCAL_PATH-/usr/share/aclocal}
10         export ACLOCAL_PATH
11 fi
12
13 LC_ALL=C
14 umask 022
15
16 # you can set CFLAGS before running installer
17 CFLAGS="${CFLAGS--O3}"
18
19 # keep a log of this command
20 printf "\n# " >>netdata-installer.log
21 date >>netdata-installer.log
22 printf "CFLAGS=\"%s\" " "${CFLAGS}" >>netdata-installer.log
23 printf "%q " "$0" "${@}" >>netdata-installer.log
24 printf "\n" >>netdata-installer.log
25
26 ME="$0"
27 DONOTSTART=0
28 DONOTWAIT=0
29 NETDATA_PREFIX=
30 ZLIB_IS_HERE=0
31
32 usage() {
33         cat <<USAGE
34
35 ${ME} <installer options>
36
37 Valid <installer options> are:
38
39    --install /PATH/TO/INSTALL
40
41         If your give: --install /opt
42         netdata will be installed in /opt/netdata
43
44    --dont-start-it
45
46         Do not (re)start netdata.
47         Just install it.
48
49    --dont-wait
50
51         Do not wait for the user to press ENTER.
52         Start immediately building it.
53
54    --zlib-is-really-here
55
56         If you get errors about missing zlib,
57         but you know it is available,
58         you have a broken pkg-config.
59         Use this option to allow it continue
60         without checking pkg-config.
61
62 Netdata will by default be compiled with gcc optimization -O3
63 If you need to pass different CFLAGS, use something like this:
64
65   CFLAGS="<gcc options>" $ME <installer options>
66
67 For the installer to complete successfully, you will need
68 these packages installed:
69
70    gcc make autoconf automake pkg-config zlib1g-dev
71
72 For the plugins, you will at least need:
73
74    curl node
75
76 USAGE
77 }
78
79 while [ ! -z "${1}" ]
80 do
81         if [ "$1" = "--install" ]
82                 then
83                 NETDATA_PREFIX="${2}/netdata"
84                 shift 2
85         elif [ "$1" = "--zlib-is-really-here" ]
86                 then
87                 ZLIB_IS_HERE=1
88                 shift 1
89         elif [ "$1" = "--dont-start-it" ]
90                 then
91                 DONOTSTART=1
92                 shift 1
93         elif [ "$1" = "--dont-wait" ]
94                 then
95                 DONOTWAIT=1
96                 shift 1
97         elif [ "$1" = "--help" -o "$1" = "-h" ]
98                 then
99                 usage
100                 exit 1
101         else
102                 echo >&2
103                 echo >&2 "ERROR:"
104                 echo >&2 "I cannot understand option '$1'."
105                 usage
106                 exit 1
107         fi
108 done
109
110 cat <<BANNER
111
112 Welcome to netdata!
113 Nice to see you are giving it a try!
114
115 You are about to build and install netdata to your system.
116
117 It will be installed at these locations:
118
119   - the daemon    at ${NETDATA_PREFIX}/usr/sbin/netdata
120   - config files  at ${NETDATA_PREFIX}/etc/netdata
121   - web files     at ${NETDATA_PREFIX}/usr/share/netdata
122   - plugins       at ${NETDATA_PREFIX}/usr/libexec/netdata
123   - cache files   at ${NETDATA_PREFIX}/var/cache/netdata
124   - log files     at ${NETDATA_PREFIX}/var/log/netdata
125   - pid file      at ${NETDATA_PREFIX}/var/run
126
127 This installer allows you to change the installation path.
128 Press Control-C and run the same command with --help for help.
129
130 BANNER
131
132 if [ "${UID}" -ne 0 ]
133         then
134         if [ -z "${NETDATA_PREFIX}" ]
135                 then
136                 cat <<NONROOTNOPREFIX
137
138 Sorry! This will fail!
139
140 You are attempting to install netdata as non-root, but you plan to install it
141 in system paths.
142
143 Please set an installation prefix, like this:
144
145     $0 ${@} --install /tmp
146
147 or, run the installer as root:
148
149     sudo $0 ${@}
150
151 We suggest to install it as root, or certain data collectors will not be able
152 to work. Netdata drops root privileges when running. So, if you plan to keep
153 it, install it as root to get the full functionality.
154
155 NONROOTNOPREFIX
156                 exit 1
157
158         else
159                 cat <<NONROOT
160
161 IMPORTANT:
162 You are about to install netdata as a non-root user.
163 Netdata will work, but a few data collection modules that
164 require root access will fail.
165
166 If you installing permanently on your system, run the
167 installer like this:
168
169     sudo $0 ${@}
170
171 NONROOT
172         fi
173 fi
174
175 have_autotools=
176 if [ "$(type autoreconf 2> /dev/null)" ]
177 then
178         autoconf_maj_min() {
179                 local maj min IFS=.-
180
181                 maj=$1
182                 min=$2
183
184                 set -- $(autoreconf -V | sed -ne '1s/.* \([^ ]*\)$/\1/p')
185                 eval $maj=\$1 $min=\$2
186         }
187         autoconf_maj_min AMAJ AMIN
188
189         if [ "$AMAJ" -gt 2 ]
190         then
191                 have_autotools=Y
192         elif [ "$AMAJ" -eq 2 -a "$AMIN" -ge 60 ]
193         then
194                 have_autotools=Y
195         else
196                 echo "Found autotools $AMAJ.$AMIN"
197         fi
198 else
199         echo "No autotools found"
200 fi
201
202 if [ ! "$have_autotools" ]
203 then
204         if [ -f configure ]
205         then
206                 echo "Will skip autoreconf step"
207         else
208                 cat <<-"EOF"
209
210         -------------------------------------------------------------------------------
211         autotools 2.60 or later is required
212
213         Sorry, you do not seem to have autotools 2.60 or later, which is
214         required to build from the git sources of netdata.
215
216         You can either install a suitable version of autotools and automake
217         or download a netdata package which does not have these dependencies.
218
219         Source packages where autotools have already been run are available
220         here:
221                https://firehol.org/download/netdata/
222
223         The unsigned/master folder tracks the head of the git tree and released
224         packages are also available.
225         EOF
226                 exit 1
227         fi
228 fi
229
230 if [ ${DONOTWAIT} -eq 0 ]
231         then
232         if [ ! -z "${NETDATA_PREFIX}" ]
233                 then
234                 read -p "Press ENTER to build and install netdata to '${NETDATA_PREFIX}' > "
235         else
236                 read -p "Press ENTER to build and install netdata to your system > "
237         fi
238 fi
239
240 build_error() {
241         cat <<EOF
242
243 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
244
245 Sorry! NetData failed to build...
246
247 You many need to check these:
248
249 1. The package zlib1g-dev has to be installed.
250
251 2. You need basic build tools installed, like:
252
253    gcc make autoconf automake pkg-config
254
255    Autoconf version 2.60 or higher is required
256
257 3. If your system cannot find ZLIB, although it is installed
258    run me with the option:  --zlib-is-really-here
259
260
261 If you still cannot get it to build, ask for help at github:
262
263    https://github.com/firehol/netdata/issues
264
265
266 EOF
267         trap - EXIT
268         exit 1
269 }
270
271 run() {
272         printf >&2 "\n"
273         printf >&2 ":-----------------------------------------------------------------------------\n"
274         printf >&2 "Running command:\n"
275         printf >&2 "\n"
276         printf >&2 "%q " "${@}"
277         printf >&2 "\n"
278         printf >&2 "\n"
279
280         "${@}"
281 }
282
283 if [ ${ZLIB_IS_HERE} -eq 1 ]
284         then
285         shift
286         echo >&2 "ok, assuming zlib is really installed."
287         export ZLIB_CFLAGS=" "
288         export ZLIB_LIBS="-lz"
289 fi
290
291 trap build_error EXIT
292
293 if [ "$have_autotools" ]
294 then
295         run ./autogen.sh || exit 1
296 fi
297
298 run ./configure \
299         --prefix="${NETDATA_PREFIX}/usr" \
300         --sysconfdir="${NETDATA_PREFIX}/etc" \
301         --localstatedir="${NETDATA_PREFIX}/var" \
302         --with-zlib --with-math --with-user=netdata \
303         CFLAGS="${CFLAGS}" || exit 1
304
305 # remove the build_error hook
306 trap - EXIT
307
308 if [ -f src/netdata ]
309         then
310         echo >&2 "Cleaning a possibly old compilation ..."
311         run make clean
312 fi
313
314 echo >&2 "Compiling netdata ..."
315 run make || exit 1
316
317 # backup user configurations
318 for x in apps_groups.conf charts.d.conf
319 do
320         if [ -f "${NETDATA_PREFIX}/etc/netdata/${x}" ]
321                 then
322                 cp -p "${NETDATA_PREFIX}/etc/netdata/${x}" "${NETDATA_PREFIX}/etc/netdata/${x}.installer_backup"
323         fi
324 done
325
326 echo >&2 "Installing netdata ..."
327 run make install || exit 1
328
329 # restore user configurations
330 for x in apps_groups.conf charts.d.conf
331 do
332         if [ -f "${NETDATA_PREFIX}/etc/netdata/${x}.installer_backup" ]
333                 then
334                 cp -p "${NETDATA_PREFIX}/etc/netdata/${x}.installer_backup" "${NETDATA_PREFIX}/etc/netdata/${x}"
335         fi
336 done
337
338 NETDATA_ADDED_TO_DOCKER=0
339 if [ ${UID} -eq 0 ]
340         then
341         getent group netdata > /dev/null
342         if [ $? -ne 0 ]
343                 then
344                 echo >&2 "Adding netdata user group ..."
345                 run groupadd -r netdata
346         fi
347
348         getent passwd netdata > /dev/null
349         if [ $? -ne 0 ]
350                 then
351                 echo >&2 "Adding netdata user account ..."
352                 run useradd -r -g netdata -c netdata -s /sbin/nologin -d / netdata
353         fi
354
355         getent group docker > /dev/null
356         if [ $? -eq 0 ]
357                 then
358                 # find the users in the docker group
359                 docker=$(getent group docker | cut -d ':' -f 4)
360                 if [[ ",${docker}," =~ ,netdata, ]]
361                         then
362                         # netdata is already there
363                         :
364                 else
365                         # netdata is not in docker group
366                         echo >&2 "Adding netdata user to the docker group (needed to get container names) ..."
367                         run usermod -a -G docker netdata
368                 fi
369                 # let the uninstall script know
370                 NETDATA_ADDED_TO_DOCKER=1
371         fi
372 fi
373
374
375 # -----------------------------------------------------------------------------
376 # load options from the configuration file
377
378 # create an empty config if it does not exist
379 [ ! -f "${NETDATA_PREFIX}/etc/netdata/netdata.conf" ] && touch "${NETDATA_PREFIX}/etc/netdata/netdata.conf"
380
381 # function to extract values from the config file
382 config_option() {
383         local key="${1}" value="${2}" line=
384
385         if [ -s "${NETDATA_PREFIX}/etc/netdata/netdata.conf" ]
386                 then
387                 line="$( grep "^[[:space:]]*${key}[[:space:]]*=[[:space:]]*" "${NETDATA_PREFIX}/etc/netdata/netdata.conf" | head -n 1 )"
388                 [ ! -z "${line}" ] && value="$( echo "${line}" | cut -d '=' -f 2 | sed -e "s/^[[:space:]]\+//g" -e "s/[[:space:]]\+$//g" )"
389         fi
390
391         echo "${value}"
392 }
393
394 # user
395 defuser="netdata"
396 [ ! "${UID}" = "0" ] && defuser="${USER}"
397 NETDATA_USER="$( config_option "run as user" "${defuser}" )"
398
399 NETDATA_WEB_USER="$( config_option "web files owner" "${defuser}" )"
400 NETDATA_WEB_GROUP="$( config_option "web files group" "${NETDATA_WEB_USER}" )"
401
402 # debug flags
403 defdebug=0
404 NETDATA_DEBUG="$( config_option "debug flags" ${defdebug} )"
405
406 # port
407 defport=19999
408 NETDATA_PORT="$( config_option "port" ${defport} )"
409
410 # directories
411 NETDATA_CACHE_DIR="$( config_option "cache directory" "${NETDATA_PREFIX}/var/cache/netdata" )"
412 NETDATA_WEB_DIR="$( config_option "web files directory" "${NETDATA_PREFIX}/usr/share/netdata/web" )"
413 NETDATA_LOG_DIR="$( config_option "log directory" "${NETDATA_PREFIX}/var/log/netdata" )"
414 NETDATA_CONF_DIR="$( config_option "config directory" "${NETDATA_PREFIX}/etc/netdata" )"
415 NETDATA_BIND="$( config_option "bind socket to IP" "*" )"
416 NETDATA_RUN_DIR="${NETDATA_PREFIX}/var/run"
417
418
419 # -----------------------------------------------------------------------------
420 # prepare the directories
421
422 # this is needed if NETDATA_PREFIX is not empty
423 if [ ! -d "${NETDATA_RUN_DIR}" ]
424         then
425         mkdir -p "${NETDATA_RUN_DIR}" || exit 1
426 fi
427
428 echo >&2 "Fixing directories (user: ${NETDATA_USER})..."
429 for x in "${NETDATA_WEB_DIR}" "${NETDATA_CONF_DIR}" "${NETDATA_CACHE_DIR}" "${NETDATA_LOG_DIR}"
430 do
431         if [ ! -d "${x}" ]
432                 then
433                 echo >&2 "Creating directory '${x}'"
434                 run mkdir -p "${x}" || exit 1
435         fi
436
437         if [ ${UID} -eq 0 ]
438                 then
439                 if [ "${x}" = "${NETDATA_WEB_DIR}" ]
440                         then
441                         run chown -R "${NETDATA_WEB_USER}:${NETDATA_WEB_GROUP}" "${x}" || echo >&2 "WARNING: Cannot change the ownership of the files in directory ${x} to ${NETDATA_WEB_USER}:${NETDATA_WEB_GROUP}..."
442                 else
443                         run chown -R "${NETDATA_USER}:${NETDATA_USER}" "${x}" || echo >&2 "WARNING: Cannot change the ownership of the files in directory ${x} to ${NETDATA_USER}..."
444                 fi
445         fi
446
447         run chmod 0755 "${x}" || echo >&2 "WARNING: Cannot change the permissions of the directory ${x} to 0755..."
448 done
449
450 if [ ${UID} -eq 0 ]
451         then
452         # fix apps.plugin to be setuid to root
453         run chown root "${NETDATA_PREFIX}/usr/libexec/netdata/plugins.d/apps.plugin"
454         run chmod 4755 "${NETDATA_PREFIX}/usr/libexec/netdata/plugins.d/apps.plugin"
455 fi
456
457 # -----------------------------------------------------------------------------
458 # check if we can re-start netdata
459
460 if [ ${DONOTSTART} -eq 1 ]
461         then
462         if [ ! -s "${NETDATA_PREFIX}/etc/netdata/netdata.conf" ]
463                 then
464                 echo >&2 "Generating empty config file in: ${NETDATA_PREFIX}/etc/netdata/netdata.conf"
465                 echo "# Get config from http://127.0.0.1:${NETDATA_PORT}/netdata.conf" >"${NETDATA_PREFIX}/etc/netdata/netdata.conf"
466
467                 if [ "${UID}" -eq 0 ]
468                         then
469                         chown "${NETDATA_USER}" "${NETDATA_PREFIX}/etc/netdata/netdata.conf"
470                 fi
471                 chmod 0664 "${NETDATA_PREFIX}/etc/netdata/netdata.conf"
472         fi
473         echo >&2 "OK. It is now installed and ready."
474         exit 0
475 fi
476
477 # -----------------------------------------------------------------------------
478 # stop a running netdata
479
480 isnetdata() {
481         [ -z "$1" -o ! -f "/proc/$1/stat" ] && return 1
482         [ "$(cat "/proc/$1/stat" | cut -d '(' -f 2 | cut -d ')' -f 1)" = "netdata" ] && return 0
483         return 1
484 }
485
486
487 printf >&2 "Stopping a (possibly) running netdata..."
488 ret=0
489 count=0
490 while [ $ret -eq 0 ]
491 do
492         if [ $count -gt 30 ]
493                 then
494                 echo >&2 "Cannot stop the running netdata."
495                 exit 1
496         fi
497
498         count=$((count + 1))
499
500         pid=$(cat "${NETDATA_RUN_DIR}/netdata.pid" 2>/dev/null)
501         # backwards compatibility
502         [ -z "${pid}" ] && pid=$(cat /var/run/netdata.pid 2>/dev/null)
503         [ -z "${pid}" ] && pid=$(cat /var/run/netdata/netdata.pid 2>/dev/null)
504         
505         isnetdata $pid || pid=
506         if [ ! -z "${pid}" ]
507                 then
508                 run kill $pid 2>/dev/null
509                 ret=$?
510         else
511                 run killall netdata 2>/dev/null
512                 ret=$?
513         fi
514
515         test $ret -eq 0 && printf >&2 "." && sleep 2
516 done
517 echo >&2
518 echo >&2
519
520
521 # -----------------------------------------------------------------------------
522 # run netdata
523
524 echo >&2 "Starting netdata..."
525 run ${NETDATA_PREFIX}/usr/sbin/netdata -pidfile ${NETDATA_RUN_DIR}/netdata.pid "${@}"
526
527 if [ $? -ne 0 ]
528         then
529         echo >&2
530         echo >&2 "SORRY! FAILED TO START NETDATA!"
531         exit 1
532 else
533         echo >&2 "OK. NetData Started!"
534 fi
535
536
537 # -----------------------------------------------------------------------------
538 # save a config file, if it is not already there
539
540 if [ ! -s "${NETDATA_PREFIX}/etc/netdata/netdata.conf" ]
541         then
542         echo >&2 "Downloading default configuration from netdata..."
543         sleep 5
544
545         # remove a possibly obsolete download
546         [ -f "${NETDATA_PREFIX}/etc/netdata/netdata.conf.new" ] && rm "${NETDATA_PREFIX}/etc/netdata/netdata.conf.new"
547
548         # disable a proxy to get data from the local netdata
549         export http_proxy=
550         export https_proxy=
551
552         # try wget
553         wget 2>/dev/null -O "${NETDATA_PREFIX}/etc/netdata/netdata.conf.new" "http://localhost:${NETDATA_PORT}/netdata.conf"
554         ret=$?
555
556         # try curl
557         if [ $ret -ne 0 -o ! -s "${NETDATA_PREFIX}/etc/netdata/netdata.conf.new" ]
558                 then
559                 curl -s -o "${NETDATA_PREFIX}/etc/netdata/netdata.conf.new" "http://localhost:${NETDATA_PORT}/netdata.conf"
560                 ret=$?
561         fi
562
563         if [ $ret -eq 0 -a -s "${NETDATA_PREFIX}/etc/netdata/netdata.conf.new" ]
564                 then
565                 mv "${NETDATA_PREFIX}/etc/netdata/netdata.conf.new" "${NETDATA_PREFIX}/etc/netdata/netdata.conf"
566                 echo >&2 "New configuration saved for you to edit at ${NETDATA_PREFIX}/etc/netdata/netdata.conf"
567
568                 if [ "${UID}" -eq 0 ]
569                         then
570                         chown "${NETDATA_USER}" "${NETDATA_PREFIX}/etc/netdata/netdata.conf"
571                 fi
572                 chmod 0664 "${NETDATA_PREFIX}/etc/netdata/netdata.conf"
573         else
574                 echo >&2 "Cannnot download configuration from netdata daemon using url 'http://localhost:${NETDATA_PORT}/netdata.conf'"
575                 [ -f "${NETDATA_PREFIX}/etc/netdata/netdata.conf.new" ] && rm "${NETDATA_PREFIX}/etc/netdata/netdata.conf.new"
576         fi
577 fi
578
579 # -----------------------------------------------------------------------------
580 # Check for KSM
581
582 ksm_is_available_but_disabled() {
583         cat <<KSM1
584
585 -------------------------------------------------------------------------------
586 Memory de-duplication instructions
587
588 I see you have kernel memory de-duper (called Kernel Same-page Merging,
589 or KSM) available, but it is not currently enabled.
590
591 To enable it run:
592
593 echo 1 >/sys/kernel/mm/ksm/run
594 echo 1000 >/sys/kernel/mm/ksm/sleep_millisecs
595
596 If you enable it, you will save 40-60% of netdata memory.
597
598 KSM1
599 }
600
601 ksm_is_not_available() {
602         cat <<KSM2
603
604 -------------------------------------------------------------------------------
605 Memory de-duplication not present in your kernel
606
607 It seems you do not have kernel memory de-duper (called Kernel Same-page
608 Merging, or KSM) available.
609
610 To enable it, you need a kernel built with CONFIG_KSM=y
611
612 If you can have it, you will save 40-60% of netdata memory.
613
614 KSM2
615 }
616
617 if [ -f "/sys/kernel/mm/ksm/run" ]
618         then
619         if [ $(cat "/sys/kernel/mm/ksm/run") != "1" ]
620                 then
621                 ksm_is_available_but_disabled
622         fi
623 else
624         ksm_is_not_available
625 fi
626
627 # -----------------------------------------------------------------------------
628 # Check for version.txt
629
630 if [ ! -s web/version.txt ]
631         then
632 cat <<VERMSG
633
634 -------------------------------------------------------------------------------
635 Version update check warning
636
637 The way you downloaded netdata, we cannot find its version. This means the
638 Update check on the dashboard, will not work.
639
640 If you want to have version update check, please re-install it
641 following the procedure in:
642
643 https://github.com/firehol/netdata/wiki/Installation
644
645 VERMSG
646 fi
647
648 # -----------------------------------------------------------------------------
649 # apps.plugin warning
650
651 if [ "${UID}" -ne 0 ]
652         then
653 cat <<SETUID_WARNING
654
655 -------------------------------------------------------------------------------
656 apps.plugin needs privileges
657
658 Since you have installed netdata as a normal user, to have apps.plugin collect
659 all the needed data, you have to give it the access rights it needs, by running
660 these commands:
661
662         sudo chown root "${NETDATA_PREFIX}/usr/libexec/netdata/plugins.d/apps.plugin"
663         sudo chmod 4755 "${NETDATA_PREFIX}/usr/libexec/netdata/plugins.d/apps.plugin"
664
665 The commands allow apps.plugin to run as root.
666
667 apps.plugin is performing a hard-coded function of data collection for all
668 running processes. It cannot be instructed from the netdata daemon to perform
669 any task, so it is pretty safe to do this.
670
671 SETUID_WARNING
672 fi
673
674 # -----------------------------------------------------------------------------
675 # Keep un-install info
676
677 cat >netdata-uninstaller.sh <<UNINSTALL
678 #!/bin/bash
679
680 # this script will uninstall netdata
681
682 if [ "\$1" != "--force" ]
683         then
684         echo >&2 "This script will REMOVE netdata from your system."
685         echo >&2 "Run it again with --force to do it."
686         exit 1
687 fi
688
689 echo >&2 "Stopping a possibly running netdata..."
690 killall netdata
691 sleep 2
692
693 deletedir() {
694         if [ ! -z "\$1" -a -d "\$1" ]
695                 then
696                 echo
697                 echo "Deleting directory '\$1' ..."
698                 rm -I -R "\$1"
699         fi
700 }
701
702 if [ ! -z "${NETDATA_PREFIX}" -a -d "${NETDATA_PREFIX}" ]
703         then
704         # installation prefix was given
705
706         deletedir "${NETDATA_PREFIX}"
707
708 else
709         # installation prefix was NOT given
710
711         if [ -f "${NETDATA_PREFIX}/usr/sbin/netdata" ]
712                 then
713                 echo "Deleting ${NETDATA_PREFIX}/usr/sbin/netdata ..."
714                 rm -i "${NETDATA_PREFIX}/usr/sbin/netdata"
715         fi
716
717         deletedir "${NETDATA_PREFIX}/etc/netdata"
718         deletedir "${NETDATA_PREFIX}/usr/share/netdata"
719         deletedir "${NETDATA_PREFIX}/usr/libexec/netdata"
720         deletedir "${NETDATA_PREFIX}/var/cache/netdata"
721         deletedir "${NETDATA_PREFIX}/var/log/netdata"
722 fi
723
724 getent passwd netdata > /dev/null
725 if [ $? -eq 0 ]
726         then
727         echo
728         echo "You may also want to remove the user netdata"
729         echo "by running:"
730         echo "   userdel netdata"
731 fi
732
733 getent group netdata > /dev/null
734 if [ $? -eq 0 ]
735         then
736         echo
737         echo "You may also want to remove the group netdata"
738         echo "by running:"
739         echo "   groupdel netdata"
740 fi
741
742 getent group docker > /dev/null
743 if [ $? -eq 0 -a "${NETDATA_ADDED_TO_DOCKER}" = "1" ]
744         then
745         echo
746         echo "You may also want to remove the netdata user from the docker group"
747         echo "by running:"
748         echo "   gpasswd -d netdata docker"
749 fi
750
751 UNINSTALL
752 chmod 750 netdata-uninstaller.sh
753
754 # -----------------------------------------------------------------------------
755
756 if [ "${NETDATA_BIND}" = "*" ]
757         then
758         access="localhost"
759 else
760         access="${NETDATA_BIND}"
761 fi
762
763 cat <<END
764
765
766 -------------------------------------------------------------------------------
767
768 OK. NetData is installed and it is running (listening to ${NETDATA_BIND}:${NETDATA_PORT}).
769
770 -------------------------------------------------------------------------------
771
772
773 Hit http://${access}:${NETDATA_PORT}/ from your browser.
774
775 To stop netdata, just kill it, with:
776
777   killall netdata
778
779 To start it, just run it:
780
781   ${NETDATA_PREFIX}/usr/sbin/netdata
782
783
784 Enjoy!
785
786                  Give netdata a Github Star, at:
787
788              https://github.com/firehol/netdata/wiki
789
790
791 END
792 echo >&2 "Uninstall script generated: ./netdata-uninstaller.sh"