You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
onefang 810b6e31b5 Better text for the page title. 7 months ago
cgi Work with CGI PHP. 7 months ago
conf Make it the default to. 7 months ago
doc Move LICENSE to root directory so GitHub will detect it 1 year ago
inc Better text for the page title. 7 months ago
js jsrrdgraph: Fix typo 5 years ago
layout A few style tweaks, mostly to a dark theme. 8 months ago
plugin Add redirects graphs. 7 months ago
type A few style tweaks, mostly to a dark theme. 8 months ago
.gitignore Ignore the rrd directory. 7 months ago
.htaccess Fix for Invalid command 'RewriteEngine' when mod_rewrite is not enabled 2 years ago
LICENSE Move LICENSE to root directory so GitHub will detect it 1 year ago
README.md Try this style of URLs in the README. 8 months ago
detail.php Add some basic instructions for active graph. 8 months ago
graph.php graph.php: Initialize $plugin_json variable. 2 years ago
host.php Add another small help instruction. 8 months ago
index.php Merge pull request #127 from mnellemann/master 4 years ago
rrd.php Fix up static URLs that got broken going through php.cgi. 7 months ago

README.md

Collectd Graph Panel (CGP)

Collectd Graph Panel (CGP) is a graphical web-based front-end for visualizing RRD collected by collectd, written in the PHP language.

The latest version of CGP can be found on https://github.com/pommi/CGP. When you have improvements or fixes, do not hesitate to send a pull request!

apt-panopticon_cgp is a clone for the apt-panopticon project.

Requirements

CGP has the following hard requirements:

  • Web server with PHP 5.0 support.
  • rrdtool program, expected at /usr/bin/rrdtool (can be changed in the configuration file, $CONFIG['rrdtool']).
  • shell_exec must not be disabled through the disable_functions ini directive. It must allow execution of the rrdtool program.

The following software is optional, but nevertheless highly recommended:

  • PHP JSON extension: for a finer representation of the data in the graph. These representations can be found in the plugins/ directory.
  • Web browser with canvas support such as IE 9+, Firefox, Chrome, Opera 9+. Optional unless you use $CONFIG['graph_type'] = 'canvas'.

Installation and configuration

CGP is designed to run out of the box. If you want to modify some configuration settings, please create conf/config.local.php to overrule the settings from conf/config.php.

In a default configuration, the server will execute rrdtool to draw PNG graphs. These pictures are static and can put quite a burden on the server. For more flexibility, set $CONFIG['graph_type'] = 'canvas'. This will make web browsers download the RRD files and allows the user to zoom and move though the history using their pointer device.

See doc/nginx.conf for an example configuration for the nginx web server.

The .htaccess file in the top-level directory can serve as a guide for Apache configuration. Add AllowOverride directive to your virtual host configuration to allow .htaccess use.

Performance tips

Although the default configuration “just works”, you can further improve your set up to reduce data usage and CPU time:

  • Enable gzip compression and caching (for at least RRD data files, SVG pictures and Javascript files. The canvas graph type downloads each RRD data file which are quite large (considering their quantity). Savings of 70% - 80% can be achieved for RRD data files.
  • Set $CONFIG['rrd_url'] to a directory directly accessible by the web server such that it can provide better cache control than PHP.
  • Instead of the default png graph type, consider canvas to relieve the web server. This moves the image processing to the client that views the picture.
  • Disable the open_basedir setting of PHP, or at least put the RRD data dir in the beginning. When enabled, PHP (at least 5.5.14) scans though every path component which is quite costly if you have over 100 RRD files and a deep directory hierarchy. 17 seconds was observed for four path components (with . at the end), this dropped down to 4.8 seconds when prepending the RRD data directory to the beginning. When disabled, processing took less than a second.

License

CGP is released under the terms of GPL version 3. See LICENSE for the full license text.

Acknowledgements

CGP is authored by Pim van den Berg with contributions from many other people.

Canvas support depends on jsrrdgraph by Manuel Luis, https://github.com/manuelluis/jsrrdgraph

apt-panopticon by David Walter Seikel