Axels Pimped Apache Status
The default apache status shows you information about current Apache
activity. But these server-status pages are difficult to read.
The Pimped Apache status makes the Apache server status readable,
sortable and searchable.
The webbased tool offers a multilanguage, skinable interface with a
In several views you see most requested pages, vhosts, used methods,
IPs that make the most requests and more. All views are sortable
tables you can filter by a keyword and are available as API Request
too to get its data as CSV, XML or JSON.
With parsing the server status you see open or long running requests.
This tool is a live or realtime view - not a log analyzer.
It runs on PHP 7.x + 8.0 (it runs on PHP 5.x, but I don't support PHP5 installations).
GNU GPL v 3.0
The project is hosted on Github: pimped-apache-status
If you like that tool, you can support me and
Send a tip on Tipeee
... or donate on Paypal
- 2021-11-03: v2.04.09
- FIX: sSelfurl on installation in webroot (issue #24)
- UPDATE: chartJs to v3.6.0
- 2021-09-08: v2.04.08
- FIX: upgrade script for config of v1 to v2 (issue #31)
- UPDATE: font-awesome to 5.15.4
- 2021-07-29: v2.04.07
- UPDATE: remove config var selfurl - this is related to issue #24
- UPDATE: colors in utilization boxes
- UPDATE: page admin -> server setup
- 2021-07-04: v2.04.06
- UPDATE: The internally used 3rd party component ChartJs was upgraded from v2 to v3 (using v3.4.1).
- 2021-06-30: v2.04.05
- ADDED: make a servertab sticky (maybe needs shift reload once)
If you view a group of servers in "Original server-status" or "Utilization"
then a page reload or switch to another page keeps the last server tab active.
- Show all or only active requests from server status page
- Top lists for most often processed requests, requested vhosts, methods, requesting ip addresses, slowest requests
- History data (saved in localstorage of your browser) help to estimate is it normal traffic or not
- All tables can be sorted and filtered
- Export any table (or automate it by API request) to CSV, JSON, XML
- Handles single servers and multiple servers as well (i.e. for loadbalanced website or project based view)
- Table view can be customized: make unneeded colums invisible;
- Web based interface in English and German
- Supports color schemes (using themes from AdminLTE)
- Integrated updater in the webinterface
- CLI for automated configuration setup with Ansible, Puppet & Co.
- Bookmarklet to beautify any server status page
- On the system you want to install the pimped Apache status:
- any webserver with PHP 7 - up to 7.3 (it should run on PHP 5.3, but I don't support PHP5 installations)
- php-xml (optional; for xml exports)
- (btw: no database is needed)
- On all webservers you want to monitor:
- Apache 2.x
- installed module mod_status and ExtendedStatus On
- permission for the monitoring server to request the the
How does it work?
In the configuration you setup a list of apache servers. It can be
single servers or a group of servers in a loadbalanced environment.
The script requests all server-status pages of these servers simultanously
and parses the boring html output to an array.
As result you get different views of this array, like all current
requests, most requested urls or vhosts. You get several tables which
can be sorted (even multisorted) and filtered.
You easily can find long running requests or often requested pages.
You have a merged real time view about what all your webservers do.
- You start a request to see any summary.
- The Pimped Apache status initiates a request for /server-status on all servers (it depends on your configuration and selection)
- ... and waits for the response of all servers
- ... to merge and filter the results
- ... and send it back to you in the wanted format
Tiles on top show a few relevant counters. On mouseover you get
a popup showing a graph with the last values in the past.
Active Requests in a table view. Each request is colored by type or
method. You can order the table by any column and multisort by
holding SHIFT key.
With a search field you can filter the current view.
Most often processed Requests: does somebody attacks me with a
long running request?