##Use Case
The Apache HTTP Server is a widely-used web server supported by the Apache Software Foundation. The Apache HTTP Server monitoring extension captures metrics from an Apache web server and displays them in the AppDynamics Metric Browser.
Metrics include:
- Availability: Percentage of time that the server has been up; graphs server up/down status over time.
- Health Check: Most recent and most severe logs, errrors, etc.
- Activity: Throughput over the last minute including requests, bytes, etc.
- Resource Utilization: Resources (threads, CPU, memory) currently in use and still available.
- Efficiency: Server optimizations to maximize throughput such as caches, etc.
In addition, it lists:
- Top Requests: Most requests by quantity and by volume, measured by number of bytes transferred.
- Top Activity: Current activity such as responding, cleaning up, logging, etc.
##Installation
-
Install Apache mod_status on your Apache instance. For more information, see Apache Module mod_status.
-
Use
curl
to verify that the URL works: http://your-apache-server:90/server-status?auto> curl http://localhost:90/server-status?auto Total kBytes: 3 Total Accesses: 3 Total kBytes: 3 Uptime: 119503 ReqPerSec: 2.5104e-5 BytesPerSec: .0257065 BytesPerReq: 1024 BusyWorkers: 1 IdleWorkers: 7 Scoreboard: __W___……………….
-
Run
ant package
. Deploy the ApacheMonitor.zip file found in 'dist' into the <machine agent home>/monitors directory.
cd /monitors/ unzip apachemon.zip
4. Setup task.properties with the correct host and port:
- host=your-apache-server
- port=90
cat /monitors/ApacheMon/task.properties
5. Restart the Machine Agent.
Output from this monitoring extension includes:
- Counter Description CPU Load: The percentage of the CPU used by Apache.
- Requests/Sec: The number of HTTP requests the web server is processing per second.
- Bytes/Sec: The amount of data the web server is transferring per second.
- Bytes/Requests Average: The average number of bytes being transferred per HTTP request.
- Busy Workers: The number of Apache processes actively processing an HTTP request.
- Idle Workers: The number of idle Apache processes waiting for an HTTP request.
##Directory Structure
<table><tbody>
<tr>
<th align = 'left'> Directory/File </th>
<th align = 'left'> Description </th>
</tr>
<tr>
<td class='confluenceTd'> conf </td>
<td class='confluenceTd'> Contains the monitor.xml </td>
</tr>
<tr>
<td class='confluenceTd'> lib </td>
<td class='confluenceTd'> Contains third-party project references </td>
</tr>
<tr>
<td class='confluenceTd'> src </td>
<td class='confluenceTd'> Contains source code to the Apache monitoring extension </td>
</tr>
<tr>
<td class='confluenceTd'> dist </td>
<td class='confluenceTd'> Only obtained when using ant. Run 'ant build' to get binaries. Run 'ant package' to get the distributable .zip file. </td>
</tr>
<tr>
<td class='confluenceTd'> build.xml </td>
<td class='confluenceTd'> Ant build script to package the project (required only if changing Java code) </td>
</tr>
</tbody>
</table>
##Metrics
###Availability
- Uptime (1 or 0)
###Resource Utilization
- Counter Description CPU Load (N/A on Windows) -- The percentage of the CPU used by Apache.
- Processes
- Busy Workers -- The number of Apache processes actively processing an HTTP request.
- Idle Workers -- The number of idle Apache processes waiting for an HTTP request.
- Memory
###Activity
- Accesses -- Total number of accesses per Minute
- Total Traffic (kb)
- Requests per second -- The number of HTTP requests the web server is processing per second.
- Bytes per second -- The amount of data the web server is transferring per second.
- Bytes per request -- The average number of bytes being transferred per HTTP request.
- Activity Types
- Starting up
- Reading Request
- Sending Reply
- Keepalive
- DNS Lookup
- Closing Connection
- Logging
- Gracefully Finishing
- Cleaning up of working
##Contributing
Always feel free to fork and contribute any changes directly via [GitHub](https://github.com/Appdynamics/apache-monitoring-extension).
##Community
Find out more in the [AppSphere](http://appsphere.appdynamics.com/t5/Extensions/Apache-Monitoring-Extension/idi-p/753) community.
##Support
For any questions or feature request, please contact [AppDynamics Center of Excellence](mailto:ace-request@appdynamics.com).