Install M / Monit monitoring system on Ubuntu 20.04

Monit is a quick setup, easy to use but effective program for monitoring server services. It can also include important basics like CPU usage, disk usage, and more. If a server service fails, it can be restarted automatically. In the event of problems, one or more recipients will be informed by email.

Originally intended for a single server, M / Monit also offers a commercial version that can monitor several servers at the same time (under one interface).

What can we monitor using Monit?

We can monitor multiple things using Monit such as Processes, resources such as overall CPU usage, Memory, and Load Average; server or machine uptime, various server applications, network connections to various network services; hard disk or a filesystem; monitor files for changes such as md5 or sha1 checksum of files, timestamp, size change, and more including folder changes.

M/Monit installation on Ubuntu Linux

Open the command terminal and simply type the below-given command. This tool package is there on Ubuntu’s repo and it doesn’t need any third-party repository help.

sudo apt-get install monit

 

Configuration File

The Monit program can be configured using the /etc/monit/monitrc file. There are numerous sample settings, some of which are commented out, which are self-explanatory, or whose comments contain help texts. We recommend that you do not make your own settings directly in this file. It is better to create a new one – nano /etc/monit/conf.d/ for the desired settings.

 

Enable m/Monit httpd port on Ubuntu

By default, the port 2812 to communicate Monit will be disabled and has to be enabled by editing its configuration file.

sudo nano /etc/monit/monitrc

Find the line: set httpd port 2812 

There remove the # tag for the following lines. Also, replace the allow and use address value from localhost to 0.0.0.0 if you want to access the Monit web interface remotely as shown in the screenshot.

You can also change the default password for the admin that is monit.

set httpd port 2812 and
use address 0.0.0.0 # only accept connection from localhost (drop if you use M/M>
allow 0.0.0.0/0 # allow localhost to connect to the server and
allow admin:monit # require user 'admin' with password 'monit'

Save the file by pressing Ctrl+X and then type – Y and hit the Enter key.

Enable Httpd port for Monit ubuntu

 

Check and load

To check configuration files is without any errors use the following command:

sudo monit -t

# If there are no errors, you will receive the following feedback:

# Control file syntax OK

Enable Monit service on Linux

By default it would not be enabled, thus to do that, run the command to enable the service to get started automatically with the system boot.

sudo /lib/systemd/systemd-sysv-install enable monit

Restart it once

sudo systemctl restart monit

 

Check Status

To know everything is working fine run-

sudo monit status

Check Monit Status on Ubuntu


Allow M/Monit port in the firewall

To access the Monit web interface outside your local host, allow its port or service in the firewall to access the public network.

sudo ufw allow 2812

 

Access Web Interface

Open browser on the local or remote system that can access the Ip-address of the server/pc where the Monit Monitor system has been installed. And point it to http://your-server-ip-address:2812

Enter username and password.

Access Monit Web Interface

Add services to Monitor in Monit

You can either create a service file for a tool to monitor or can use the pre-configured ones available in the M/Monit folder.

In the /etc/monit/conf-available/ there are several ready-made files for various common server services, the defaults of which can usually be adopted. Such as:

acpid, at, mdadm, mysql, openntpd, pdns-recursor, rsyslog, snmpd,
apache2, cron, memcached, nginx, openssh-server, postfix and smartmontools.

In order for Monit to take over the settings for the desired service, a soft link to the service file must be created and  activated in the /etc/monit/conf-enabled/.

For example:

We want to monitor Apache using its pre-configured file. Thus for that-

Syntax:

sudo ln -s /etc/monit/conf-available/service-file  /etc/monit/conf-enabled/

example for Apache :

sudo ln -s /etc/monit/conf-available/apache2 /etc/monit/conf-enabled/

To make the changes effective Monit daemon needs to be reloaded.

sudo monit reload

In the same way, we can enable other services.

Manually Add Service 

Now, if you want to add some service manually, then you have to create a file for the same. For example, you want to detect all information about your system hardware using sensors.

sudo apt install lm-sensors

sudo  nano/etc/monit/conf-available/sensors

Add:

check program sensors with path /usr/bin/sensors
if status != 0 then alert

Save the file: Ctrl+X, Y, and hit the Enter Key.

Enable it:

sudo ln -s /etc/monit/conf-available/sensors /etc/monit/conf-enabled/

Reload Monit:

sudo monit reload

 

Conclusion:

In this way, we can monitor our system using the lightweight M/Monit tool on Ubuntu Linux. To know more about it see the official documentation.

 

 

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.