collectd - System information collection daemon
=================================================
-http://collectd.org/
+https://collectd.org/
About
-----
Statistics about Ascent, a free server for the game `World of Warcraft'.
- barometer
- Using digital barometer sensor MPL115A2 or MPL3115 from Freescale
- provides absolute barometric pressure, air pressure reduced to sea level
- and temperature.
+ Reads absolute barometric pressure, air pressure reduced to sea level and
+ temperature. Supported sensors are MPL115A2 and MPL3115 from Freescale
+ and BMP085 from Bosch.
- battery
Batterycharge, -current and voltage of ACPI and PMU based laptop
Name server and resolver statistics from the `statistics-channel'
interface of BIND 9.5, 9,6 and later.
+ - ceph
+ Statistics from the Ceph distributed storage system.
+
- cgroups
CPU accounting information for process groups under Linux.
+ - chrony
+ Chrony daemon statistics: Local clock drift, offset to peers, etc.
+
- conntrack
Number of nf_conntrack entries.
- cpufreq
CPU frequency (For laptops with speed step or a similar technology)
+ - cpusleep
+ CPU sleep: Time spent in suspend (For mobile devices which enter suspend automatically)
+
- curl
Parse statistics from websites using regular expressions.
Values gathered by a custom program or script.
See collectd-exec(5).
+ - fhcount
+ File handles statistics.
+
- filecount
Count the number of files in directories.
- gmond
Receive multicast traffic from Ganglia instances.
+ - gps
+ Monitor gps related data through gpsd.
+
+ - grpc
+ Receive values over the network using the gRPC framework.
+
- hddtemp
Hard disk temperatures using hddtempd.
Interface traffic: Number of octets, packets and errors for each
interface.
- - iptables
- Iptables' counters: Number of bytes that were matched by a certain
- iptables rule.
+ - ipc
+ IPC counters: semaphores used, number of allocated segments in shared
+ memory and more.
- ipmi
IPMI (Intelligent Platform Management Interface) sensors information.
+ - iptables
+ Iptables' counters: Number of bytes that were matched by a certain
+ iptables rule.
+
- ipvs
IPVS connection statistics (number of connections, octets and packets
for each service and destination).
Reads values from Modbus/TCP enabled devices. Supports reading values
from multiple "slaves" so gateway devices can be used.
+ - mqtt
+ Publishes and subscribes to MQTT topics.
+
- multimeter
Information provided by serial multimeters, such as the `Metex
M-4650CR'.
- ntpd
NTP daemon statistics: Local clock drift, offset to peers, etc.
+ - numa
+ Information about Non-Uniform Memory Access (NUMA).
+
- nut
Network UPS tools: UPS current, voltage, power, charge, utilisation,
temperature, etc. See upsd(8).
- - numa
- Information about Non-Uniform Memory Access (NUMA).
-
- olsrd
Queries routing information from the “Optimized Link State Routing”
daemon.
Read onewire sensors using the owcapu library of the owfs project.
Please read in collectd.conf(5) why this plugin is experimental.
+ - openldap
+ Read monitoring information from OpenLDAP's cn=Monitor subtree.
+
- openvpn
RX and TX of each client in openvpn-status.log (status-version 2).
<http://openvpn.net/index.php/documentation/howto.html>
Reads the number of records and file size from a running Tokyo Tyrant
server.
+ - turbostat
+ Reads CPU frequency and C-state residency on modern Intel
+ turbo-capable processors.
+
- uptime
System uptime statistics.
- wireless
Link quality of wireless cards. Linux only.
+ - xencpu
+ XEN Hypervisor CPU stats.
+
- xmms
Bitrate and frequency of music played with XMMS.
- zfs_arc
Statistics for ZFS' “Adaptive Replacement Cache” (ARC).
+ - zone
+ Measures the percentage of cpu load per container (zone) under Solaris 10
+ and higher
+
+ - zookeeper
+ Read data from Zookeeper's MNTR command.
+
* Output can be written or sent to various destinations by the following
plugins:
can be configured to avoid logging send errors (especially useful when
using UDP).
- - write_tsdb
- Sends data OpenTSDB, a scalable no master, no shared state time series
- database.
-
- 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
- write_kafka
Sends data to Apache Kafka, a distributed queue.
+ - write_log
+ Writes data to the log
+
- write_mongodb
Sends data to MongoDB, a NoSQL database.
- write_riemann
Sends data to Riemann, a stream processing and monitoring system.
+ - write_sensu
+ Sends data to Sensu, a stream processing and monitoring system, via the
+ Sensu client local TCP socket.
+
+ - write_tsdb
+ Sends data OpenTSDB, a scalable no master, no shared state time series
+ database.
+
* Logging is, as everything in collectd, provided by plugins. The following
- plugins keep up informed about what's going on:
+ plugins keep us informed about what's going on:
- logfile
Writes log messages to a file or STDOUT/STDERR.
Send an E-mail with the notification message to the configured
recipients.
+ - notify_nagios
+ Submit notifications as passive check results to a local nagios instance.
+
- exec
Execute a program or script to handle the notification.
See collectd-exec(5).
particular.
<http://developer.apple.com/corefoundation/>
+ * libatasmart (optional)
+ Used by the `smart' plugin.
+ <http://git.0pointer.de/?p=libatasmart.git>
+
+ * libcap (optional)
+ The `turbostat' plugin can optionally build Linux Capabilities support,
+ which avoids full privileges requirement (aka. running as root) to read
+ values.
+ <http://sites.google.com/site/fullycapable/>
+
* 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/>
+ * libhiredis (optional)
+ Used by the redis plugin. Please note that you require a 0.10.0 version
+ or higher. <https://github.com/redis/hiredis>
* libcurl (optional)
If you want to use the `apache', `ascent', `bind', `curl', `curl_json',
Used by the `gmond' plugin to process data received from Ganglia.
<http://ganglia.info/>
+ * libgrpc (optional)
+ Used by the `grpc' plugin. gRPC requires a C++ compiler supporting the
+ C++11 standard.
+ <https://grpc.io/>
+
* libgcrypt (optional)
Used by the `network' plugin for encryption and authentication.
<http://www.gnupg.org/>
+ * libgps (optional)
+ Used by the `gps' plugin.
+ <http://developer.berlios.de/projects/gpsd/>
+
* libhal (optional)
If present, the `uuid' plugin will check for UUID from HAL.
<http://hal.freedesktop.org/>
libjvm” below.
<http://openjdk.java.net/> (and others)
+ * libldap (optional)
+ Used by the `openldap' plugin.
+ <http://www.openldap.org/>
+
* liblvm2 (optional)
Used by the `lvm' plugin.
<ftp://sources.redhat.com/pub/lvm2/>
The PostgreSQL C client library used by the `postgresql' plugin.
<http://www.postgresql.org/>
+ * libprotobuf, protoc 3.0+ (optional)
+ Used by the `grpc' plugin to generate service stubs and code to handle
+ network packets of collectd's protobuf-based network protocol.
+ <https://developers.google.com/protocol-buffers/>
+
* libprotobuf-c, protoc-c (optional)
Used by the `pinba' plugin to generate a parser for the network packets
- sent by the Pinba PHP extension, and by the `write_riemann' plugin to
- generate events to be sent to a Riemann server.
+ sent by the Pinba PHP extension.
<http://code.google.com/p/protobuf-c/>
* libpython (optional)
`virt' plugins.
<http://xmlsoft.org/>
+ * libxen (optional)
+ Used by the `xencpu' plugin.
+ <http://xenbits.xensource.com/>
+
* libxmms (optional)
<http://www.xmms.org/>
* libyajl (optional)
- Parse JSON data. This is needed for the `curl_json' and `log_logstash'
- plugins.
+ Parse JSON data. This is needed for the `ceph', `curl_json' and
+ `log_logstash' plugins.
<http://github.com/lloyd/yajl>
* libvarnish (optional)
`varnish' plugin.
<http://varnish-cache.org>
+ * riemann-c-client (optional)
+ For the `write_riemann' plugin.
+ <https://github.com/algernon/riemann-c-client>
+
Configuring / Compiling / Installing
------------------------------------
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:
+ C-flags, LD-flags and LIBS for the ‘Java’ plugin by hand, using the
+ following environment variables:
- JAVA_CPPFLAGS
- JAVA_CFLAGS
- JAVA_LDFLAGS
+ - JAVA_LIBS
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
+ Adding "-ljvm" to JAVA_LIBS is done automatically, you don't have to
do that.
+Generating the configure script
+-------------------------------
+
+Collectd ships with a `build.sh' script to generate the `configure'
+script shipped with releases.
+
+To generate the `configure` script, you'll need the following dependencies:
+
+- autoconf
+- automake
+- flex
+- bison
+- libtool
+- libtool-ltdl
+- pkg-config
+
+The `build.sh' script takes no arguments.
+
Crosscompiling
--------------