summaryrefslogtreecommitdiffstats
path: root/start-munin.sh
diff options
context:
space:
mode:
Diffstat (limited to 'start-munin.sh')
-rw-r--r--start-munin.sh38
1 files changed, 29 insertions, 9 deletions
diff --git a/start-munin.sh b/start-munin.sh
index c3aa70b..8a050de 100644
--- a/start-munin.sh
+++ b/start-munin.sh
@@ -3,22 +3,42 @@ NODES=${NODES:-}
SNMP_NODES=${SNMP_NODES:-}
MUNIN_USER=${MUNIN_USER:-user}
MUNIN_PASSWORD=${MUNIN_PASSWORD:-password}
+MAIL_CONF_PATH='/var/lib/munin/.mailrc'
+SMTP_USE_TLS=${SMTP_USE_TLS:-false}
+SMTP_ALWAYS_SEND=${SMTP_ALWAYS_SEND:-true}
+SMTP_MESSAGE_DEFAULT='[${var:group};${var:host}] -> ${var:graph_title} -> warnings: ${loop<,>:wfields ${var:label}=${var:value}} / criticals: ${loop<,>:cfields ${var:label}=${var:value}}'
+SMTP_MESSAGE="${SMTP_MESSAGE:-$SMTP_MESSAGE_DEFAULT}"
-if [ -n "${SMTP_USERNAME}" -a -n "${SMTP_PASSWORD}" -a -n "${SMTP_HOST}" -a -n "${SMTP_PORT}" ] ; then
- cat > /var/lib/munin/.mailrc <<EOF
- set smtp-use-starttls
- set ssl-verify=ignore
- set smtp=smtp://${SMTP_HOST}:${SMTP_PORT}
- set smtp-auth=login
- set smtp-auth-user=${SMTP_USERNAME}
- set smtp-auth-password=${SMTP_PASSWORD}
+truncate -s 0 "${MAIL_CONF_PATH}"
+
+if [ "${SMTP_USE_TLS}" = true ] ; then
+ cat >> "${MAIL_CONF_PATH}" <<EOF
+set smtp-use-starttls
+set ssl-verify=ignore
+EOF
+fi
+
+if [ -n "${SMTP_HOST}" -a -n "${SMTP_PORT}" ] ; then
+ cat >> "${MAIL_CONF_PATH}" <<EOF
+set smtp=smtp://${SMTP_HOST}:${SMTP_PORT}
+EOF
+fi
+
+if [ -n "${SMTP_USERNAME}" -a -n "${SMTP_PASSWORD}" ] ; then
+ cat >> "${MAIL_CONF_PATH}" <<EOF
+set smtp-auth=login
+set smtp-auth-user=${SMTP_USERNAME}
+set smtp-auth-password=${SMTP_PASSWORD}
EOF
fi
grep -q 'contact.mail' /etc/munin/munin.conf; rc=$?
if [ $rc -ne 0 -a -n "${ALERT_RECIPIENT}" -a -n "${ALERT_SENDER}" ] ; then
echo "Setup alert email from ${ALERT_SENDER} to ${ALERT_RECIPIENT}"
- echo 'contact.mail.command mail -r '${ALERT_SENDER}' -s "[${var:group};${var:host}] -> ${var:graph_title} -> warnings: ${loop<,>:wfields ${var:label}=${var:value}} / criticals: ${loop<,>:cfields ${var:label}=${var:value}}"' ${ALERT_RECIPIENT} >> /etc/munin/munin.conf
+ echo "contact.mail.command mail -r ${ALERT_SENDER} -s '${SMTP_MESSAGE}' ${ALERT_RECIPIENT}" >> /etc/munin/munin.conf
+ if [ "${SMTP_ALWAYS_SEND}" = true ] ; then
+ echo 'contact.mail.always_send warning critical' >> /etc/munin/munin.conf
+ fi
fi
[ -e /etc/munin/htpasswd.users ] || htpasswd -b -c /etc/munin/htpasswd.users "$MUNIN_USER" "$MUNIN_PASSWORD"