Monitor with Monit

A few days ago I posted a message about creating a pid file for linbpq. So that it becomes possible to monitor the process with watchdog.

You can read that here.

Now I use Monit to display this graphically. Why, because it looks nice. Now you immediately have an overview of running processes and their status.

The configuration file that I use for this.

/etc/monit/monitrc

## Start Monit in the background (run as a daemon):
#
  set daemon 300            # check services at 5-minute intervals
  set logfile /var/log/monit.log
  set pidfile /var/run/monit.pid
  set idfile /var/lib/monit/id
  set statefile /var/lib/monit/state

  set httpd port 2812
        use address 192.168.1.168
        allow 192.168.1.0/255.255.255.0
        allow admin:pancake

  set mailserver localhost               # primary mailserver

  set eventqueue
      basedir /var/lib/monit/events # set the base directory where events will be stored
      slots 100                     # optionally limit the queue size
  set alert pd9q@packet-radio.net                      # receive all alerts

  check system $HOST
    if loadavg (1min) > 4 then alert
    if loadavg (5min) > 2 then alert
    if cpu usage > 95% for 10 cycles then alert
    if memory usage > 75% then alert
    if swap usage > 25% then alert

  check process Linbpq with pidfile /home/pd9q/linbpq/run/linbpq.pid
  if changed pid then alert
  check file bpq32.cfg with path /home/pd9q/linbpq/bpq32.cfg

  check process Direwolf with pidfile /home/pd9q/linbpq/run/direwolf.pid
  if changed pid then alert
  check file direwolf.conf with path /home/pd9q/linbpq/direwolf.conf
 check host Router with address 192.168.1.1
    if failed ping then alert

  check network Eth0 with interface eth0
    if failed link then alert
    if changed link then alert
    if saturation > 90% then alert
    if download > 10 MB/s then alert
    if total uploaded > 1 GB in last hour then alert

check host Packet-radio.net with address packet-radio.net
      if failed icmp type echo count 5 with timeout 15 seconds
         then alert
      if failed port 80 proto http then alert
      if failed port 443 type TCPSSL proto http then alert
      alert pd9q@packet-radio.net

   include /etc/monit/conf.d/*
   include /etc/monit/conf-enabled/*