Docs » Integrations Guide » Integrations Reference » Apache

image0 Apache

Metadata associated with the Apache collectd plugin can be found here. The relevant code for the plugin can be found here.

DESCRIPTION

The Apache plugin for collectd monitors Apache Webserver using the information provided in the module mod_status.

FEATURES

Built-in dashboards

  • Apache Web Servers: Overview of data from all Apache webserver instances.

image1

  • Apache Web Server: Focus on a single Apache webserver instance.

image2

REQUIREMENTS AND DEPENDENCIES

This plugin collects metrics from the module mod_status.

Version information

Software Version
collectd 3.9 or later

INSTALLATION

If you are using the new Smart Agent, see the docs for thecollectd/apachemonitor for more information. The configuration documentation below may be helpful as well, but consult the Smart Agent repo’s docs for the exact schema.

  1. Enable the mod_status module in your Apache server.

  2. Add the following configuration to your Apache server:

    ExtendedStatus on
    <Location /mod_status>
    SetHandler server-status
    </Location>
    
  3. Restart Apache.

  4. Install the plugin:

    • On RHEL/CentOS and Amazon Linux systems, run the following command to install this plugin:

      yum install collectd-apache
      
    • On Ubuntu and Debian systems, this plugin is included by default with the SignalFx collectd agent.

  5. Download SignalFx’s sample configuration file for this plugin to /etc/collectd/managed_config.

  6. Modify the sample configuration file to provide values that make sense for your environment, as described in Configuration below.

  7. Restart collectd.

CONFIGURATION

Using the example configuration file 10-apache.conf as a guide, provide values for the configuration options listed below that make sense for your environment.

configuration option definition example value
Instance The name of the server to be monitored. This value appears in the dimension plugin_instance. myapacheinstance
URL The location at which collectd can retrieve output of mod_status. http://localhost/mod_status?auto

Note: Make sure that the URL you provide for your mod_status module ends in ?auto. This returns the status page as text/plain, which this plugin requires.

USAGE

Apache worker threads can be in one of the following states:

State Remark
Open Open (unused) slot - no process
Waiting Idle and waiting for request
Sending Serving response
KeepAlive Kept alive for possible next request
Idle_cleanup Idle and marked for cleanup
Closing Closing connection
Logging Writing to log file
Reading Reading request
Finishing Finishing as part of graceful shutdown
Starting Starting up to serve

Sample of built-in dashboard in SignalFx:

image3

METRICS

Below is a list of all metrics.

Metric Name Brief Type
apache_bytes Bytes served by Apache cumulative_counter
apache_connections Connections served by Apache gauge
apache_idle_workers Apache workers that are idle gauge
apache_requests Requests served by Apache cumulative_counter
apache_scoreboard.closing Number of workers in the process of closing connections gauge
apache_scoreboard.dnslookup Number of workers performing DNS lookup gauge
apache_scoreboard.finishing Number of workers that are finishing gauge
apache_scoreboard.idle_cleanup Number of idle threads ready for cleanup gauge
apache_scoreboard.keepalive Number of keep-alive connections gauge
apache_scoreboard.logging Number of workers writing to log file gauge
apache_scoreboard.open Number of worker thread slots that are open gauge
apache_scoreboard.reading Number of workers reading requests gauge
apache_scoreboard.sending Number of workers sending responses gauge
apache_scoreboard.starting Number of workers starting up gauge
apache_scoreboard.waiting Number of workers waiting for requests gauge

apache_bytes

cumulative_counter

Amount of data served by Apache, in bytes.

apache_connections

gauge

The number of connections that are being served by Apache. This is also equal to the number of busy worker threads, where ‘busy’ means any worker thread which has been started successfully and is not slated for idle cleanup.

apache_idle_workers

gauge

The number of Apache workers that are idling.

If this number is consistently low, then your server may be too busy and you may have to increase the number of threads. If it is consistently high, then the system may be under-utilized.

apache_requests

cumulative_counter

The number of requests that have been served by Apache. This metric is useful to know total requests and the rate at which Apache is able to serve them.

apache_scoreboard.closing

gauge

This metric shows how many worker threads are in the process of closing TCP connections after serving a response. If this number is consistently high, then there might be a network issue or errant client preventing TCP tear-down.

apache_scoreboard.dnslookup

gauge

This metric counts the number of worker threads that are performing a DNS lookup. If this number is too high, check if there is a DNS resolution problem at your server. This can affect Apache server performance.

apache_scoreboard.finishing

gauge

The number of worker threads that are finishing as part of graceful server shutdown.

apache_scoreboard.idle_cleanup

gauge

The number of worker threads that are idle and ready for clean-up.

apache_scoreboard.keepalive

gauge

The number of worker threads that are maintaining keep-alive connections: keeping the connection “alive” after serving a response, in the expectation that another HTTP request will come on the same connection. At the end of the keep-alive interval, the connection is closed.

apache_scoreboard.logging

gauge

This metric shows how many worker threads are busy writing to the log file. If this number is consistently high, your logging level may be too high or one or more modules may be too verbose.

apache_scoreboard.open

gauge

This metric shows how many worker slots are open. The slots do not have a worker thread yet, but they can be spun up based on incoming requests.

apache_scoreboard.reading

gauge

This metric shows how many workers are in the process of receiving requests (headers or body). If this number is consistently high, clients may be sending large headers or uploading large files.

apache_scoreboard.sending

gauge

This metric shows how many workers are sending responses. It is normal for this to be a large number when measuring sites that serve large downloads.

apache_scoreboard.starting

gauge

This metric shows how many workers are being started up. If this number is consistently high, then the system may be overloaded.

apache_scoreboard.waiting

gauge

This metric shows how many worker threads are ready and waiting for requests to come in.