Content
Description
Collection 4 (or C4 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 – C4 has been written from scratch.
One of the main goals for C4 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. C4 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
C4. 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
- collection-4.0.0.tar.bz2 (source tarball)
SHA-256: 67dd22f7a07ecf9ad3e37fbaab6aa3b1ea15d454df91c747234824c38e08ed10 - collection-4.0.0.tar.gz (source tarball)
SHA-256: a9718c15b5e1d3dceca802c7a5a04ac5262fff41de7685f5e93293a6deb411e1
Development version
The development files are kept in a Git repository. You can “clone” it with the following command. Patches are welcome anytime. :)
A web interface to browse the repository is available, too.
Screenshots
Screenshots of C4 in action. Hover over the image to get a description in a tool-tip or enable JavaScript for fancy graphics display.
Contributing
C4 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 C4. 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 C4:
- 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.
- 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
C4 is distributed under the terms of the LGPL, version 2.1. The license can also be found in the COPYING file in the source tarball.