Monit is a small Open Source utility for managing and monitoring Unix systems. Monit conducts automatic maintenance and repair and can execute meaningful causal actions in error situations.

Monit 5.8 Downloads

See the release notes for changes in this version

Source code
Binaries
Git Repository

Download Precompiled Binaries

Monit is built with OpenSSL 1.0.1g static linked and PAM support dynamic linked

Monit Distributions

Most Unix distributions include Monit. Please consult with your package manager. Also check that they have a recent Monit version

BSD

Both FreeBSD and OpenBSD include Monit packages.

Linux

Many Linux distributions include Monit. From .deb to .rpm packages

Other Platforms

Packages for both OS X and Solaris .pkg exist.

What Monit can do

Proactive

Monit can act if an error situation should occur, e.g.; if sendmail is not running, Monit can start sendmail again automatically or if apache is using too much resources (e.g. if a DoS attack is in progress) Monit can stop or restart apache and send you an alert message. Monit can also monitor process characteristics, such as; how much memory or cpu cycles a process is using.

Processes

You can use Monit to monitor daemon processes or similar programs running on localhost. Monit is particular useful for monitoring daemon processes, such as those started at system boot time from /etc/init/ For instance sendmail, sshd, apache and mysql.

Files, Dirs and Filesystems

You can also use Monit to monitor files, directories and filesystems on localhost. Monit can monitor these items for changes, such as timestamps changes, checksum changes or size changes. This is also useful for security reasons - you can monitor the md5 or sha1 checksum of files that should not change and get an alert or perform an action if they should change.

Cloud and Hosts

Monitor network connections to various servers, either on localhost or on remote hosts. TCP, UDP and Unix Domain Sockets are supported. Network test can be performed on a protocol level; Monit has built-in tests for the main Internet protocols, such as HTTP, SMTP etc. Even if a protocol is not supported you can still test the server as you can configure Monit to send any data and test the response from the server.

Programs and scripts

Monit can be used to test programs or scripts at certain times, much like cron, but in addition, you can test the exit value of a program and perform an action or send an alert if the exit value indicates an error. This means that you can use Monit to perform any type of check you can write a script for.

System

Finally, Monit can be used to monitor general system resources on localhost such as overall CPU usage, Memory and Load Average.

Design philosophy

It is important for a system monitoring tool to just work - all the time, and you should be able to trust it to do so. A system monitoring tool need to be non-intrusive and you should be able to forget about it once it's installed. That is, until sshd dies on your hosted server. When this happens, it is good to know that you have installed this extra layer of security and protection, just wait a few seconds and Monit will restart the sshd daemon. It is also helpful to get an email alert before the server disks are full or if your http server suddenly is under a DDoS attack.

Monit is designed as an autonomous system and does not depend on plugins nor any special libraries to run. Instead it works right out of the box and can utilize existing infrastructure already on your system. For instance, Monit will easily integrate with init, upstart or systemd and can use existing run-level scripts to manage services.

Monit compiles and run on most flavors of Unix. It is a small program and weights in at just under 500kB. There is support for compiling with glibc replacements such as uClibc if you need it to be even smaller.

Documentation

For a quick and easy introduction to Monit, please see the slider presentation above. Use your keyboard arrows to navigate the slider or swipe on mobile.

Manual

The latest version of the Monit manual. The manual is also distributed together with Monit as a man file.

FAQ and HOWTO

The FAQ and a list of HOWTOs can be found in the Monit Wiki

Monit Screenshots

Monit has built-in a lightweight HTTP(S) interface you can use to browse the Monit server and check the status of all monitored services. From the web-interface you can start, stop and restart processes and disable or enable monitoring of services.

Click the image to launch the screenshot gallery and use your keyboard arrows to navigate or click left or right on the image. Press ESC or click outside the image to stop.

Community Services

Monit is an Open Source project and you are welcome to contribute

Mailing List

If you have questions or comments about the Monit software or documentation please subscribe to the Monit general mailing list and post your questions there. You can also look in the mailing list archive for answers.

Announcements

You can subscribe to Monitʼs announcement mailing list to be the first to hear about new releases and important information about Monit. The mailing list is read-only with very low traffic.

Contributing

You are welcome to contribute to this project. A good place to start is to take a look at our open issues. Please read the contributing guidelines before working on a patch.

Reporting a bug

If you believe you have found a bug, please use the issue tracker to report the problem. Remember to include the necessary information that will enable us to understand and reproduce this problem.

Wiki

The Monit Wiki is where user stories, tips and tricks and how-to articles can be found. The FAQ can also be found there.

Acknowledgments

Thanks to the Free Software Foundation (FSF) for hosting the Monit mailing lists and to Atlassian for hosting our code repository.

Open Source

Monit is free software; you can redistribute it and/or modify it under the terms of the GNU Affero General Public License (AGPL). The license only applies if you plan to distribute Monit to third parties. In that case, our hope and the reason we use AGPL is that any modification done to Monit can be contributed back so others can benefit. Otherwise, you can do whatever you want with Monit without any restrictions.

Manage all your Monit servers with M/Monit

Use M/Monit to manage all your Monit servers. M/Monit expand on Monit's capabilities and provides monitoring and management of all your Monit enabled hosts via a modern, clean and well designed user interface which also works on mobile devices.

TRY IT NOW