X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=README;h=07a7415a00d6dc4ef929762aff433d4ec6087e32;hb=3ab61b1ff7e5c259256660a39c3e83f13a9a70f6;hp=e698786a1cb86baafacbc838375d334875e3b10a;hpb=d3fc6d0831a63af2e96300f488a9f8f5fc3183fb;p=collectd.git diff --git a/README b/README index e698786a..07a7415a 100644 --- a/README +++ b/README @@ -33,6 +33,20 @@ 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. + + - curl_json + Retrieves JSON data via cURL and parses it according to user + configuration. + - cpu CPU utilization: Time spent in the system, user, nice, idle, and related states. @@ -40,6 +54,10 @@ Features - cpufreq CPU frequency (For laptops with speed step or a similar technology) + - dbi + Executes SQL statements on various databases and interprets the returned + data. + - df Mountpoint usage (Basically the values `df(1)' delivers) @@ -65,6 +83,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. @@ -76,6 +100,9 @@ Features Iptables' counters: Number of bytes that were matched by a certain iptables rule. + - ipmi + IPMI (Intelligent Platform Management Interface) sensors information. + - ipvs IPVS connection statistics (number of connections, octets and packets for each service and destination). @@ -84,16 +111,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. @@ -110,6 +148,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 @@ -135,10 +177,21 @@ 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. + - openvpn + RX and TX of each client in openvpn-status.log (status-version 2). + + + - oracle + Query data from an Oracle database. + - perl The perl plugin implements a Perl-interpreter into collectd. You can write your own plugins in Perl and return arbitrary values using this @@ -152,9 +205,18 @@ Features PostgreSQL database statistics: active server connections, transaction numbers, block IO, table row manipulations. + - powerdns + PowerDNS name server statistics. + - 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. + - sensors System sensors, accessed using lm_sensors: Voltages, temperatures and fan rotation speeds. @@ -170,6 +232,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. @@ -180,6 +245,22 @@ Features - tcpconns Number of TCP connections to specific local and remote ports. + - 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. @@ -197,6 +278,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: @@ -214,6 +298,11 @@ Features you can easily do weird stuff with the plugins we didn't dare think of ;) See collectd-perl(5). + - rrdcached + Output to round-robin-database (RRD) files using the RRDtool caching + daemon (RRDcacheD) - see rrdcached(1). That daemon provides a general + implementation of the caching done by the `rrdtool' plugin. + - rrdtool Output to round-robin-database (RRD) files using librrd. See rrdtool(1). This is likely the most popular destination for such values. Since @@ -226,6 +315,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: @@ -265,6 +359,30 @@ Features Notifications are propagated to plugins written in Perl as well. See collectd-perl(5). + * 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. + + - match_timediff + Match values with an invalid timestamp. + + - match_value + Select values by their data sources' values. + + - target_notification + Create and dispatch a notification. + + - target_replace + Replace parts of an identifier using regular expressions. + + - target_set + Set (overwrite) entire parts of an identifier. + * Miscellaneous plugins: - uuid @@ -279,7 +397,7 @@ Features 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. - + * 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. @@ -339,77 +457,131 @@ Prerequisites * CoreFoundation.framework and IOKit.framework (optional) For compiling on Darwin in general and the `apple_sensors' plugin in particular. + + + * libclntsh (optional) + Used by the `oracle' plugin. * libcurl (optional) - If you want to use the `apache', `ascent', or `nginx' plugin. + If you want to use the `apache', `ascent', `curl', `nginx', or `write_http' + plugin. + + + * libdbi (optional) + Used by the `dbi' plugin to connect to various databases. + * libesmtp (optional) For the `notify_email' plugin. + + + * 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. + * libiptc (optional) For querying iptables counters. + + + 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. + + + * 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. + * libnetsnmp (optional) For the `snmp' plugin. + * libnotify (optional) For the `notify_desktop' plugin. + - * 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. + * libowcapi (optional) Used by the `onewire' plugin to read values from onewire sensors (or the owserver(1) daemon). + * libpcap (optional) Used to capture packets by the `dns' plugin. + * libperl (optional) Obviously used by the `perl' plugin. The library has to be compiled with ithread support (introduced in Perl 5.6.0). + * libpq (optional) The PostgreSQL C client library used by the `postgresql' plugin. + - * librrd (optional; headers and library; rrdtool 1.0 and 1.2 both work fine) - If built without `librrd' the resulting binary will be `client only', i.e. - will send its values via multicast and not create any RRD files itself. - Alternatively you can chose to write CSV-files (Comma Separated Values) - instead. + * 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, + 1.2 and 1.3 are known to work with the `rrdtool' plugin. + * librt, libsocket, libkstat, libdevinfo (optional) Various standard Solaris libraries which provide system functions. + * libsensors (optional) To read from `lm_sensors', see the `sensors' plugin. + - * libstatgrab (optional) may be used to collect statistics on systems other - than Linux and/or Solaris. Note that CPU- and disk-statistics, while being - provided by this library, are not supported in collectd right now.. - + * libstatgrab (optional) + Used by various plugins to collect statistics on systems other than Linux + and/or Solaris. + * libupsclient/nut (optional) For the `nut' plugin which queries nut's `upsd'. + * libvirt (optional) Collect statistics from virtual machines. + * libxml2 (optional) Parse XML data. This is needed for the `ascent' and `libvirt' plugins. + * libxmms (optional) + + * libyajl (optional) + Parse JSON data. This is needed for the `curl_json' plugin. + Configuring / Compiling / Installing ------------------------------------ @@ -418,16 +590,22 @@ Configuring / Compiling / Installing `./configure && make && make install'. For detailed, generic instructions see INSTALL. For a complete list of configure options and their description, run `./configure --help'. - + By default, the configure script will check for all build dependencies and disable all plugins whose requirements cannot be fulfilled (any other plugin will be enabled). To enable a plugin, install missing dependencies (see section `Prerequisites' above) and rerun `configure'. If you specify the `--enable-' configure option, the script will fail if the depen- - dencies for the specified plugin are not met. If you specify the - `--disable-' 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-=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-' 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 @@ -435,6 +613,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 -------------- @@ -454,12 +668,24 @@ Crosscompiling that the compiled binary actually behaves as it should, but since NANs are likely never passed to the libm you have a good chance to be lucky. + Likewise, collectd needs to know the layout of doubles in memory, in order + to craft uniform network packets over different architectures. For this, it + needs to know how to convert doubles into the memory layout used by x86. The + configure script tries to figure this out by compiling and running a few + small test programs. This is of course not possible when cross-compiling. + You can use the `--with-fp-layout' option to tell the configure script which + conversion method to assume. Valid arguments are: + + * `nothing' (12345678 -> 12345678) + * `endianflip' (12345678 -> 87654321) + * `intswap' (12345678 -> 56781234) + Contact ------- - For questions, bugreports, development information and basically all other - concerns please send an email to collectd's mailinglist at + For questions, bug reports, development information and basically all other + concerns please send an email to collectd's mailing list at . For live discussion and more personal contact visit us in IRC, we're in @@ -473,5 +699,6 @@ Author Sebastian tokkee Harl , and many contributors (see `AUTHORS'). - Please send bugreports and patches to the mailinglist, see `Contact' above. + Please send bug reports and patches to the mailing list, see `Contact' + above.