Batterycharge, -current and voltage of ACPI and PMU based laptop
batteries.
- - curl
- Parse statistics from websites using regular expressions.
-
- bind
Name server and resolver statistics from the `statistics-channel'
interface of BIND 9.5, 9,6 and later.
+ - conntrack
+ Number of nf_conntrack entries.
+
+ - contextswitch
+ Number of context switches done by the operating system.
+
- cpu
CPU utilization: Time spent in the system, user, nice, idle, and related
states.
- cpufreq
CPU frequency (For laptops with speed step or a similar technology)
+ - curl
+ Parse statistics from websites using regular expressions.
+
+ - curl_json
+ Retrieves JSON data via cURL and parses it according to user
+ configuration.
+
- dbi
Executes SQL statements on various databases and interprets the returned
data.
- filecount
Count the number of files in directories.
+ - fscache
+ Linux file-system based caching framework statistics.
+
+ - gmond
+ Receive multicast traffic from Ganglia instances.
+
- hddtemp
Harddisk temperatures using hddtempd.
- irq
IRQ counters: Frequency in which certain interrupts occur.
+ - java
+ Integrates a `Java Virtual Machine' (JVM) to execute plugins in Java
+ bytecode. See “Configuring with libjvm” below.
+
- load
System load average over the last 1, 5 and 15 minutes.
- libvirt
CPU, disk and network I/O statistics from virtual machines.
+ - madwifi
+ Queries very detailed usage statistics from wireless LAN adapters and
+ interfaces that use the Atheros chipset and the MadWifi driver.
+
- mbmon
Motherboard sensors: temperature, fanspeed and voltage information,
using mbmon(1).
+ - memcachec
+ Query and parse data from a memcache daemon (memcached).
+
- memcached
Statistics of the memcached distributed caching system.
<http://www.danga.com/memcached/>
MySQL server statistics: Commands issued, handlers triggered, thread
usage, query cache utilization and traffic/octets sent and received.
+ - netapp
+ Plugin to query performance values from a NetApp storage system using the
+ “Manage ONTAP” SDK provided by NetApp.
+
- netlink
Very detailed Linux network interface and routing statistics. You can get
(detailed) information on interfaces, qdiscs, classes, and, if you can
Network UPS tools: UPS current, voltage, power, charge, utilisation,
temperature, etc. See upsd(8).
+ - olsrd
+ Queries routing information from the “Optimized Link State Routing”
+ daemon.
+
- onewire (EXPERIMENTAL!)
Read onewire sensors using the owcapu library of the owfs project.
Please read in collectd.conf(5) why this plugin is experimental.
- processes
Process counts: Number of running, sleeping, zombie, ... processes.
+ - protocols
+ Counts various aspects of network protocols such as IP, TCP, UDP, etc.
+
+ - python
+ The python plugin implements a Python interpreter into collectd. This
+ makes it possible to write plugins in Python which are executed by
+ collectd without the need to start a heavy interpreter every interval.
+ See collectd-python(5) for details.
+
- rrdcached
RRDtool caching daemon (RRDcacheD) statistics.
- swap
Pages swapped out onto harddisk or whatever is called `swap' by the OS..
+ - table
+ Parse table-like structured files.
+
- tail
Follows (tails) logfiles, parses them by lines and submits matched
values.
- teamspeak2
TeamSpeak2 server statistics.
+ - ted
+ Plugin to read values from `The Energy Detective' (TED).
+
- thermal
Linux ACPI thermal zone information.
+ - tokyotyrant
+ Reads the number of records and file size from a running Tokyo Tyrant
+ server.
+
+ - uptime
+ System uptime statistics.
+
- users
Users currently logged in.
- xmms
Bitrate and frequency of music played with XMMS.
+ - zfs_arc
+ Statistics for ZFS' “Adaptive Replacement Cache” (ARC).
+
* Output can be written or send to various destinations by the following
plugins:
you can easily do weird stuff with the plugins we didn't dare think of
;) See collectd-perl(5).
+ - python
+ It's possible to implement write plugins in Python using the python
+ plugin. See collectd-python(5) for details.
+
- rrdcached
Output to round-robin-database (RRD) files using the RRDtool caching
daemon (RRDcacheD) - see rrdcached(1). That daemon provides a general
needed. Please read collectd-unixsock(5) for a description on how that's
done.
+ - write_http
+ Sends the values collected by collectd to a web-server using HTTP POST
+ requests. The transmitted data is either in a form understood by the
+ Exec plugin or formatted in JSON.
+
* Logging is, as everything in collectd, provided by plugins. The following
plugins keep up informed about what's going on:
Log messages are propagated to plugins written in Perl as well.
See collectd-perl(5).
+ - python
+ It's possible to implement log plugins in Python using the python plugin.
+ See collectd-python(5) for details.
+
- syslog
Logs to the standard UNIX logging mechanism, syslog.
Notifications are propagated to plugins written in Perl as well.
See collectd-perl(5).
+ - python
+ It's possible to implement notification plugins in Python using the
+ python plugin. See collectd-python(5) for details.
+
* Value processing can be controlled using the "filter chain" infrastructure
and "matches" and "targets". The following plugins are available:
+ - match_empty_counter
+ Match counter values which are currently zero.
+
- match_regex
Match values by their identifier based on regular expressions.
Used by the `oracle' plugin.
* libcurl (optional)
- If you want to use the `apache', `ascent', `curl' or `nginx' plugin.
+ If you want to use the `apache', `ascent', `curl', `nginx', or `write_http'
+ plugin.
<http://curl.haxx.se/>
* libdbi (optional)
For the `notify_email' plugin.
<http://www.stafford.uklinux.net/libesmtp/>
+ * libganglia (optional)
+ Used by the `gmond' plugin to process data received from Ganglia.
+ <http://ganglia.info/>
+
+ * libgcrypt (optional)
+ Used by the `network' plugin for encryption and authentication.
+ <http://www.gnupg.org/>
+
* libhal (optional)
If present, the uuid plugin will check for UUID from HAL.
<http://hal.freedesktop.org/>
- * libiptc (optional, if not found a version shipped with this distribution
- can be used if the Linux kernel headers are available)
+ * libiptc (optional)
For querying iptables counters.
<http://netfilter.org/>
+ If not found on the system, a version shipped with this distribution can
+ be used. It requires some Linux headers in /usr/include/linux. You can
+ force the build system to use the shipped version by specifying
+ --with-libiptc=shipped
+ when running the configure script.
+
+ * libjvm (optional)
+ Library that encapsulates the `Java Virtual Machine' (JVM). This library is
+ used by the Java plugin to execute Java bytecode. See “Configuring with
+ libjvm” below.
+ <http://openjdk.java.net/> (and others)
+
+ * libmemcached (optional)
+ Used by the `memcachec' plugin to connect to a memcache daemon.
+ <http://tangent.org/552/libmemcached.html>
+
* libmysqlclient (optional)
Unsurprisingly used by the `mysql' plugin.
<http://dev.mysql.com/>
+ * libnatapp (optional)
+ Required for the “netapp” plugin.
+ This library is part of the “Manage ONTAP SDK” published by NetApp.
+
* libnetlink (optional)
Used, obviously, for the `netlink' plugin.
<http://www.linuxfoundation.org/en/Net:Iproute2>
For the `notify_desktop' plugin.
<http://www.galago-project.org/>
- * liboping (optional, if not found a version shipped with this distribution
- can be used)
+ * liboping (optional)
Used by the `ping' plugin to send and receive ICMP packets.
<http://verplant.org/liboping/>
The PostgreSQL C client library used by the `postgresql' plugin.
<http://www.postgresql.org/>
+ * libpython (optional)
+ Used by the `python' plugin. Currently, only 2.3 ≦ Python < 3 is supported.
+ <http://www.python.org/>
+
+ * librouteros (optional)
+ Used by the `routeros' plugin to connect to a device running `RouterOS'.
+ <http://verplant.org/librouteros/>
+
* librrd (optional)
Used by the `rrdtool' and `rrdcached' plugins. The latter requires RRDtool
client support which was added after version 1.3 of RRDtool. Versions 1.0,
and/or Solaris.
<http://www.i-scream.org/libstatgrab/>
+ * libtokyotyrant (optional)
+ Used by the tokyotyrant plugin.
+ <http://1978th.net/tokyotyrant/>
+
* libupsclient/nut (optional)
For the `nut' plugin which queries nut's `upsd'.
<http://networkupstools.org/>
* libxmms (optional)
<http://www.xmms.org/>
+ * libyajl (optional)
+ Parse JSON data. This is needed for the `curl_json' plugin.
+ <http://github.com/lloyd/yajl>
Configuring / Compiling / Installing
------------------------------------
will be enabled). To enable a plugin, install missing dependencies (see
section `Prerequisites' above) and rerun `configure'. If you specify the
`--enable-<plugin>' configure option, the script will fail if the depen-
- dencies for the specified plugin are not met. If you specify the
- `--disable-<plugin>' configure option, the plugin will not be built. Both
- options are meant for package maintainers and should not be used in everyday
- situations.
+ dencies for the specified plugin are not met. In that case you can force the
+ plugin to be built using the `--enable-<plugin>=force' configure option.
+ This will most likely fail though unless you're working in a very unusual
+ setup and you really know what you're doing. If you specify the
+ `--disable-<plugin>' configure option, the plugin will not be built. If you
+ specify the `--enable-all-plugins' or `--disable-all-plugins' configure
+ options, all plugins will be enabled or disabled respectively by default.
+ Explicitly enabling or disabling a plugin overwrites the default for the
+ specified plugin. These options are meant for package maintainers and should
+ not be used in everyday situations.
By default, collectd will be installed into `/opt/collectd'. You can adjust
this setting by specifying the `--prefix' configure option - see INSTALL for
prefixed to all installation directories. This might be useful when creating
packages for collectd.
+Configuring with libjvm
+-----------------------
+
+ To determine the location of the required files of a Java installation is not
+ an easy task, because the locations vary with your kernel (Linux, SunOS, …)
+ and with your architecture (x86, SPARC, …) and there is no ‘java-config’
+ script we could use. Configuration of the JVM library is therefore a bit
+ tricky.
+
+ The easiest way to use the `--with-java=$JAVA_HOME' option, where
+ `$JAVA_HOME' is usually something like:
+ /usr/lib/jvm/java-1.5.0-sun-1.5.0.14
+
+ The configure script will then use find(1) to look for the following files:
+
+ - jni.h
+ - jni_md.h
+ - libjvm.so
+
+ If found, appropriate CPP-flags and LD-flags are set and the following
+ library checks succeed.
+
+ If this doesn't work for you, you have the possibility to specify CPP-flags,
+ C-flags and LD-flags for the ‘Java’ plugin by hand, using the following three
+ (environment) variables:
+
+ - JAVA_CPPFLAGS
+ - JAVA_CFLAGS
+ - JAVA_LDFLAGS
+
+ For example (shortened for demonstration purposes):
+
+ ./configure JAVA_CPPFLAGS="-I$JAVA_HOME/include -I$JAVA_HOME/include/linux"
+
+ Adding "-ljvm" to the JAVA_LDFLAGS is done automatically, you don't have to
+ do that.
Crosscompiling
--------------