Monitoring and alerting | Monitoring systemctl units
vim /opt/monitorSystemctl.sh
#!/bin/bash
MAIL="/opt/monitorSystemctl.mail"
FAILED=$(systemctl list-units --failed)
if [[ $FAILED == *"failed"* ]]; then
systemctl list-units --failed > $MAIL
cat $MAIL | mail -s "systemctl service(s) failed @ hangprinter" project_hangprinter@fablabchemnitz.de
else
echo "systemctl units are fine ..."
fi
vim /etc/cron.d/monitor-systemctl
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
* * * * * root /opt/monitorSystemctl.sh > /dev/null