Plans for the next release


Introduction:

This document is a draft for the next major release of monit, monit 4.0. Each feature item is listed with the responsible for the implementation, the current progress (the color will go from blue to green) and how we judge the importance of this feature (high, medium, low).

Items marked with a low importance will probably not make it into the release. If you would like to change anything or add stuff to the list join the mailing lists and let us know.

Feature list:


  1. Monitoring file systems and devices.

    Monitoring of file/storage systems.

    Statements:
    CHECK [PROCESS] name options,...
    CHECK [FILE|DIRECTORY|DEVICE] PATH options,...
    
    
    Control file examples:
    
    # Optionally prefix the current check statement
    # with a process tag
    check process sshd with pidfile "/var/run/sshd.pid"
      start "/etc/init.d/sshd start"
      [...]
    
    
    check device /dev/hda1
     if used > 100Gb then alert martin or
     if available < 100Mb then alert martin
     if available < 1000inodes then alert martin
     # In case the device is not there anymore
     if error then alert martin
    
    check directory /foo/directory
     if size > 100Mb then alert martin
     # If the directory was deleted
     if deleted then alert security@bar
    
    check file /foo/bar/file 
     if size > 10Mb then alert hauk
     if deleted then alert security@bar
    
    

    Responsible:Martin
    Progress: 10%
    Importance:HIGH

  2. Execute programs via the alert statement.

    This functionality will allow you to start any program in an alert statement, like so:

     alert "/usr/bin/snpp -m "Monit: $EVENT for $PROGRAM on $HOST" rladams" 
    
    and because the alert statement is associated with events you may even be more specific, like so:
     alert "/bin/program" on { checksum }
    
    This version of the alert statement is going to be a "fire-and-forget" operation. That is, you cannot check the return value from the script and do stuff like this
     if alert "myprogram" > 0 then
       do stuff
     else
       do other stuff
    
    Never the less we think this will cover most of the need for calling programs outside monit without implementing a regular pluggin architecture, which we really do not want to implement.

    Responsible:Jan-Henrik
    Progress: 0%
    Importance:HIGH