#!/bin/bash # timezone settings TZ=${TZ:="Europe/Paris"} echo $TZ > /etc/timezone # workaround https://bugs.launchpad.net/ubuntu/+source/tzdata/+bug/1554806 rm /etc/localtime dpkg-reconfigure -f noninteractive tzdata # change cron setting for updates CRONDELAY=${CRONDELAY:=5} sed -i "s/\*\/5/\*\/$CRONDELAY/g" /etc/cron.d/munin # configure default node name THISNODENAME=${THISNODENAME:="munin"} sed -i "s/^\[localhost\.localdomain\]/\[$THISNODENAME\]/g" /etc/munin/munin.conf # configure default node IP THISNODEIP=${THISNODEIP:="127.0.0.1"} sed -i "s/^\( *address\) 127\.0\.0\.1\$/\1 $THISNODEIP/" /etc/munin/munin.conf # configure default servername THISSERVERNAME=${SERVERNAME:="munin"} sed -i "s/^\[localhost\.localdomain\]/\[$SERVERNAME\]/g" /etc/apache2/sites-available/000-default.conf # configure mail notification if [[ -n "$MAILCONTACT" && -n "$MAILSERVER" && -n "$MAILPORT" && -n "$MAILUSER" && -n "$MAILPASSWORD" && -n "$MAILDOMAIN" ]] ; then MAILCONTACT=${MAILCONTACT:="contact@domain.test"} sed -i "s/mailcontact/$MAILCONTACT/g" /etc/ssmtp/ssmtp.conf sed -i "s/mailcontact/$MAILCONTACT/g" /etc/munin/munin-conf.d/munin_mail.conf MAILSERVER=${MAILSERVER:="mail.domain.test"} sed -i "s/mailserver/$MAILSERVER/g" /etc/ssmtp/ssmtp.conf sed -i "s/mailserver/$MAILSERVER/g" /etc/ssmtp/revaliases MAILPORT=${MAILPORT:="25"} sed -i "s/mailport/$MAILPORT/g" /etc/ssmtp/ssmtp.conf sed -i "s/mailport/$MAILPORT/g" /etc/ssmtp/revaliases MAILUSER=${MAILUSER:="alert@domain.test"} sed -i "s/mailuser/$MAILUSER/g" /etc/ssmtp/ssmtp.conf MAILFROM=${MAILFROM:="munin@domain.test"} sed -i "s/mailfrom/$MAILFROM/g" /etc/ssmtp/revaliases MAILPASSWORD=${MAILPASSWORD:="XXXXXXXXX"} sed -i "s/mailpassword/$MAILPASSWORD/g" /etc/ssmtp/ssmtp.conf MAILDOMAIN=${MAILDOMAIN:="domain.test"} sed -i "s/maildomain/$MAILDOMAIN/g" /etc/ssmtp/ssmtp.conf sed -i "s/mailhost/$MAILDOMAIN/g" /etc/ssmtp/ssmtp.conf MAILNAME=${MAILNAME:="Munin"} sed -i "s/munin application user/$MAILNAME/g" /etc/passwd else rm /etc/munin/munin-conf.d/munin_mail.conf /etc/ssmtp/ssmtp.conf fi # generate node list NODES=${NODES:-} for NODE in $NODES do NAME=`echo $NODE | cut -d ':' -f1` HOST=`echo $NODE | cut -d ':' -f2` grep -q "${HOST}$" /etc/munin/munin.conf || cat << EOF >> /etc/munin/munin.conf [$NAME] address $HOST use_node_name yes EOF done # placeholder html to prevent permission error if [ ! -f /var/cache/munin/www/index.html ]; then cat << EOF > /var/cache/munin/www/index.html