====== Monit ======
[[https://mmonit.com/monit/documentation/monit.html|Manual]]
===== Syntax =====
==== external hosts ====
check host example address example.org
if failed port 22 protocol ssh then alert
if failed host cloud.example.org port 80 protocol http then alert
===== Templates =====
==== Samba ====
# Monit SMB Server Monitoring
check process Samba with pidfile "/var/run/samba/smbd.pid"
start program = "/etc/init.d/smbd start"
stop program = "/etc/init.d/smbd stop"
if failed host 127.0.0.1 port 139 type tcp for 2 cycles then restart
if 2 restarts within 3 cycles then unmonitor
==== NFS ====
# Monit NFS Server Monitoring
check process NFS with pidfile /var/run/rpc.statd.pid
start program = "/etc/init.d/nfs-kernel-server start"
stop program = "/etc/init.d/nfs-kernel-server stop"
if failed host 127.0.0.1 port 2049 type tcp for 2 cycles then restart
if 2 restarts within 3 cycles then unmonitor
==== Btrfs ====
#!/bin/bash
/bin/btrfs device stats /mnt/data | grep -vE ' 0$'
check program btrfsck_data with path /opt/scripts/btrfsck_data.sh
if status != 1 then alert