X-Git-Url: https://git.octo.it/?p=collection4.git;a=blobdiff_plain;f=README;h=6c7e0b9351b6b7e2f54b5f1a76a1bcf2d44e328d;hp=6e25d3f8056eba4927d9c12d60fbba1a744cfaa2;hb=100679c57df004d9cb816438d2339a2e6c692a45;hpb=998940bb79e55b8943731d1ce9b21831148f8235 diff --git a/README b/README index 6e25d3f..6c7e0b9 100644 --- a/README +++ b/README @@ -1,5 +1,6 @@ collection 4 - An efficient graphing front-end for collectd ============================================================= + About ----- @@ -12,6 +13,8 @@ About Concepts -------- + Graphs + ------ c4 lets you configure "graphs" in its config file. Each graph has a selector which determines which files will be used to draw the graph. The selector uses the host/plugin[-instance]/type[-instance] layout known from collectd. @@ -33,6 +36,84 @@ Concepts by adding it to the appropriate instance or by creating a new instance. I.e. each file may be used in multiple graphs. + If a file does not match any graph, a "dynamic graph" matching only that file + will be created. This allows the front-end to display all files even when + there is no explicit graph definition for them. + + Data providers + -------------- + The idea is to encapsulate all the functions specific to one write plugin of + collectd using an interface for querying data. This allows to program the + rest of the front-end in a way that doesn't rely on one specific storage + back-end. + + Currently, the only data provider scans a directory for RRD files and uses + the librrd to fetch data. The whole concept is still a bit of a work in + progress and currently the code-base is still cluttered with "*_get_rrdargs" + functions. The RRDtool generated graphs will likely be replaced by a graphing + solution integrated in the C code (creating rendered graphics) and / or a + JavaScript-based solution which renders graphs in the browser. + + In the future it shall be possible to use multiple data providers in + parallel. The vision is to have multiple servers running RRDCacheD. Data is + distributed to those servers using the "Hashed" match of collectd and then a + unified interface is provided via c4. + + +Dependencies +------------ + + c4 currently requires the following libraries: + + * libfcgi + + + * librrd_th (thread-safe version of librrd) + + + * libyajl + + + The "configure" script is currently kept minimal. It may therefore be + necessary to set the CPP- and LD-flags manually. In case of libyajl, which is + not built with libtool, you may need to set the rpath, too. + + When building from the Git repository, you'll need to have flex and bison (or + possibly lex and yacc) installed. These two programs are used to generate the + code for parsing the config file. If you are building from a tarball, the + generated .c and .h files are included and you don't need to have these + programs installed. + + +Bugs +---- + + * Sending a FLUSH command to the collectd process is not yet possible. + * "*_get_rrdargs" functions and other RRDtool specific cruft is still all + over the code-base. + * The JSON-based interface is unstable. + * Currently it's not possible to display more than one graph at a time. + (With a very limited and undocumented exception.) + * Speaking of which: There is no documentation. + * ... (to be added) + + +License +------- + + collection 4 is licensed under the GNU Lesser General Public License (LGPL), + version 2.1. The exact license terms are available in the file "COPYING" in + the top source directory. + + c4 includes the JavaScript library "jQuery" which is dual-licensed under the + MIT license and the GPL. The file "share/jquery-1.4.2.min.js" includes a + license header which points you to more detailed information. + + c4 includes the JavaScript libraries "Raphaël" and "gRaphaël" which are + licensed under the MIT license. The files "share/raphael-min.js", + "share/g.raphael-min.js", and "share/g.line-min.js" each include a license + header which points you to more detailed information. + Author ------