summaryrefslogtreecommitdiffstats
path: root/start-munin.sh
diff options
context:
space:
mode:
Diffstat (limited to 'start-munin.sh')
-rwxr-xr-xstart-munin.sh36
1 files changed, 32 insertions, 4 deletions
diff --git a/start-munin.sh b/start-munin.sh
index fef4449..71b2359 100755
--- a/start-munin.sh
+++ b/start-munin.sh
@@ -1,6 +1,7 @@
#!/bin/bash
NODES=${NODES:-}
SNMP_NODES=${SNMP_NODES:-}
+SSH_NODES=${SSH_NODES:-}
MUNIN_USERS=${MUNIN_USERS:-${MUNIN_USER:-user}}
MUNIN_PASSWORDS=${MUNIN_PASSWORDS:-${MUNIN_PASSWORD:-password}}
MAIL_CONF_PATH='/var/lib/munin/.mailrc'
@@ -49,7 +50,7 @@ fi
# generate the Munin auth username/password file
if [ ! -f /etc/munin/htpasswd.users ]; then
- uc = 0
+ uc=0
IFS=' ' read -ra ARR_USERS <<< "$MUNIN_USERS"
IFS=' ' read -ra ARR_PASSWORDS <<< "$MUNIN_PASSWORDS"
for u in "${ARR_USERS[@]}"; do
@@ -67,7 +68,7 @@ do
if [ ${#PORT} -eq 0 ]; then
PORT=4949
fi
- if ! grep -q $HOST /etc/munin/munin.conf ; then
+ if ! grep -q "'^$HOST$'" /etc/munin/munin.conf ; then
cat << EOF >> /etc/munin/munin.conf
[$NAME]
address $HOST
@@ -75,6 +76,7 @@ do
port $PORT
EOF
+ echo "Added node '$NAME' '$HOST'"
fi
done
@@ -87,7 +89,7 @@ do
if [ ${#PORT} -eq 0 ]; then
PORT=4949
fi
- if ! grep -q $HOST /etc/munin/munin.conf ; then
+ if ! grep -q "'^$HOST$'" /etc/munin/munin.conf ; then
cat << EOF >> /etc/munin/munin.conf
[$NAME]
address $HOST
@@ -95,6 +97,27 @@ do
port $PORT
EOF
+ echo "Added SNMP node '$NAME' '$HOST'"
+ fi
+done
+
+for SSH_NODE in $SSH_NODES
+do
+ NAME=`echo $SSH_NODE | cut -d ":" -f1`
+ HOST=`echo $SSH_NODE | cut -d ":" -f2`
+ PORT=`echo $SSH_NODE | cut -d ":" -f3`
+ if [ ${#PORT} -eq 0 ]; then
+ PORT=4949
+ fi
+ if ! grep -q "'^$HOST$'" /etc/munin/munin.conf ; then
+ cat << EOF >> /etc/munin/munin.conf
+[$NAME]
+ address ssh://$HOST/usr/bin/nc localhost 4949
+ use_node_name yes
+ port $PORT
+
+EOF
+ echo "Added SSH node '$NAME' '$HOST'"
fi
done
@@ -119,16 +142,21 @@ fi
/usr/sbin/rsyslogd
# start cron
/usr/sbin/cron
+# Issue: 'NUMBER OF HARD LINKS > 1' prevents cron exec in container
+# https://github.com/phusion/baseimage-docker/issues/198
+touch /etc/crontab /etc/cron.d/*
# start local munin-node
/usr/sbin/munin-node
echo "Using the following munin nodes:"
echo $NODES
+echo "(ssh) $SSH_NODES"
+echo "(snmp) $SNMP_NODES"
# start spawn-cgi to enable CGI interface with munin (dynamix graph generation)
spawn-fcgi -s /var/run/munin/fcgi-graph.sock -U munin -u munin -g munin /usr/lib/munin/cgi/munin-cgi-graph
# start nginx
/usr/sbin/nginx
# show logs
-echo "Tailing /var/log/syslog..."
+echo "Tailing syslog and munin-update log..."
tail -F /var/log/syslog /var/log/munin/munin-update.log & pid=$!
echo "tail -F running in $pid"