bindings/erlang: Added README.
[collectd.git] / README
diff --git a/README b/README
index b641741..796fb8f 100644 (file)
--- a/README
+++ b/README
@@ -33,13 +33,16 @@ Features
       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.
@@ -47,6 +50,13 @@ Features
     - 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.
@@ -76,6 +86,12 @@ Features
     - 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.
 
@@ -98,16 +114,27 @@ Features
     - 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/>
@@ -124,6 +151,10 @@ Features
       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
@@ -149,6 +180,10 @@ Features
       Network UPS tools: UPS current, voltage, power, charge, utilisation,
       temperature, etc. See upsd(8).
 
+    - olsr
+      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.
@@ -179,6 +214,9 @@ Features
     - processes
       Process counts: Number of running, sleeping, zombie, ... processes.
 
+    - protocols
+      Counts various aspects of network protocols such as IP, TCP, UDP, etc.
+
     - rrdcached
       RRDtool caching daemon (RRDcacheD) statistics.
 
@@ -197,6 +235,9 @@ Features
     - 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.
@@ -210,9 +251,19 @@ Features
     - 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.
 
@@ -230,6 +281,9 @@ Features
     - 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:
 
@@ -264,6 +318,11 @@ Features
       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:
 
@@ -306,6 +365,9 @@ Features
   * 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.
 
@@ -404,7 +466,8 @@ Prerequisites
     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)
@@ -415,19 +478,42 @@ Prerequisites
     For the `notify_email' plugin.
     <http://www.stafford.uklinux.net/libesmtp/>
 
+  * libganglia (optional)
+    Used by the `gmond' plugin to process data received from Ganglia.
+
+  * libgcrypt (optional)
+    Used by the `network' plugin for encryption and authentication.
+
   * 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.
+
+  * libmemcached (optional)
+    Used by the `memcachec' plugin to connect to a memcache daemon.
+
   * 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>
@@ -440,8 +526,7 @@ Prerequisites
     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/>
 
@@ -497,6 +582,9 @@ Prerequisites
   * 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
 ------------------------------------
@@ -511,10 +599,16 @@ 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
@@ -522,6 +616,42 @@ Configuring / Compiling / Installing
   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
 --------------