diff --git a/debian/README.Debian b/debian/README.Debian
index 273216a3c4bc73a8193f8871bad6cb44586a2404..cab3f6438cc1b39149199b0bf1a0062bbd592502 100644 (file)
--- a/debian/README.Debian
+++ b/debian/README.Debian
--------------
- Some plugins require additional libraries. To prevent you from having to
- install dependencies that you don't actually need those libraries are
- recommendations rather than dependencies. See README.Debian.plugins in the
- "collectd" package for details.
+ install dozens of further packages that you don't actually need, there is no
+ strict dependency on those libraries. Rather, they are listed as recommenda-
+ tions ("collectd" package) or suggestions ("collectd-core" package"). See
+ /usr/share/doc/collectd-core/README.Debian.plugins for details.
+
+- The main components of collectd have been split into two packages:
+
+ * "collectd-core":
+ This package contains the main program file and the plugins but no config-
+ uration. It allows sites to, e.g., provide customizations on top of it
+ without having to modify the "collectd" package. For example, a custom
+ configuration and appropriate dependencies may be provided by some package
+ depending on "collectd-core" and conflicting / replacing / providing
+ "collectd". Ready-to-use sample config files (collectd.conf, filters.conf,
+ thresholds.conf) are available in /usr/share/doc/collectd-core/examples/.
+
+ * "collectd":
+ This package provides a full installation of the daemon, including a
+ configuration. It is meant to be ready to use for simple setups or first
+ steps.
Configuring collectd:
---------------------
"/var/lib/collectd/" and generate a static HTML file and a directory
containing several PNG files which are graphs of the RRD files found.
- This script was intended to be used with version 3 of collectd but still
- seems to be in use by some people. To get it working with version 4, you
- have to call it once for each subdirectory containing RRD files. A sample
- wrapper might look like this:
-
- for dir in /var/lib/collectd/rrd/$hostname/*; do
- out_dir=`basename "$dir"`
- mkdir -p $out_dir
- ( cd $out_dir && collectd2html.pl --data-dir="$dir" )
- done
-
- collection.cgi: Sample CGI script that creates graphs on the fly. The Perl
modules "RRDs" (package librrds-perl), "URI:Escape" (package liburi-perl),
"HTML::Entities" (package libhtml-parser-perl) and a CGI capable web server
(http://localhost/cgi-bin/collection.cgi by default). Please refer to your
webserver's documentation for more details.
- Starting with version 4, collection.cgi requires a small config file, which
- is installed to /etc/collectd/collection.conf. You should not need to change
- anything there.
+ collection.cgi requires a small config file, which is installed to
+ /etc/collectd/collection.conf. You should not need to change anything there.
- collection3: A graphing front-end for the RRD files created by and filled
with collectd. See /usr/share/doc/collectd/examples/collection3/README for
details. This is a successor for collection.cgi.
+Cleanup of old data:
+--------------------
+
+collectd itself does not take care of removing any data files (e.g. RRDtool)
+that are no longer updated (e.g., no longer existing hosts or instances).
+There are a couple of ways to take care of that. In any case, double-check the
+list of files to be removed before doing so! We do not take responsibility for
+any data loss or similar.
+
+- Check the last modification time of all RRD files:
+
+ find /var/lib/collectd/rrd/ -mtime +30 -type f
+
+ This will list all files that have not been updated within the last 30 days.
+ After double-checking the list of files, use a command like the following to
+ delete old files:
+
+ find /var/lib/collectd/rrd/ -mtime +30 -type f | xargs rm
+
+ NOTE: Some versions of RRDtool did not update mtime when writing to a file.
+ This has been fixed in version 1.3.5 of RRDtool. If your version is
+ affected by that, this approach does not work.
+
+- Check the 'last_update' header of the RRD files:
+
+ export IFS="
+ "
+ for file in $( find /var/lib/collectd/rrd/ -type f -name '*.rrd' ); do
+ last_update=$( rrdtool info $file | grep last_update | cut -d' ' -f3 )
+ if test -n "$last_update" \
+ -a $(( $( date +%s ) - $last_update )) -gt 2592000; then
+ echo $file
+ fi
+ done
+
+ This will also list all files that have not been updated within the last 30
+ days. It's a bit more expensive since each and every RRD file will have to
+ be read from disk rather than checking the file-system meta-data only.
+
+When doing those checks, take into account any caching times configured in the
+RRDtool plugin or when using RRDCacheD.
+
Building your own plugins:
--------------------------
- Originally, plugins for collectd had to be written in C and linked as shared
objects. Starting with version 4.0.0, it is also possible to use plugins
written in the scripting language Perl or implemented as separate processes.
- See collectd-perl(5) and collectd-exec(5) for details.
+ In later versions, support for Java and Python has been added. See the
+ appropriate collectd-<extension>(5) manual page for details.
- If you want to contribute plugins to the official distribution you should
read http://collectd.org/dev-info.shtml.
global logging of all traffic going in and out of an interface. This
information can then be collected by collectd's iptables plugin.
+- collectd-network.py: Python module implementing the collectd network
+ protocol in pure Python. It currently supports to receive data and
+ notifications from collectd.
+
+- collectd-unixsock.py: Python module providing an interface to collect's
+ unixsock plugin.
+
- cussh.pl: "Collectd Unix Socket SHell" is a small, interactive front-end for
the unixsock plugin. See the embedded POD documentation for details: perldoc
cussh.pl.
it to a format the exec-plugin understands. The features are limited -
changing the munin plugins to use the output format understood by the
exec-plugin is recommended. See the embedded POD documentation for more
- details: perldoc exec-munin.px
+ details: perldoc exec-munin.px.
- exec-smartctl: Sample script for the exec plugin. Please refer to the
documentation in the file - you will have to adapt it to your needs anyway.
packet counters, UPS-MIB and whatever people have send in. If you have some
more definitions please send them in, so others can profit from it.
+- snmp-probe-host.px: Script to be used to automatically generate SNMP
+ configuration snippets for the "snmp" plugin. See the embedded POD
+ documentation for more details: perldoc snmp-probe-host.px.
+
Additional helper scripts:
--------------------------