Projects / Monit


Monit is a utility for managing and monitoring processes, programs, files, directories, and devices on a Unix system. It conducts automatic maintenance and repair and can execute meaningful causal actions in error situations. It can be used to monitor files, directories, and devices for changes, such as timestamps changes, checksum changes, or size changes. It is controlled via an easy to configure control file based on a free-format, token-oriented syntax. It logs to syslog or to its own log file and notifies users about error conditions via customizable alert messages. It can perform various TCP/IP network checks, protocol checks, and can utilize SSL for such checks. It provides an HTTP(S) interface for access.

Operating Systems

Recent releases

  •  12 May 2014 16:44

    Release Notes: This is a bugfix release.

    •  27 Mar 2014 20:58

      Release Notes: This is a feature and bugfix release.

      •  24 Feb 2014 23:26

        Release Notes: This is a feature and bugfix release.

        •  03 Sep 2013 16:48

          Release Notes: This is a feature and bugfix release.

          •  04 Jun 2013 17:54

            Release Notes: This is a bugfix release.

            Recent comments

            22 Apr 2005 07:19 zettainet

            monit reports cpu usage incorrectly on FreeBSD 4 SMP
            monit is unable to correctly get the CPU usage of processes on a FreeBSD 4 SMP system. On one that has 2 logical CPU's the CPU usage reported by monit is half of the actual usage. On another one that has 4 logical CPU's the usage reported by monit is between 1/4 and 1/3 of the actual number.

            Also it does not work in FreeBSD Jails. The error points to process.c IIRC, an ASSERT error. Just an FYI i should not expect it to work ok in a jail...

            14 Feb 2004 02:28 gvy

            Re: Something simpler?

            (PS: init is great as monit's big brother. :)

            27 Oct 2003 16:43 aldem

            init-like process spawning and a bit more
            It would be nice to have a possibility to spawn non-daemons as well - exactly like init does.

            Sometimes this is useful - and there is no need to specifically monitor pid files or something like this.

            Also, this would allow use of monit as a replacement for init (and daemontools as well).

            The dependency on "cycles" is not always good thing, i.e. there is no clean way to define intervals in "if N restarts N..." statement - it would be nice to have something like "if N restart within T minutes/seconds/etc...".

            Optionally, would be nice to have custom actions for serveral levels of failures, i.e. - what to do on 1st failure, what to do on 2nd etc. failure (say, 1st time the service may be silently restarted, 2nd-5th - restarted and warning will be sent, 6th failure - a warning is sent and the service is stopped.

            Want more ideas? :)

            20 Apr 2002 14:47 samjam

            Something simpler?
            This looks good and comprehensive.

            Those who want something simpler might do well to consider "init" (runs as process 0) and use of "inittab".

            It doesn't do much of what this does, but it is often overlooked, esp. its ability to restart programmes when they finish.


            Project Spotlight


            A Fluent OpenStack client API for Java.


            Project Spotlight

            TurnKey TWiki Appliance

            A TWiki appliance that is easy to use and lightweight.