Merge branch 'sp/amqp'
[collectd.git] / README
diff --git a/README b/README
index 2f80cc8..436f146 100644 (file)
--- a/README
+++ b/README
@@ -33,9 +33,6 @@ 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.
@@ -43,9 +40,8 @@ Features
     - conntrack
       Number of nf_conntrack entries.
 
-    - curl_json
-      Retrieves JSON data via cURL and parses it according to user
-      configuration.
+    - contextswitch
+      Number of context switches done by the operating system.
 
     - cpu
       CPU utilization: Time spent in the system, user, nice, idle, and related
@@ -54,6 +50,17 @@ 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.
+
+    - curl_xml
+      Retrieves XML data via cURL and parses it according to user
+      configuration.
+
     - dbi
       Executes SQL statements on various databases and interprets the returned
       data.
@@ -140,6 +147,10 @@ Features
       Memory utilization: Memory occupied by running processes, page cache,
       buffer cache and free.
 
+    - modbus
+      Reads values from Modbus/TCP enabled devices. Supports reading values
+      from multiple "slaves" so gateway devices can be used.
+
     - multimeter
       Information provided by serial multimeters, such as the `Metex
       M-4650CR'.
@@ -148,6 +159,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
@@ -173,7 +188,7 @@ Features
       Network UPS tools: UPS current, voltage, power, charge, utilisation,
       temperature, etc. See upsd(8).
 
-    - olsr
+    - olsrd
       Queries routing information from the “Optimized Link State Routing”
       daemon.
 
@@ -193,6 +208,10 @@ Features
       write your own plugins in Perl and return arbitrary values using this
       API. See collectd-perl(5).
 
+    - pinba
+      Receive and dispatch timing values from Pinba, a profiling extension for
+      PHP.
+
     - ping
       Network latency: Time to reach the default gateway or another given
       host.
@@ -210,6 +229,19 @@ Features
     - 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.
+
+    - redis
+      The redis plugin gathers information from a redis server, including:
+      uptime, used memory, total connections etc.
+
+    - routeros
+      Query interface and wireless registration statistics from RouterOS.
+
     - rrdcached
       RRDtool caching daemon (RRDcacheD) statistics.
 
@@ -260,6 +292,9 @@ Features
     - users
       Users currently logged in.
 
+    - varnish
+      Various statistics from Varnish, an HTTP accelerator.
+
     - vmem
       Virtual memory statistics, e. g. the number of page-ins/-outs or the
       number of pagefaults.
@@ -277,9 +312,13 @@ Features
     - zfs_arc
       Statistics for ZFS' “Adaptive Replacement Cache” (ARC).
 
-  * Output can be written or send to various destinations by the following
+  * Output can be written or sent to various destinations by the following
     plugins:
 
+    - amqp
+      Sends JSON-encoded data to an Advanced Message Queuing Protocol (AMQP)
+      server, such as RabbitMQ.
+
     - csv
       Write to comma separated values (CSV) files. This needs lots of
       diskspace but is extremely portable and can be analysed with almost
@@ -294,6 +333,10 @@ Features
       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
@@ -326,6 +369,10 @@ Features
       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.
 
@@ -355,12 +402,19 @@ Features
       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_hashed
+      Match values using a hash function of the hostname.
+
     - match_regex
       Match values by their identifier based on regular expressions.
 
@@ -376,6 +430,9 @@ Features
     - target_replace
       Replace parts of an identifier using regular expressions.
 
+    - target_scale
+      Scale (multiply) values by an arbitrary value.
+
     - target_set
       Set (overwrite) entire parts of an identifier.
 
@@ -392,7 +449,7 @@ Features
     network plugins, makes sure your resources are used efficiently. Also,
     since collectd is programmed multithreaded it benefits from hyperthreading
     and multicore processors and makes sure that the daemon isn't idle if only
-    one plugins waits for an IO-operation to complete.
+    one plugin waits for an IO-operation to complete.
 
   * Once set up, hardly any maintenance is necessary. Setup is kept as easy
     as possible and the default values should be okay for most users.
@@ -458,6 +515,10 @@ Prerequisites
   * libclntsh (optional)
     Used by the `oracle' plugin.
 
+  * libcredis (optional)
+    Used by the redis plugin. Please note that you require a 0.2.2 version
+    or higher. <http://code.google.com/p/credis/>
+
   * libcurl (optional)
     If you want to use the `apache', `ascent', `curl', `nginx', or `write_http'
     plugin.
@@ -473,31 +534,48 @@ Prerequisites
 
   * 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>
+
+  * libmodbus (optional)
+    Used by the `modbus' plugin to communicate with Modbus/TCP devices.
+    <https://launchpad.net/libmodbus>
 
   * libmysqlclient (optional)
     Unsurprisingly used by the `mysql' plugin.
     <http://dev.mysql.com/>
 
+  * libnetapp (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>
@@ -532,6 +610,23 @@ Prerequisites
     The PostgreSQL C client library used by the `postgresql' plugin.
     <http://www.postgresql.org/>
 
+  * libprotobuf-c, protoc-c (optional)
+    Used by the `pinba' plugin to generate a parser for the network packets
+    sent by the Pinba PHP extension.
+    <http://code.google.com/p/protobuf-c/>
+
+  * libpython (optional)
+    Used by the `python' plugin. Currently, only 2.3 ≦ Python < 3 is supported.
+    <http://www.python.org/>
+
+  * librabbitmq (optional; also called “rabbitmq-c”)
+    Used by the AMQP plugin for AMQP connections, for example to RabbitMQ.
+    <http://hg.rabbitmq.com/rabbitmq-c/>
+
+  * 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,
@@ -551,6 +646,10 @@ Prerequisites
     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/>
@@ -568,7 +667,11 @@ Prerequisites
 
   * libyajl (optional)
     Parse JSON data. This is needed for the `curl_json' plugin.
-    <http://www.lloydforge.org/projects/yajl/>
+    <http://github.com/lloyd/yajl>
+
+  * libvarnish (optional)
+     Fetches statistics from a Varnish instance. This is needed for the Varnish plugin
+     <http://varnish-cache.org>
 
 Configuring / Compiling / Installing
 ------------------------------------