Apache HTTP Server Metrics

Use This InfluxDB Integration for Free

Apache HTTP Server Project is an open source HTTP server for popular operating systems including UNIX, Linux, and Windows, and is used to serve web content through the Internet. Often referred to simply as "Apache", it was released under the terms of the Apache License 2.0.

Originally released in 1995, it became the most popular and widely used HTTP client on the Internet soon after its release. It's important to note that even though it is called a web server, it isn't actually a physical server. Instead, it's a piece of software that runs on a server. Its major job is to create a connection between a server and the browsers of visitors to a website, regardless of whether they're using something like Mozilla's Firefox, Google Chrome, Safari or others. It also delivers files back and forth between the server and those browsers, something that is known formally as a client-server structure.

Why use a Telegraf plugin for Apache HTTP Server?

One of the major reasons to use a Telegraf plugin for Apache HTTP Server is because Apache itself is part of a collection of components referred to as a "stack." The most well-known stack containing Apache is called the LAMP Stack, which itself stands for "Linux, Apache, MySQL, PHP." Each of these four components needs to handle different operations relating to a web application and because of that, you need to not only monitor each component but also how they work together. All of this is in service of the most important benefit of all: creating a rock-solid user experience for the application itself.

Apache is also notable in that it uses TCP/IP to communicate back and forth over the network from client to server, all while delivering files to serve up the important content being requested by visitors. The most commonly used protocol to accomplish this is HTTP or HTTP/S, and the Apache server is responsible for the communication between those two machines. This, too, is important to proactively monitor because if this connection breaks down, users won't be able to access the content they were after in the first place.

How to monitor Apache HTTP Server using the Telegraf plugin

The Apache HTTP Server Telegraf plugin collects server performance information using the mod_status module of the Apache HTTP server. Typically, the mod_status module is configured to expose a page at the /server-status?auto location of the Apache server. The ExtendedStatus option, which tracks additional data per worker about the currently executing request and creates a utilization summary, must be enabled in order to collect all available fields. Thankfully, the process of configuring your server reference is very straightforward. All you have to do is use the following command to then be able to access server statistics using a web browser:

<Location "/server-status">
    SetHandler server-status
    Require host example.com
</Location>

Key Apache HTTP Server metrics to use for monitoring

Just a few of the important Apache HTTP Server metrics that you should proactively monitor using the Telegraf plugin include:

  • Metrics related to the operation of Apache itself, like:
    • BusyWorkers (float)
    • BytesPerReq (float)
    • BytesPerSec (float)
    • ConnsAsyncClosing (float)
    • ConnsAsyncKeepAlive (float)
    • ConnsAsyncWriting (float)
    • ConnsTotal (float)
    • CPUChildrenSystem (float)
    • CPUChildrenUser (float)
    • CPULoad (float)
    • CPUSystem (float)
    • CPUUser (float)
    • IdleWorkers (float)
    • Load1 (float)
    • Load5 (float)
    • Load15 (float)
    • ParentServerConfigGeneration (float)
    • ParentServerMPMGeneration (float)
    • ReqPerSec (float)
    • ServerUptimeSeconds (float)
    • TotalAccesses (float)
    • TotalkBytes (float)
    • Uptime (float)
  • Metrics that represent the total number of requests being handled in a given state:
    • scboard_closing (float)
    • scboard_dnslookup (float)
    • scboard_finishing (float)
    • scboard_idle_cleanup (float)
    • scboard_keepalive (float)
    • scboard_logging (float)
    • scboard_open (float)
    • scboard_reading (float)
    • scboard_sending (float)
    • scboard_starting (float)
    • scboard_waiting (float)
  • Information related to the tags that all measurements contain, like:
    • Port
    • server

Note that in reference to the metrics related to the number of requests in a given state, all of those fields are collected via the plugin's Scoreboard.

For more information, please check out the documentation.

Project URL    Documentation

Related resources

InfluxDb-cloud-logo

The most powerful time series
database as a service

Get Started for Free
Influxdbu

Developer Education

Training for time series app developers.

View All Education