How to Monitor Apache Performance Using mod_status in Ubuntu

While you can always have a peek at Apache log files to get information about your webserver such as active connections, you can get a very detailed overview of your web server’s performance by enabling the mod_status module.

What is the mod_status module?

The mod_status module is an Apache module that allows users to access highly detailed information about Apache’s performance on a plain HTML page. In fact, Apache maintains its own server status page for general public viewing.

You can view status for Apache (Ubuntu) by heading over to the address below:

Check Apache Performance Status
Check Apache Performance Status

The Apache mod_status makes it possible to serve a plain HTML page containing information such as:

  • Server version
  • Current day and time in UTC
  • Server Uptime
  • Server load
  • Total traffic
  • Total number of incoming requests
  • The webserver’s CPU usage
  • PIDs with the respective clients and so much more.

Let’s now shift gears and see how you can get up-to-date statistics about Apache web server.

Testing Environment

Operating System: 	Ubuntu 20.04
Application:            Apache HTTP server
Version:                2.4.41
IP address:             34.123.9.111
Document root:          /var/www/html

Enable mod_status in Apache Ubuntu

By default, Apache ships with the mod_status module already enabled. You can verify this by checking the mods_enabled directory by running ls command as shown:

$ ls /etc/apache2/mods-enabled
Check mod_status Module in Apache Ubuntu
Check mod_status Module in Apache Ubuntu

Ensure that the status.conf and status.load files are present. If not, you need to enable mod_status module by invoking the command:

$ sudo /usr/sbin/a2enmod status

Configure mod_status in Apache Ubuntu

As stated earlier, the mod_status is already enabled. However, additional tweaks are required for you to access the server-status page. To do so, you need to modify the status.conf file.

$ sudo vim /etc/apache2/mods-enabled/status.conf 

Set the Require ip directive to reflect the IP address of the machine that you will be accessing the server from.

Configure mod_status Module in Apache Ubuntu
Configure mod_status Module in Apache Ubuntu

Save the changes and restart Apache for the changes to take effect to confirm the status as shown:

$ sudo systemctl restart apache2

Then verify the status of Apache and ensure it up and running.

$ sudo systemctl status apache2
Check Apache Status in Ubuntu
Check Apache Status in Ubuntu

Thereafter, browse the web server’s URL as shown.

http://server-ip/server-status

You will get a status HTML page displaying a host of Apache’s information and an array of statistics as shown.

Monitor Apache Ubuntu Performance
Monitor Apache Ubuntu Performance

NOTE: To have the page refresh after every a given time interval, for example, 5 seconds, append the “?refresh=5” at the end of the URL.

http://server-ip/server-status?refresh=5

This provides a better monitoring capacity of your server’s performance than the plain static HTML page earlier on.

That’s all for now about the mod_status module. Stay Tuned to Tecmint for so much more.

If you liked this article, then do subscribe to email alerts for Linux tutorials. If you have any questions or doubts? do ask for help in the comments section.

If You Appreciate What We Do Here On TecMint, You Should Consider:

TecMint is the fastest growing and most trusted community site for any kind of Linux Articles, Guides and Books on the web. Millions of people visit TecMint! to search or browse the thousands of published articles available FREELY to all.

If you like what you are reading, please consider buying us a coffee ( or 2 ) as a token of appreciation.

Support Us

We are thankful for your never ending support.

5 thoughts on “How to Monitor Apache Performance Using mod_status in Ubuntu”

  1. Thank you for the tutorial.

    I followed your steps and got the status page in text mode, like the last picture of the article.

    What is the graphical interface like the one in the first picture?

    Reply
    • Text on the bottom.

      I managed to get the graphical display following instructions on https://github.com/Humbedooh/server-status

      For Ubuntu:

      First, you need to enable Lua module.

      $ sudo a2enmod lua
      

      Download server-status.lua from the Github link above and save it somewhere.

      Then edit /etc/apache2/mods-enabled/status.conf and add somewhere (I added it just below “require local“)

      LuaMapHandler ^/server-status$ /path/to/server-status.lua
      

      Finally restart Apache.

      Reply
    • Hey Luis, The first screenshot is the status page for Apache’s site -apache.org. For the guide, I was using a Ubuntu VM whose server status is illustrated in the last image.

      Reply

Got something to say? Join the discussion.

Have a question or suggestion? Please leave a comment to start the discussion. Please keep in mind that all comments are moderated and your email address will NOT be published.

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