d
This commit is contained in:
parent
cdbb3e4a1c
commit
fe8211e2f1
2 changed files with 99 additions and 5 deletions
|
@ -25,3 +25,5 @@ munin_hosts:
|
|||
- name: "{{ ansible_fqdn }}"
|
||||
address: "127.0.0.1"
|
||||
extra: ["use_node_name yes"]
|
||||
|
||||
munin_cron_job: present
|
||||
|
|
|
@ -44,13 +44,105 @@
|
|||
owner: munin
|
||||
group: munin
|
||||
|
||||
- name: Enable or disable the munin cron job.
|
||||
lineinfile:
|
||||
dest: /etc/cron.d/munin
|
||||
state: "{{ munin_cron_job }}"
|
||||
regexp: "^\\*/5 \\* \\* \\* \\*"
|
||||
line: "*/5 * * * * munin if [ -x /usr/bin/munin-cron ]; then /usr/bin/munin-cron; fi"
|
||||
create: true
|
||||
mode: 0644
|
||||
|
||||
# TODO mail config? wie senden?
|
||||
# COPY munin_mail.conf /etc/munin/munin-conf.d/munin_mail.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
|
||||
|
||||
# cronjoib? timer? TODO
|
||||
|
||||
|
||||
# launcher
|
||||
CMD ["/usr/local/bin/run"]
|
||||
COPY run.sh /usr/local/bin/run
|
||||
chmod +x /usr/local/bin/run
|
||||
# sed -i "s/\*\/5/\*\/5/g" /etc/cron.d/munin kommt imho aus paket
|
||||
|
||||
# cronjoib? timer?
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# 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
|
||||
<html>
|
||||
<head>
|
||||
<title>Munin</title>
|
||||
</head>
|
||||
<body>
|
||||
Munin has not run yet. Please try again in a few moments.
|
||||
</body>
|
||||
</html>
|
||||
EOF
|
||||
chown -R munin: /var/cache/munin/www/index.html
|
||||
fi
|
||||
|
||||
# ensure munin folder exist and have right permission
|
||||
mkdir -p /var/lib/munin/cgi-tmp /var/cache/munin/www
|
||||
chown -R munin:munin /var/lib/munin /var/cache/munin
|
||||
chmod -R ugo+rw /var/lib/munin/cgi-tmp
|
||||
chown munin:munin /var/log/munin/munin-graph.log
|
||||
chown munin:munin /var/log/munin/munin-limits.log
|
||||
chown munin:munin /var/log/munin/munin-html.log
|
||||
|
||||
# start cron
|
||||
/usr/sbin/cron &
|
||||
|
||||
# start local munin-node
|
||||
/usr/sbin/munin-node > /dev/null 2>&1 &
|
||||
|
||||
# confirm nodes
|
||||
echo "Using the following munin nodes:"
|
||||
echo " $THISNODENAME"
|
||||
echo " $NODES"
|
||||
|
||||
# start apache
|
||||
/usr/sbin/apache2ctl start
|
||||
|
||||
# display logs
|
||||
touch /var/log/munin/munin-update.log
|
||||
chown munin:munin /var/log/munin/munin-update.log
|
||||
tail -f /var/log/munin/munin-*.log
|
||||
|
|
Loading…
Reference in a new issue