Apache (Windows)

This template retrieves Apache server statistics from the built-in Apache server-status web page using PowerShell script.

The February 9, 2018 version includes process monitor updates for SolarWinds SAM.

Prerequisite:

  • Access to the Apache server-status page.

Configuring Apache to allow access to the server-status page:

  1. Log on to your Apache Windows server.
  2. Locate the Apache configuration file, typically in httpd.conf.
  3. Append the following lines to your httpd.conf. You should allow access to server-page for your domain (.example.com):

<Location /server-status>
SetHandler server-status
Order Deny,Allow
Deny from all
Allow from APM_host
</Location>
ExtendedStatus On

where APM_host – IP address or hostname of Orion server.

     4. Ensure that following line is uncommented and present in the httpd.conf file:

        LoadModule status_module modules/mod_status.so

     5. Restart the Apache server.

Credentials: Administrator on the SolarWinds server (all monitors run locally).

Note: Before using this template, the correct arguments should be set in all monitors. All monitors require the following arguments:
     server,server_port
    
where
         
server – This is the hostname or IP address of the target Apache server. You should set this argument to ${IP} which automatically replaces this argument with the target host IP address.
         
server_port - This is the Apache port under which the site is running. By default it set to port 80.

Below is an example using the Scripts Arguments field:
     ${IP},8080

Monitored Components

Server Uptime

This counter returns the time, in seconds, that the server has been up.

Idle Workers

This counter returns the number of free workers ready to handle client connections. This value should be as high as possible. If you have no idle workers, or very few, Apache may be using all of the processes it is allowed and new, incoming requests must wait for older requests to finish before they can be handled. If this is the case, increasing the maximum number of allowed processes in your configuration file might help with performance.

Total Accesses

This counter returns the total number of accesses.

Total Traffic

This counter returns the total number of kilobytes this server has served.

Server Requests Per Second

This counter returns the average rate of all requests per second. The result is calculated as the total number of requests throughout the life of the server (count) and divided by the total uptime in seconds (up_time).

Server kB Per Second

This counter returns the average rate of kilobytes served per second..

Server kB Per Request

This counter returns the average number of kilobytes per request.

Busy Workers

This counter returns the number of busy workers serving requests. This counter should be as low as possible.

  • I had issues with the following not populating.

    Uptime:

    Total Accesses:

    Total kBytes:

    Resolved by changing this line

    if ($_ -match "Uptime:") {

    to

    if ($_ -match "Uptime: ") {

    Just a space after the colon. unsure why as the other checks are formed exactly the same but if you're having issues with those 3 checks, try that.