Service Monitoring Daemon

What is "mon"?

mon is a general-purpose scheduler and alert management tool used for monitoring service availability and triggering alerts upon failure detection. mon was designed to be open and extensible in the sense that it supports arbitrary monitoring facilities and alert methods via a common interface, all of which are easily implemented with programs in C, Perl, shell, etc., SNMP traps, and special mon traps.

mon views resource monitoring as two separate tasks: the testing of a condition, and triggering an action upon failure. mon was designed to implement the testing and action-taking tasks as separate, stand-alone programs. mon is fundamentally a scheduler which executes the monitors (each test a specific condition), and calls the appropriate alerts if the monitor fails. The decision to invoke an alert is governed by logic which offers various "squelch" features and dependencies, all of which are configurable by the user.

Monitors and alerts are not a part of the core mon server, even though the distribution comes with a handful of them to get you started. This means that if a new service needs monitoring, or if a new alert is necessary, the mon server does not need to be changed. This makes mon easily extensible.


Some features that mon 0.99.2 offers.


The latest release notes and other news. Last updated Mon Jun 2 11:21:10 EDT 2003 .


Archive of user-submitted contributions (monitors, alerts, clients, etc.)


Frequently Asked Questions about mon


Mailing list information


How to submit bugs and suggest features


Monitor scripts which are included


Alert scripts which are included


An example configuration script to give you an idea of what mon can do.


Manual pages for current release


Things to come in future releases


Obtaining the current version via FTP
Please use a mirror.
The path is /pub/software/admin/mon.
Stable: 0.99.2

Development: see the latest development snapshot

Jim Trocki
Network Engineer
[email protected]

and generated with m4