|List of versions|
| Version 4.10|
Version 4.7 has been released on Monday, May 11th. The newest release of this version is 4.7.4 which was released on October 3rd. Support for this version has ended.
The following features first appeared in version 4.7.
The Java plugin exposes the collectd API to Java, making it possible to write new plugins in Java, too. Documentation of the plugin is already available as collectd-java(5).
The Table plugin makes it possible to parse files that contain tabular data, e. g. many files under
/proc on Linux.
"Tick-less" read-function scheduling
Enable each plugin to register a read function with an own interval setting. This would be helpful for
plugins which should not be run very often. The OneWire and SNMP plugins come to mind. To implement this, put each
read_func_t into a heap, sorted by the absolute time when the next read should occur, and have read threads pick callbacks from that heap. This is partially implemented, the code can be found in the Git repository.
Multiple databases in the MySQL plugin
Makes it possible to collect database statistics from multiple MySQL instances.
More flexible intervals in the SNMP plugin
The SNMP plugin uses the "complex read functions" now to register one read function for each device/host that's configured. This allows vastly more flexible "Intervals" being configured and moves all of the thread handling out of the plugin.
The new gmond plugin provides interoperability with Ganglia. It receives and decodes multicast traffic from
gmond instances and dispatches the values to collectd. A possibility to add custom “metrics” is available, too.
Marco Chiappero has written a plugin to keep track of the uptime of a system. The plugin should work on Linux, BSDs (including Mac OS X) and Solaris. He wants to change the Linux code to determine the boot-time once and then use time(2) to determine the current uptime, as it's done in the *BSD and Solaris code.
More flexible intervals in the OneWire plugin
Using a "complex read function" of course, see the note about the SNMP plugin above.
Plugin to read the current voltage and power consumption from The Energy Detective (TED). The homepage of the company selling those devices is http://www.theenergydetective.com/. Code has been provided by Eric Reed.
Plugin to query pages/data from memcached and parse them, just like the cURL plugin does.
The included version of liboping was out of date. Since there is no real reason to handle this library specially, is has been removed from the collectd sources.
Authentication / Encryption for the Network plugin
Implemented using libgcrypt, see http://mailman.verplant.org/pipermail/collectd/2009-April/002580.html.
Multiple servers in the Apache plugin
Make it possible to configure multiple servers in the Apache plugin. The patch has been provided by Amit Gupta.
IPv6 support in the IP-Tables plugin
IPv6 support has been added to the IP-Tables plugin. Thanks to Marco Chiappero for the patch.
Plugin for the new network file system caching infrastructure in Linux 2.6.30. Edward Konetzko is working on it, see his mail from April 17th.
Released on Monday, May 11, 2009.
- Apache plugin: Support to query multiple servers has been added. Thanks to Amit Gupta for the patch.
- Apache plugin: Handling of lighttpd's scoreboard statistics has been improved. Thanks to Amit Gupta for the patch.
- ConnTrack plugin: The new conntrack plugin collects the connection tracking table size. Thanks to Tomasz Pala for the patch.
- FSCache plugin: The new fscache plugin collects statistics about Linux' file-system based caching framework. Thanks to Edward Konetzko for the patch.
- gmond plugin: The new gmond plugin can receive and interpret multicast traffic from Ganglia's gmond daemon.
- Java plugin: The new java plugin exports the collectd API to Java, making it possible to write extensions to collectd in Java.
- memcachec plugin: The new memcachec plugin queries data from a memcached daemon and parses it similar to the cURL plugin. Thanks to Doug MacEachern for the initial code.
- memcached plugin: Support for connections over UNIX domain sockets has been added. Thanks to Franck Lombardi for the patch.
- Memory plugin: Support for OpenBSD and possibly other *BSDs has been added. Thanks to Simon Kuhnle for the patch.
- MySQL plugin: Support to query multiple databases has been added. Thanks to Doug MacEachern for the patch.
- MySQL plugin: Master/slave statistics have been added.
- MySQL plugin: Lock statistics have been added. Thanks to Rodolphe Quiédeville for the patch.
- Network plugin: The possibility to sign or encrypt network traffic has been added.
- Protocols plugin: The new protocols plugin provides information about network protocols, such as IP, TCP and UDP.
- SNMP plugin: The intervals given in the configuration of the SNMP plugin must no longer be a multiple of the global interval.
- Table plugin: The new Table plugin provides parsing for table-like structured files, such as many files beneath /proc.
- TED plugin: The new TED plugin reads power consumption measurements from “The Energy Detective” (TED). Thanks to Eric Reed for this plugin.
- OneWire plugin: The new `Interval' option allows collecting information from OneWire sensors at arbitrary intervals.
- Ping plugin: Support for collecting the drop rate and standard deviation of round-trip times has been added.
- Uptime plugin: The new uptime plugin can collect the server's uptime. Thanks to Marco Chiappero for the patch.
Released on Tuesday, June 02, 2009.
- Build system: Detection of Java has been improved and missing details have been added to the configuration summary. Support for libtool 2.2 has been added.
- collectd: Two bugs with the threshold checking have been fixed. The first one prevented thresholds to be checked at all, the second one caused wrong behavior with the persistency option. Thanks to Andrés J. Díaz for fixing these problems.
- collectd: Handling of the `Include' configuration option has been fixed.
- RRDtool plugin: Make sure initialization is run only once. This resolves problems under Solaris and potentially other systems. Thanks to Amit Gupta for reporting this bug.
- Java plugin: Make it possible to use dots ('.') instead of slashes ('/') as the class separator. Thanks to Randy Rizun for pointing this out.
- Swap plugin: A work-around for 32-bit Solaris has been added. Thanks to Doug MacEachern for the patch.
Released on Sunday, July 19, 2009.
- Build system: Support for `DESTDIR' has been fixed in the Java bindings.
- collectd: Okay-notifications have been fixed. Thanks to Andrés J. Díaz for fixing this bug.
- collectd: A programming error has been fixed in the notification code. The bug may result in an assertion failure.
- memcached plugin: Portability fix for Solaris. Thanks to Amit Gupta for reporting the bug.
- Ping plugin: Link the plugin with libm.
Released on Sunday, September 13, 2009.
- collectd: Fix a possible but very rare invalid “free” in the caching code. Thanks to Sebastian Harl for the patch.
- collectd: Remove old values when a cache entry is marked as missing. This way the
GETVALcommand of the UnixSock plugin doesn't return old, no longer valid values when this happens. Thanks to Andrés J. Díaz for the patch.
- collectd: The
plugin_unregister_readfunction has been fixed.
- apache, ascent, bind, curl, nginx plugins: Advise the cURL library to follow redirects. Thanks to Joey Hess for reporting this bug.
- DF plugin: Check the ignorelist before stating the file system, possibly reducing the number of stats considerably. Thanks to Joey Hess for reporting this bug.
- IPTables plugin: Support for the new libiptc API has been added. Thanks to Sebastian Harl for the patch. The build system has been updated to the plugin only includes the shipped header files when it is linked with the shipped library, too.
- Java plugin: Delay creating the JVM until after the daemon has forked. The JVM internally creates threads that are lost when forking. This means that Java-based plugins are now configured during the init-phase, i. e. later than other plugins.
- libvirt plugin: Re-connect to libvirtd if connecting fails. Thanks to Alan Pevec for the patch.
- Network plugin: Fix the handling of the “CacheFlush” option: The value was assigned to a wrong variable. The initialization of the gcrypt library, which is used for signing / encrypting traffic, has been fixed. Thanks to Luke Heberling for the patch.
- PowerDNS plugin: Set a timeout when reading data from the datagram socket. Handling of the “LocalSocket” option has been fixed. An incorrectly used “type” has been corrected. Thanks to Luke Heberling for his patches.
Released on Saturday, October 03, 2009.
- Build system: Issues when building the IPTables plugin have been fixed.
- Exec plugin: Clear the signal block mask before calling exec(2).
- Perl plugin: Declare the
environvariable. This solves build issues on some platforms.
- Processes plugin: Remove unnecessary call of realloc(3). Thanks to Andrés J. Díaz for the patch.
- UnixSock plugin: Fix a (well hidden) race condition related to file descriptor handling.
Released on Friday, December 18, 2009.
- Build system, Java plugin: Don't use “find -L” to search for Java headers, because it's a GNU extension.
- Build system: Support for parallel builds has been improved. Thanks Sebastian Harl and Stefan Völkel for looking into this.
- collectd: Print error messages to
STDERRif no log plugin has been loaded.
- Memory plugin: Handling of >4 Gbyte of memory under Mac OS X has been fixed.
- Network plugin: The license has been changed to LGPL 2.1.
- Oracle plugin: Reconnect to the database if the connection dies.
- RRDCacheD plugin: Work-around for a bug in RRDtool 1.4rc2 has been added.
- SNMP plugin: Handling of negative values has been fixed. Strings containing control characters are now interpreted as hex-strings.
- UnixSock plugin: A memory leak in the
LISTVALcommand has been fixed. Thanks to Ben Knight for his patch.