How to provide robust monitoring to low-end systems.
When running a critical system, it’s necessary to know what resources
the system is consuming, to be alerted when resource utilization reaches a
specific level and to trend long-term performance. Zabbix and Nagios are
two large-scale solutions that monitor, alert and trend system performance,
and they each provide a rich user interface. Due to the requirements of those
solutions, however, dedicated hardware/VM resources typically are required to host
the monitoring solution. For smaller server implementations, options
exist for providing basic monitoring, alerting and trending functionality.
This article shows how to accomplish basic and custom monitoring and
alerting using Monit. It also covers how to monitor long-term trending of system performance
Initial Monit Configuration
On many popular Linux distros, you can install Monit from the associated
software repository. Once installed, you can handle all the configuration
with the monitrc configuration file. That file generally is located within
the /etc directory structure, but the exact location varies based
on your distribution.
The config file has two sections:
Global and Services. The Global section allows for custom configuration
of the Monit application. The Monit service contains a web-based front
end that is fully configurable through the config file. Although the section
is commented out by default, you can uncomment items selectively for
granular customization. The web configuration block looks like this:
set httpd port 2812 and use address localhost allow localhost allow admin:monit
The first line sets the port number where you can access Monit
via web browser. The second line sets the hostname (the HTTP
Host header) that’s used to access Monit. The third line sets the
host from which the Monit application can be accessed. Note that you also
can do this using a local firewall access restriction if a
firewall is currently in place. The fourth line allows the configuration
of a user name/password pair for use when accessing Monit. There’s
also a section that allows SSL options for encrypted connections to Monit.
Although enabling SSL is recommended when passing authentication data, you
also could reverse-proxy Monit through an existing
web server, such as nginx or Apache, provided SSL is already configured
on the web server. For more information on reverse-proxying Monit
through Apache, see the Resources section at the end of this article.
The next items you need to enable deal with configuring
email alerts. To set up the email server through which email will be
relayed to the recipient, add or enable the following line:
via Linux Journal – The Original Magazine of the Linux Community