aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/README.md
diff options
context:
space:
mode:
authorPeter Wu2014-08-10 14:01:43 +0200
committerPeter Wu2014-08-10 14:10:53 +0200
commit13bfffb34cd0385124d4084a66d49471cb457b6c (patch)
treec736c1addb5c00ff18c39deb34a548adfffabeb0 /README.md
parentMerge (a)sync code, reformat CGP.js (diff)
downloadapt-panopticon_cgp-13bfffb34cd0385124d4084a66d49471cb457b6c.zip
apt-panopticon_cgp-13bfffb34cd0385124d4084a66d49471cb457b6c.tar.gz
apt-panopticon_cgp-13bfffb34cd0385124d4084a66d49471cb457b6c.tar.bz2
apt-panopticon_cgp-13bfffb34cd0385124d4084a66d49471cb457b6c.tar.xz
Add README file
Documents requirements, installation instructions (obsoleting doc/INSTALL) and performance hints. Added a nginx server configuration example that optimises for performance.
Diffstat (limited to 'README.md')
-rw-r--r--README.md78
1 files changed, 78 insertions, 0 deletions
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..d4f3c52
--- /dev/null
+++ b/README.md
@@ -0,0 +1,78 @@
1Collectd Graph Panel (CGP)
2==========================
3Collectd Graph Panel (CGP) is a graphical web-based front-end for visualizing
4RRD collected by [collectd][collectd], written in the PHP language.
5
6The latest version of CGP can be found on https://github.com/pommi/CGP. When you
7have improvements or fixes, do not hesitate to send a pull request!
8
9Requirements
10------------
11CGP has the following hard requirements:
12
13 - Web server with PHP 5.0 support.
14 - `rrdtool` program, expected at `/usr/bin/rrdtool` (can be changed in the
15 configuration file, `$CONFIG['rrdtool']`).
16 - `shell_exec` must not be disabled through the [`disable_functions` ini
17 directive][ini.disable_functions]. It must allow execution of the `rrdtool`
18 program.
19
20The following software is optional, but nevertheless highly recommended:
21
22 - [PHP JSON extension][php-json]: for a finer representation of the data in the
23 graph. These representations can be found in the `plugins/` directory.
24 - Web browser with `canvas` support such as IE 9+, Firefox, Chrome, Opera 9+.
25 Optional unless you use `$CONFIG['graph_type'] = 'canvas'`.
26
27Installation and configuration
28------------------------------
29CGP is designed to run out of the box. If you want to modify some configuration
30settings, please create `conf/config.local.php` to overrule the settings from
31`conf/config.php`.
32
33In a default configuration, the server will execute `rrdtool` to draw PNG
34graphs. These pictures are static and can put quite a burden on the server. For
35more flexibility, set `$CONFIG['graph_type'] = 'canvas'`. This will make web
36browsers download the RRD files and allows the user to zoom and move though the
37history using their pointer device.
38
39See [doc/nginx.conf](doc/nginx.conf) for an example configuration for the nginx
40web server. The `.htaccess` file in the top-level directory can serve as a guide
41for Apache configuration.
42
43Performance tips
44----------------
45Although the default configuration "just works", you can further improve your
46set up to reduce data usage and CPU time:
47
48 - Enable gzip compression and caching (for at least RRD data files, SVG
49 pictures and Javascript files. The canvas graph type downloads each RRD data
50 file which are quite large (considering their quantity). Savings of 70% - 80%
51 can be achieved for RRD data files.
52 - Set `$CONFIG['rrd_url']` to a directory directly accessible by the web server
53 such that it can provide better cache control than PHP.
54 - Instead of the default `png` graph type, consider `canvas` to relieve the web
55 server. This moves the image processing to the client that views the picture.
56 - Disable the `open_basedir` setting of PHP, or at least put the RRD data dir
57 in the beginning. When enabled, PHP (at least 5.5.14) scans though every
58 path component which is quite costly if you have over 100 RRD files and a
59 deep directory hierarchy. 17 seconds was observed for four path components
60 (with `.` at the end), this dropped down to 4.8 seconds when prepending the
61 RRD data directory to the beginning. When disabled, processing took less than
62 a second.
63
64License
65-------
66CGP is released under the terms of GPL version 3. See [doc/LICENSE](doc/LICENSE)
67for the full license text.
68
69Acknowledgements
70----------------
71CGP is authored by Pim van den Berg with contributions from many other people.
72
73Canvas support depends on jsrrdgraph by Manuel Luis,
74https://github.com/manuelluis/jsrrdgraph
75
76 [collectd]: http://collectd.org/
77 [ini.disable_functions]: http://php.net/ini.core#ini.disable-functions
78 [php-json]: http://php.net/json