Axels Pimped Apache Status
Description
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
built-in updater.
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 + 8 up to PHP 8.3 (it could 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
Download
If you like that tool, you can support me and
Send a tip on Tipeee
... or donate on Paypal
Last Updates
- 2023-12-10: v2.04.12
- INFO: this version is compatible to PHP 8.3
- FIX: division by zero after first run when adding localhost without mod_status (issue #38)
- 2023-05-20: v2.04.11
- INFO: this version is compatible to PHP 8.2
- FIX: counters for waiting/ buzy/ free slots
- UPDATE: cdnorlocal class (because of change of the response in the api of cdnjs)
- UPDATE: ahlogger class
- UPDATE: remove a few php warnings
- UPDATE: more output without ExtendedStatus=On
- UPDATE: fix php docs to remove warnings of the linter
- UPDATE: jquery 3.6.0 --> 3.6.4
- UPDATE: font-awesome 5.15.4 --> 6.4.0
- 2022-05-03: v2.04.10
- FIX: show right message if a non server-status page was added
- UPDATE: Chart.js to 3.7.1
- 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
Features
- 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
Requirements
- 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-curl
- 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
alias /server-status
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
Screenshots
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?