contrib/php-collection: Add a PHP frontend for graph generation.
Hi,
Attached is a patch with a set of PHP files for a complete graphing
environment for collectd-generated RRDs.
Before generating a graph with rrdtool it can tell collectd to flush
the RRDs that are about to be used.
The interface is built with dynamic HTML.
It provides following options:
- host selection
-> plugin selection
--> plugin instance selection
---> type selection
----> type instance selection (or meta graph)
- linear / logarithmic Y-scale
- verbose / minimal legend
- [Add Graph] [Remove all Graphs] [Refresh Graphs]
For each displayed graph:
- Move above previous graph
- Refresh graph
- Remove graph
- Move below following graph
I tested on following browsers:
- Firefox-3.0
- Safari-3.2 (Win32)
- Konqueror (KDE-4.1.3)
- Webkit (webkit-gtk-0_p40220)
- Internet Explorer (6, 7, 8rc - CSS layout issues with <8)
Dependencies:
- PHP-5 (might run with PHP-4)
> GD suport for error images
> Ability to execute rrdtool binary
> Unix socket for FLUSH support
- RRDTool (rrdtool graph, rrdtool info)
TODO: complete/improve graph definitions in definitions.php
though there is code to generate basic graph for any RRD of
unknown type, so definitions are rather a matter of color,
DS combination and stacking.
Bruno
File listing with short description:
- config.php
(configuration)
- functions.php
(common functions)
- definitions.php
(graph definitions for most? types from types.db
- based on collection.cgi)
- definitions.local.php
(place for site-local graph definitions, e.g. for
unixsock, tail, snmp generated RRDs)
- index.php
(main page)
- graph.php
(page returning the graph's PNG image)
- browser.js
(whole bunch of Javascript logic to show/hide/update graphs)
Not included are a few images:
- collectd-logo.png
(16x16, e.g. use collectd.org's favicon)
- favicon.png
(e.g. use the one in share/collection*)
- refresh.png
- move-up.png
- move-down.png
- delete.png
(16x16 take matching ones from your system's action-icons)