Plans for next monit releases
Introduction:
This document is a draft for next releases of monit.
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 not make it into the
nearest minor release, but maybe in a future release. If you would like to
change anything or add stuff to this feature list join the monit
mailing lists and let us know.
Feature list:
Done
Planned
Refactor the SMTP protocol implementation used to send alert messages
from monit.
- Queue mail that cannot be sent, for later retry.
- Refactor the SMTP implementation to a small state machine and
handle smtp-server returned status codes as transition points. Thus
handling error situations properly.
Responsible: | ? |
Progress: |
0% |
Importance: | HIGH |
The goal is to
move all source code into a src/ directory. After refactoring the
monit top-level directory should look like this:
CHANGES.txt contrib/ doc/ Makefile.in src/
configure* CONTRIBUTORS install-sh man/ STATUS
configure.ac COPYING LICENSE README
Responsible: | hauk |
Progress: |
0% |
Importance: | HIGH |
Add support for global alert statement. It allows to define
common recipients for all services in global section instead of
per each service. It is possible to combine present local (per
service) and new global lists. Syntax:
SET ALERT mail-address [{events}] [MAIL-FORMAT {mail-format}]
Responsible: | Martin |
Progress: |
100% |
Importance: | HIGH |
Same as Apache's ServerSignature configure
directive. Example:
set httpd port 2812 address localhost
{enable|disable} signature
....
If not defined the default is to include the monit version number in
the server HTTP header and elsewhere. If enabled the HTTP header looks
like this:
Server: monit 4.1.1
and if disabled the header looks like this:
Server: monit
And the version is not reported in any error pages.
Responsible: | Martin |
Progress: |
100% |
Importance: | MEDIUM |
Add a include statement to make it possible in monitrc to
include config statements from an external file or directory. The
rationale for this feature is to provide means to better structure a
large monit control file and add modularity. (Same as xinetd.conf(5)
include and includedir statements). Example:
# Includes this monitrc fragment
include /etc/monitrc.localhost
# include all monitrc fragments in this directory, if monit.d is a dir,
# otherwise include the file /etc/monit.d
include /etc/monit.d
Responsible: | Christian |
Progress: |
100% |
Importance: | MEDIUM |
Add document request to relevant protocol tests. Currently only the
http protocol test support a request option.
Responsible: | ? |
Progress: |
0% |
Importance: | LOW |
Allows to monitor network interfaces (for example "eth0" on linux,
"hme0" on solaris, etc.) status - functionality and throughput. In the case
that the interface will fail or the load exceeds some limit, monit
will do appropriate action.
Responsible: | ? |
Progress: |
0% |
Importance: | LOW |
Allows to watch filesystem load:
- read/write blocks per second ratio
- transactions per second ratio
- queue lengths
- response times
Responsible: | Martin |
Progress: |
0% |
Importance: | LOW |
Allows to watch cache hit ratio for inode, directory entry, buffer and similar
caches.
Responsible: | Martin |
Progress: |
0% |
Importance: | LOW |
Make monit speak Ipv6, both for network protocol
test and in the built-in web server.
Responsible: | ? |
Progress: |
0% |
Importance: | LOW |
Support for monitoring health of devices which supports S.M.A.R.T
technology. It allows you to watch for example disks and tape health,
temperature, block realloacation, number of start count, power on hours,
spin up time, etc. and allows you to detect bad device before
catastrophic failure will occure.
Responsible: | ? |
Progress: |
0% |
Importance: | LOW |
There is a lot of common
code in the process directory that can be consolidated, and there are also
a lot of differing methods used to pull out kernel data. This can also
be somewhat consolidated and simplified.
Responsible: | Rory |
Progress: |
0% |
Importance: | LOW |
|