Apache monitoring with Netdata

What is Apache?

The Apache HTTP Server (Apache HTTPd) is one of the most popular open source web servers available. HTTPd was also the first project developed by the Apache Software foundation which now supports hundreds of well known projects including Kafka, Cassandra and Hadoop.

Netdata has a public demo space where you can explore different monitoring use-cases. Check out the Apache demo room to explore and interact with the charts and metrics described here.

For more information on monitoring web servers, do visit our blog

Monitoring Apache with Netdata

The prerequisites for monitoring Apache with Netdata are to have one or more Apache web server running with mod_status enabled and of course that you have Netdata installed on your system.

The only configuration you need to do in Netdata to start monitoring your Apache server, is to add the web server’s server-status?auto in go.d/apache.conf which can typically be found in /etc/netdata.

Here is an example:

jobs:
  - name: local
    url: http://127.0.0.1/server-status?auto

You should now see the Apache section on the Overview tab in Netdata Cloud that’s already populated with charts about all the metrics you care about!

For more information please read the Apache collector documentation.

What Apache metrics are important to monitor - and why?

Netdata’s Apache summary dashboard helps you get a quick grasp of how your web server is doing in a single glance. The current values for requests, connections, bandwidth and worker utilization are shown here by default and hovering over the time series charts will update the summary charts to reflect the values of these metrics at that point in time.

image

Requests

The rate of requests received per second is an important metric to monitor. A sudden and substantial increase in the rate of requests is definitely worth digging deeper into. It could be indicative of, for example, a DoS (Denial of Service) attack. Even if the traffic is not malicious in nature you might still need to make changes to ensure your infrastructure is ready to handle the extra load. A significant decrease in the rate of requests could also point to problems that need troubleshooting.

image

Connections

The total active connections that Apache is handling per second is indicated by the following chart.

image

While the asynchronous connections - along with information on what state they are currently in (Closing, Keep alive, Writing) are represented in a separate chart. This chart is only applicable to the Apache event MPM (Multi Processing Module).

image

The Apache Scoreboard is a very useful chart if you are trying to troubleshoot issues with your web server. The traditional view of the scoreboard looks like this:

image

In Netdata, the scoreboard is represented as a helpful chart and you don’t need to worry about remembering all of the acronyms.

image

Bandwidth

The bandwidth handled by the Apache server (measured in megabits per second) is another important metric that helps you understand the load your server is currently handling.

image

Workers

Worker resources are important to monitor as this tells you which resources are over and under utilized.

The worker threads chart represents worker utilization.

A worker thread that is in any of the following states is considered busy:

A worker thread not in any of the states mentioned above is considered idle.

A consistently large number of idle workers (as seen in the example chart here) indicates that more threads are in use than are necessary for the current traffic levels and load. This will lead to unnecessary utilization of system resources and you may consider lowering the MinSpareThreads configuration parameter.

If however you only have a very small number of idle workers consistently this could lead to slowing down your server and requests getting queued up when the MaxRequestWorkers limit is hit. Increasing the MaxRequestWorkers can help with this scenario but be mindful that each extra worker thread requires extra system resources.

image

Statistics

The statistics charts measure lifetime averages - averages of metrics over the lifetime of the Apache server being up and operational.

The first chart shows the lifetime average of requests per second - notice that this is significantly different from the first chart we mentioned (rate of requests). Occasional spikes and dips may not register on this lifetime average chart but it is still very useful for understanding longer term trends of resource utilization.

image

The next couple of charts show the lifetime average of, bytes served and response size. Both of these metrics can also be useful information to understand how the server is performing for the current use-case and is valuable in terms of designing potential upgrades to the server.

image image

Availability (Uptime)

The uptime of the Apache server is monitored by this chart and helps you quickly get an idea if the server had any downtime.

image

Get Netdata

Sign up for free

Want to see a demonstration of Netdata for multiple use cases?

Go to Live Demo