Florian octo Forster's Homepage Collection 4

Content

Description

Collection 4 (or C 4 for short) is a web-based front-end for collectd. It is the successor of Collection 3, a Perl-based interface with the same purpose. The two don't share any code, however – C 4 has been written from scratch.

One of the main goals for C 4 is performance. It was created out of frustration about all existing front-ends at that time, none of which were able to handle installations with 50,000 and more RRD files efficiently. At such a scale, I/O on the server becomes a serious limitation even for the front-end and seemingly simple tasks, such as printing a list of all host names, will produce several hundred kilobytes of data. C 4 counters these problems by caching data between requests (each instance handles multiple requests using FastCGI) and limiting the amount of data sent to the client to an amount browsers can handle and users are willing to wait for.

A second design goal was to make it possible to configure graphs in a very flexible manner. You can create graphs from multiple files and each file can be part of multiple graphs. You can stack data sources on top of each other and specify the colors you like. Surely there's still a lot to be added but the infrastructure is there and the syntax is flexible enough to allow extensions in each and every direction.

In contrast to many other front-ends, there is no hard dependency on RRDtool in C 4 . The fetch and graph phases have been separated to allow for either to be changed without touching the other. This allows data to retrieved from RRD files but not to create graphs using rrdgraph(1). Other possible (but not yet implemented) data providers could be RRDCacheD and (compressed) CSV files. An interesting aspect would be to incorporate "live updates", for example using AMQP .

Currently the JavaScript library gRaphaël is used to render graphs, but a lot remains to be added to that library in order to be able to compete with RRDtool's graphing options.

News

2010-09-11 Version 4.0.0, the initial version, has been released.

Download

Warning: This version is unstable, meaning that the config file, the interfaces, the output and basically everything else may change at any time. Please consider using the version from the Git repository (see below).

Development version

The development files are kept in a Git repository. You can “clone” it with the following command. Patches are welcome anytime. :)

git clone git://git.verplant.org/collection4.git

A web interface to browse the repository is available, too.

Screenshots

Screenshots of C 4 in action. Hover over the image to get a description in a tool-tip or enable JavaScript for fancy graphics display.

Contributing

C 4 is a free and open source project. Like all such projects, it lives from contributions by companies and interested individuals. For now, please use the collectd mailing list for anything related to C 4 . A separate list will be created if and when it becomes necessary.

There's a wide variety of ways in which you can get involved with C 4 :

Reporting bugs and providing feedback are both, easy and very, very helpful.

Since collectd can collect a huge amount of different data, not all graphs have a pretty “static” graph configuration. Send in your changes to the default config file!

If you have an eye for (web-)design, please feel free to beautify the CSS file styling the HTML output.

file styling the HTML output. The JavaScript code can use all the love you can give it.

And, of course, if you know your way around in C programs, dive into the FastCGI application and work your magic there.

License information