Monit is an open source utility that provides several system monitoring functionality that are extremely helpful to sysadmins. This article provides a jumpstart guide on monit installation and configuration. We also discuss a specific example related to processes monitoring.
1. Install monit
On Fedora, openSUSE, Debian install monit as a package from the distribution repository. For example, on Debian (and Ubuntu), install monit using apt-get as shown below.
# apt-get install monit
If your distribution don’t have the monit package, download monit source and install it.
2. Configure monit
A sample process monitoring entry in the monit configuration file /etc/monit/monitrc looks like the following.
check process PROCESSNAME
with pidfile PIDFILENAME-WITHABSOLUTE-PATH
start = STARTUP-SCRIPT
stop = STOP-SCRIPT
For example, to monitor the cron daemon, append the following lines to the monitrc file.
# vim /etc/monit/monitrc
check process crond
with pidfile /var/run/crond.pid
start = "/etc/init.d/cron start"
stop = "/etc/init.d/cron stop"
For further configurations (for example, restarting a process when it crosses a memory or process limit), refer the HOW TO MONITOR section in “man monit”.
Also, enable syslog by uncommenting the following line in /etc/monit/monitrc.
# vim /etc/monit/monitrc set logfile syslog facility log_daemon
3. Allow startup of monit
Edit the /etc/default/monit file and enable the start up flag, which ensures that the configuration is done so that monit can start.
# vim /etc/default/monit startup=1
4. Start monit
# /etc/init.d/monit start Starting daemon monitor: monit
5. Check monit functionality
To test this, let us kill the running cron daemon as shown below.
# ps -ef | grep cron root 2886 1 0 10:18 ? 00:00:00 /usr/sbin/cron # pkill -9 cron
In the next interval, monit automatically starts the cron daemon without the administrator interaction as shown in the syslog messages below.
Dec 5 13:06:55 (none) monit[2968]: 'crond' process is not running Dec 5 13:06:55 (none) monit[2968]: 'crond' trying to restart Dec 5 13:06:55 (none) monit[2968]: 'crond' start: /etc/init.d/cron
Do a ps -ef to make sure the cron job is started automatically by monit, when you killed it.
# ps -ef | grep cron root 19728 1 0 13:06 ? 00:00:00 /usr/sbin/cron
If you enjoyed this article, you might also like..
|
|
|
|











My name is Ramesh Natarajan. I will be posting instruction guides, how-to, troubleshooting tips and tricks on Linux, database, hardware, security and web. My focus is to write articles that will either teach you or help you resolve a problem. Read more about
{ 3 comments… read them below or add one }
URL is wrong? I don’t think its the same program.
Monit is at http://mmonit.com/monit
@chmurli,
M/monit and monit are related products. Both are hosted on the same website. If you have monit installed on multiple servers, you can use M/monit to monitor those servers from a web UI.
@Michael,
Thanks. I’ve updated the URL.