Apache::VMonitor -- The Visual System and Apache Server Monitor
It's important to be able to monitor your production system's health. You want to monitor the memory and file system utilization, the system load, how much memory the processes use. Whether you aren't running out of swap space and more. All these tasks are feasible when one has an interactive (telnet/ssh/other) access to the box the web server is running on, but it's quite a mess since different Unix tools report about different parts of the system. Which means that you cannot watch the whole system at the same time and it requires lots of typing since one has to switch from one utility to another, unless many connections are open and then each terminal is dedicated to report about something specific.The Apache::VMonitor module provides even better monitoring functionality than top(1). It gives all the relevant information top(1) does, plus all the Apache specific information provided by Apache's mod_status module.
But if you are running mod_perl enabled Apache server, you are in a
good company, since it allows you to run a special module called
Apache::VMonitor which provides most of the desired reports at
Apache::VMonitor module provides even better monitoring
functionality than top(1). It gives all the relevant information
top(1) does, plus all the Apache specific information provided by
Apache's mod_status module, such as request processing time, last
request's URI, number of requests served by each child, etc. In
addition it emulates the reporting functions of the top(1), mount(1),
df(1) utilities. There is a special mode for mod_perl processes. It
has visual alerting capabilities and a configurable automatic
refresh mode. It provides a Web interface, which can be used to show
or hide all sections dynamically.
The module provides two main viewing modes:
Multi-processes and system overall status reporting mode
A Single process extensive reporting system
You need to have Apache::Scoreboard installed and configured in httpd.conf, which in turn requires mod_status to be installed. You also have to enable the extended status for mod_status, for this module to work properly. In httpd.conf add:
You also need Time::HiRes and GTop to be installed.
GToprelies in turn on
libgtoplibrary not available for all platforms. Visit http://home-of-linux.org/gnome/libgtop/ for more information.
And of course you need a running mod_perl-enabled apache server.
To enable this module you should modify a configuration in httpd.conf, if you add the following configuration:<Location /system/vmonitor> SetHandler perl-script PerlHandler Apache::VMonitor </Location>
The monitor will be displayed when you request http://localhost/system/vmonitor.
You probably want to protect this location, from unwanted visitors. If you are accessing this location from the same IP address, you can use a simple host based authentication:<Location /system/vmonitor> SetHandler perl-script PerlHandler Apache::VMonitor order deny, allow deny from all allow from 22.214.171.124 </Location>
Alternatively you may use the Basic or other authentication schemes provided by Apache and various extensions.
You can control the behavior of this module by configuring the following variables in the startup file or inside the