====== 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