#!/bin/bash base="`dirname "$0"`" if [ ! -d "$base" -o ! -f "$base/netdata.c" -o ! -d "$base/web" ] then echo >&2 "Cannot find my home directory '${base}'." exit 1 fi cd "$base" || exit 1 # the detail of the data that will be kept in netdata NETDATA_CONFIG_INTERNAL_UPDATE_EVERY=1 # how many entries to keep in memory NETDATA_CONFIG_INTERNAL_HISTORY_LINES=2400 # the user to run netdata under NETDATA_CONFIG_USER=nobody # set to 1, to enable debugging NETDATA_CONFIG_DEBUG=0 # our port NETDATA_CONFIG_PORT=19999 # get user configuration if [ -f netdata.conf ] then . netdata.conf fi echo "Stopping a (possibly) running netdata..." killall netdata 2>/dev/null killall tc-all.sh 2>/dev/null sleep 2 echo "Compiling netdata" if [ $NETDATA_CONFIG_DEBUG -eq 1 ] then ulimit -c unlimited gcc -Wall -ggdb -o netdata netdata.c -lpthread -lz || exit 1 debug_opts="-df 0xfffffedf -dl netdata.log" else gcc -Wall -O3 -o netdata netdata.c -lpthread -lz || exit 1 debug_opts= fi NETDATA_TITLE_DEFAULT= NETDATA_PRIORITY_DEFAULT= # exporting NETDATA variables to netdata export `set 2>&1 | grep ^NETDATA_TITLE_ ` export `set 2>&1 | grep ^NETDATA_PRIORITY_ ` echo "Starting netdata" if [ "$USER" = "root" ] then chown -R "$NETDATA_CONFIG_USER" web || exit 1 chmod 0775 web || exit 1 chmod -R 0664 web/* || exit 1 `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 else echo >&2 "WARNING: NOT RUNNING AS ROOT - CANNOT SWITCH TO USER $NETDATA_CONFIG_USER" echo >&2 "WARNING: MAKE SURE FILES IN web/ ARE OWNED BY $USER - or it will not work" `pwd`/netdata $debug_opts -d -t $NETDATA_CONFIG_INTERNAL_UPDATE_EVERY -l $NETDATA_CONFIG_INTERNAL_HISTORY_LINES -p $NETDATA_CONFIG_PORT || exit 1 fi sleep 2 if [ "$USER" = "root" ] then chown -R "$NETDATA_CONFIG_USER" web || exit 1 chmod 0775 web || exit 1 chmod -R 0664 web/* || exit 1 fi # merge the server variables into the config eval "`wget -O - http://localhost:$NETDATA_CONFIG_PORT/envlist 2>/dev/null | tr " " "_" `" # save config back set 2>/dev/null |grep ^NETDATA_CONFIG_ >netdata.conf set 2>/dev/null |grep ^NETDATA_PRIORITY_ >>netdata.conf set 2>/dev/null |grep ^NETDATA_TITLE_ >>netdata.conf echo "All Done." echo "Just hit http://127.0.0.1:$NETDATA_CONFIG_PORT/ from your browser." echo echo "You can edit config options in file netdata.conf" echo