5 if [ ! -d "$base" -o ! -f "$base/netdata.c" -o ! -d "$base/web" ]
7 echo >&2 "Cannot find my home directory '${base}'."
12 # the detail of the data that will be kept in netdata
13 NETDATA_CONFIG_INTERNAL_UPDATE_EVERY=1
15 # how many entries to keep in memory
16 NETDATA_CONFIG_INTERNAL_HISTORY_LINES=3600
18 # the user to run netdata under
19 NETDATA_CONFIG_USER=nobody
21 # set to 1, to enable debugging
22 NETDATA_CONFIG_DEBUG=0
25 NETDATA_CONFIG_PORT=19999
28 NETDATA_CONFIG_WEB_DIR=web
30 if [ -f netdata.conf ]
32 x="`grep "\[global\]" netdata.conf`"
35 # import the old values
36 cat netdata.conf | grep ^NETDATA_CONFIG_ >netdata.conf.tmp
40 mv netdata.conf netdata.conf.old
41 echo "You are having an old config. Moved to netdata.conf.old"
43 # find if debug is enabled in the config
44 df=`grep -C 3 "\[debug\]" netdata.conf | grep "flags" | tail -n 1 | cut -d '=' -f 2 | sed s"/ //g"`
45 if [ -z "$df" -o "$df" = "0x00000000" -o $((df + 1 - 1)) -eq 0 ]
47 NETDATA_CONFIG_DEBUG=0
49 NETDATA_CONFIG_DEBUG=1
52 # find the user to run as
53 NETDATA_CONFIG_USER="`grep 'run as user = ' netdata.conf | head -n 1 | cut -d '=' -f 2 | sed s"/ //g"`"
54 NETDATA_CONFIG_WEB_DIR="`grep 'web files directory = ' netdata.conf | head -n 1 | cut -d '=' -f 2 | sed -e s"/^ \+//g" -e s"/ \+$//g"`"
58 echo "Compiling netdata (debug=$NETDATA_CONFIG_DEBUG)"
59 if [ $NETDATA_CONFIG_DEBUG -eq 1 ]
62 gcc -Wall -Wextra -ggdb -o netdata netdata.c -lpthread -lz || exit 1
63 debug_opts="-df 0xfffffadf -dl netdata.log"
65 gcc -Wall -O3 -o netdata netdata.c -lpthread -lz || exit 1
66 debug_opts="-df 0x00000000"
69 echo "Stopping a (possibly) running netdata..."
70 killall netdata 2>/dev/null
73 if [ "$USER" = "root" -a ! -z "$NETDATA_CONFIG_USER" -a -d "$NETDATA_CONFIG_WEB_DIR" ]
75 echo "Chaning ownership of web files in $NETDATA_CONFIG_WEB_DIR to $NETDATA_CONFIG_USER"
76 chown -R "$NETDATA_CONFIG_USER" "$NETDATA_CONFIG_WEB_DIR" || exit 1
77 chmod 0775 "$NETDATA_CONFIG_WEB_DIR" || exit 1
80 if [ ! "$USER" = "root" ]
82 echo >&2 "WARNING: NOT RUNNING AS ROOT - CANNOT SWITCH TO USER $NETDATA_CONFIG_USER"
83 echo >&2 "WARNING: MAKE SURE FILES IN web/ ARE OWNED BY $USER - or it will not work"
86 echo "Starting netdata..."
87 if [ -f netdata.conf ]
93 if [ "$USER" = "root" ]
95 `pwd`/netdata $debug_opts -d -u $NETDATA_CONFIG_USER -t $NETDATA_CONFIG_INTERNAL_UPDATE_EVERY -l $NETDATA_CONFIG_INTERNAL_HISTORY_LINES -p $NETDATA_CONFIG_PORT || exit 1
97 `pwd`/netdata $debug_opts -d -t $NETDATA_CONFIG_INTERNAL_UPDATE_EVERY -l $NETDATA_CONFIG_INTERNAL_HISTORY_LINES -p $NETDATA_CONFIG_PORT || exit 1
101 wget 2>/dev/null -O netdata.conf.new http://localhost:$NETDATA_CONFIG_PORT/netdata.conf
102 mv netdata.conf.new netdata.conf
104 echo "Hit http://127.0.0.1:$NETDATA_CONFIG_PORT/ from your browser."
105 echo "You can edit config options in file netdata.conf"