diff --git a/app-admin/collectd/Manifest b/app-admin/collectd/Manifest index 81e7cd7b6c4c9..c44ebafc7c6f0 100644 --- a/app-admin/collectd/Manifest +++ b/app-admin/collectd/Manifest @@ -1,2 +1,3 @@ DIST collectd-5.4.1.tar.bz2 1521907 SHA256 75452129f271cb0aad28e57f12a49070618bbb7b6a9d64cf869e8766fa2f66e0 SHA512 96289f52d3d1da55c862ae9ee2f57972682d7eab87387e97efa41fb5197599e097abd71aed2fe014e26af37c9ae98471e06dd181c725849976242642ce5c9492 WHIRLPOOL 2ed85b9d6d00c4e7dc6af236b637e282f17c6c0b20c1ba3da9c12ea85c5fdea1add2e29165874c7e9620852e422282d489436a4e245b161902f8926185edec16 DIST collectd-5.5.0.tar.bz2 1824495 SHA256 847684cf5c10de1dc34145078af3fcf6e0d168ba98c14f1343b1062a4b569e88 SHA512 d2c2840f681c10345e02ad8df0f7c581dcb45bee276589fcd96b3dadd281a79ebb3b9a34a186242ef41285dde7fc505432376138ff4f72c4f60f1b840e640017 WHIRLPOOL 6223ca363984ab3777ca89e2cd5011f059b6ca7f5c66c5e7325d3155ce38ef2829caced3ad27e4d5016c5fdba59bb21b9b47d840ea0c4d164c3674b6ee5062ac +DIST collectd-5.5.1.tar.bz2 1797852 SHA256 f9c5d526e1f0429a7db1ccd90bdf9e23923a2fd43b7285cfda8f0341e5c0bc3f SHA512 1935809571b8f0e0870399385312a5687f441d11e08a0c7d1337384b3790c3436ba84f89226aad979584045cc13bdf88f1350a0f49c94bcd0dbcf12ae4704dae WHIRLPOOL 3efeeb9262344a8a1c0aa068e64f5d45ff536d1fc1399b4599143a6e47740d5a33aedf482dbf9110cc5f0345d624fbe71ff00fc6f7afeee891326617f7979e41 diff --git a/app-admin/collectd/collectd-5.5.1.ebuild b/app-admin/collectd/collectd-5.5.1.ebuild new file mode 100644 index 0000000000000..d14a36b830dbc --- /dev/null +++ b/app-admin/collectd/collectd-5.5.1.ebuild @@ -0,0 +1,459 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI="6" + +PYTHON_COMPAT=( python{2_7,3_4,3_5} ) + +inherit autotools eutils fcaps java-pkg-opt-2 linux-info multilib perl-functions python-single-r1 systemd user + +DESCRIPTION="Collects system statistics and provides mechanisms to store the values" + +HOMEPAGE="http://collectd.org/" +SRC_URI="${HOMEPAGE}/files/${P}.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="contrib debug java kernel_Darwin kernel_FreeBSD kernel_linux perl selinux static-libs" + +# The plugin lists have to follow here since they extend IUSE + +# Plugins that don't build (e.g. dependencies not in Gentoo) +# apple_sensors: Requires libIOKit +# aquaero: Requires aerotools-ng/libaquaero5 +# barometer: Requires libi2c (i2c_smbus_read_i2c_block_data) +# lpar: Requires libperfstat (AIX only) +# mic: Requires Intel Many Integrated Core Architecture API +# (part of Intel's Xeon Phi software) +# netapp: Requires libnetapp (http://communities.netapp.com/docs/DOC-1110) +# pf: Requires BSD packet filter +# pinba: Requires MySQL Pinba engine (http://pinba.org/) +# tape: Requires libkstat (Solaris only) +# write_kafka: Requires librdkafka +# write_mongodb: https://github.com/collectd/collectd/issues/492 +# xmms: Requires libxmms (v1) +COLLECTD_IMPOSSIBLE_PLUGINS="apple_sensors aquaero mic netapp pf pinba tape write_kafka write_mongodb xmms" + +# Plugins that have been (compile) tested and can be enabled via COLLECTD_PLUGINS +COLLECTD_TESTED_PLUGINS="amqp aggregation apache apcups ascent battery bind ceph + cgroups conntrack contextswitch cpu cpufreq csv curl curl_json curl_xml dbi df + disk dns drbd email entropy ethstat exec fhcount filecount fscache genericjmx + gmond hddtemp interface ipc ipmi iptables ipvs irq java load logfile log_logstash + lvm madwifi match_empty_counter match_hashed match_regex match_timediff match_value + mbmon md memcachec memcached memory modbus multimeter mysql netlink network network + nfs nginx notify_desktop notify_email ntpd numa nut olsrd onewire openldap openvpn + oracle perl ping postgresql powerdns processes protocols python python redis + routeros rrdcached rrdtool sensors serial sigrok smart snmp statsd swap syslog + table tail tail_csv target_notification target_replace target_scale target_set + tcpconns teamspeak2 ted thermal threshold tokyotyrant turbostat unixsock uptime + users uuid varnish virt vmem vserver wireless write_graphite write_http + write_log write_redis write_riemann write_sensu write_tsdb zfs_arc zookeeper" + +COLLECTD_DISABLED_PLUGINS="${COLLECTD_IMPOSSIBLE_PLUGINS}" + +COLLECTD_ALL_PLUGINS=${COLLECTD_TESTED_PLUGINS} + +for plugin in ${COLLECTD_ALL_PLUGINS}; do + IUSE="${IUSE} collectd_plugins_${plugin}" +done +unset plugin + +# Now come the dependencies. + +COMMON_DEPEND=" + dev-libs/libgcrypt:= + sys-devel/libtool + perl? ( dev-lang/perl:=[ithreads] ) + collectd_plugins_amqp? ( net-libs/rabbitmq-c ) + collectd_plugins_apache? ( net-misc/curl ) + collectd_plugins_ascent? ( net-misc/curl dev-libs/libxml2 ) + collectd_plugins_bind? ( dev-libs/libxml2:= ) + collectd_plugins_ceph? ( dev-libs/yajl ) + collectd_plugins_curl? ( net-misc/curl ) + collectd_plugins_curl_json? ( net-misc/curl dev-libs/yajl ) + collectd_plugins_curl_xml? ( net-misc/curl dev-libs/libxml2:= ) + collectd_plugins_dbi? ( dev-db/libdbi ) + collectd_plugins_disk? ( virtual/udev ) + collectd_plugins_dns? ( net-libs/libpcap ) + collectd_plugins_genericjmx? ( virtual/jre:= dev-java/java-config-wrapper ) + collectd_plugins_gmond? ( sys-cluster/ganglia ) + collectd_plugins_ipmi? ( >=sys-libs/openipmi-2.0.16-r1 ) + collectd_plugins_iptables? ( >=net-firewall/iptables-1.4.13:= ) + collectd_plugins_java? ( virtual/jre:= dev-java/java-config-wrapper ) + collectd_plugins_log_logstash? ( dev-libs/yajl ) + collectd_plugins_lvm? ( sys-fs/lvm2 ) + collectd_plugins_memcachec? ( dev-libs/libmemcached ) + collectd_plugins_modbus? ( dev-libs/libmodbus ) + collectd_plugins_mysql? ( >=virtual/mysql-5.0 ) + collectd_plugins_netlink? ( net-libs/libmnl ) + collectd_plugins_nginx? ( net-misc/curl ) + collectd_plugins_notify_desktop? ( x11-libs/libnotify ) + collectd_plugins_notify_email? ( net-libs/libesmtp ) + collectd_plugins_nut? ( sys-power/nut ) + collectd_plugins_openldap? ( net-nds/openldap ) + collectd_plugins_onewire? ( >=sys-fs/owfs-3.1 ) + collectd_plugins_oracle? ( dev-db/oracle-instantclient-basic ) + collectd_plugins_perl? ( dev-lang/perl:=[ithreads] ) + collectd_plugins_ping? ( net-libs/liboping ) + collectd_plugins_postgresql? ( dev-db/postgresql:= ) + collectd_plugins_python? ( ${PYTHON_DEPS} ) + collectd_plugins_redis? ( dev-libs/hiredis:= ) + collectd_plugins_routeros? ( net-libs/librouteros ) + collectd_plugins_rrdcached? ( net-analyzer/rrdtool ) + collectd_plugins_rrdtool? ( net-analyzer/rrdtool ) + collectd_plugins_sensors? ( sys-apps/lm_sensors ) + collectd_plugins_sigrok? ( sci-libs/libsigrok ) + collectd_plugins_smart? ( virtual/udev dev-libs/libatasmart ) + collectd_plugins_snmp? ( net-analyzer/net-snmp ) + collectd_plugins_tokyotyrant? ( net-misc/tokyotyrant ) + collectd_plugins_varnish? ( www-servers/varnish ) + collectd_plugins_virt? ( app-emulation/libvirt dev-libs/libxml2:= ) + collectd_plugins_write_http? ( net-misc/curl ) + collectd_plugins_write_redis? ( dev-libs/hiredis:= ) + collectd_plugins_write_riemann? ( dev-libs/protobuf-c ) + + kernel_FreeBSD? ( + collectd_plugins_disk? ( sys-libs/libstatgrab:= ) + collectd_plugins_interface? ( sys-libs/libstatgrab:= ) + collectd_plugins_load? ( sys-libs/libstatgrab:= ) + collectd_plugins_memory? ( sys-libs/libstatgrab:= ) + collectd_plugins_swap? ( sys-libs/libstatgrab:= ) + collectd_plugins_users? ( sys-libs/libstatgrab:= ) + )" + +DEPEND="${COMMON_DEPEND} + collectd_plugins_genericjmx? ( >=virtual/jdk-1.6 ) + collectd_plugins_java? ( >=virtual/jdk-1.6 ) + virtual/pkgconfig" + +RDEPEND="${COMMON_DEPEND} + collectd_plugins_syslog? ( virtual/logger ) + selinux? ( sec-policy/selinux-collectd )" + +REQUIRED_USE=" + collectd_plugins_genericjmx? ( java ) + collectd_plugins_java? ( java ) + collectd_plugins_python? ( ${PYTHON_REQUIRED_USE} )" + +PATCHES=( + "${FILESDIR}/${PN}-4.10.3"-werror.patch + "${FILESDIR}/${PN}-5.5.1"-{libocci,lt,nohal}.patch +) + +# @FUNCTION: collectd_plugin_kernel_linux +# @DESCRIPTION: +# USAGE: +# kernel_options is a list of kernel configurations options; the check tests whether at least +# one of them is enabled. If no, depending on the third argument an elog, ewarn, or eerror message +# is emitted. +collectd_plugin_kernel_linux() { + local multi_opt opt + if has ${1} ${COLLECTD_ALL_PLUGINS}; then + if use collectd_plugins_${1}; then + for opt in ${2}; do + if linux_chkconfig_present ${opt}; then + return 0; + fi + done + multi_opt=${2//\ /\ or\ } + case ${3} in + (info) + elog "The ${1} plugin can use kernel features that are disabled now; enable ${multi_opt} in your kernel" + ;; + (warn) + ewarn "The ${1} plugin uses kernel features that are disabled now; enable ${multi_opt} in your kernel" + ;; + (error) + eerror "The ${1} plugin needs kernel features that are disabled now; enable ${multi_opt} in your kernel" + ;; + (*) + die "function collectd_plugin_kernel_linux called with invalid third argument" + ;; + esac + fi + fi +} + +collectd_linux_kernel_checks() { + if ! linux_chkconfig_present PROC_FS; then + ewarn "/proc file system support is disabled, many plugins will not be able to read any statistics from your system unless you enable PROC_FS in your kernel" + fi + + if ! linux_chkconfig_present SYSFS; then + ewarn "/sys file system support is disabled, many plugins will not be able to read any statistics from your system unless you enable SYSFS in your kernel" + fi + + # battery.c: /proc/pmu/battery_%i + # battery.c: /proc/acpi/battery + collectd_plugin_kernel_linux battery ACPI_BATTERY warn + + # cgroups.c: /sys/fs/cgroup/ + collectd_plugin_kernel_linux cgroups CONFIG_CGROUPS warn + + # cpufreq.c: /sys/devices/system/cpu/cpu%d/cpufreq/ + collectd_plugin_kernel_linux cpufreq SYSFS warn + collectd_plugin_kernel_linux cpufreq CPU_FREQ_STAT warn + + # drbd.c: /proc/drbd + collectd_plugin_kernel_linux drbd BLK_DEV_DRBD warn + + # conntrack.c: /proc/sys/net/netfilter/* + collectd_plugin_kernel_linux conntrack NETFILTER warn + + # fscache.c: /proc/fs/fscache/stats + collectd_plugin_kernel_linux fscache FSCACHE warn + + # nfs.c: /proc/net/rpc/nfs + # nfs.c: /proc/net/rpc/nfsd + collectd_plugin_kernel_linux nfs NFS_COMMON warn + + # serial.c: /proc/tty/driver/serial + # serial.c: /proc/tty/driver/ttyS + collectd_plugin_kernel_linux serial SERIAL_CORE warn + + # swap.c: /proc/meminfo + collectd_plugin_kernel_linux swap SWAP warn + + # thermal.c: /proc/acpi/thermal_zone + # thermal.c: /sys/class/thermal + collectd_plugin_kernel_linux thermal ACPI_THERMAL warn + + # turbostat.c: /dev/cpu/%d/msr + collectd_plugin_kernel_linux turbostat X86_MSR warn + + # vmem.c: /proc/vmstat + collectd_plugin_kernel_linux vmem VM_EVENT_COUNTERS warn + + # vserver.c: /proc/virtual + collectd_plugin_kernel_linux vserver VSERVER warn + + # uuid.c: /sys/hypervisor/uuid + collectd_plugin_kernel_linux uuid SYSFS info + + # wireless.c: /proc/net/wireless + collectd_plugin_kernel_linux wireless "WIRELESS MAC80211 IEEE80211" warn + + # zfs_arc.c: /proc/spl/kstat/zfs/arcstats + collectd_plugin_kernel_linux zfs_arc "SPL ZFS" warn +} + +pkg_setup() { + if use kernel_linux; then + linux-info_pkg_setup + + if linux_config_exists; then + einfo "Checking your linux kernel configuration:" + collectd_linux_kernel_checks + else + elog "Cannot find a linux kernel configuration. Continuing anyway." + fi + fi + + if use collectd_plugins_java || use collectd_plugins_genericjmx; then + java-pkg-opt-2_pkg_setup + fi + + use collectd_plugins_python && python-single-r1_pkg_setup + + enewgroup collectd + enewuser collectd -1 -1 /var/lib/collectd collectd +} + +src_prepare() { + epatch ${PATCHES[@]} + eapply_user + + # There's some strange prefix handling in the default config file, resulting in + # paths like "/usr/var/..." + sed -i -e "s:@prefix@/var:/var:g" src/collectd.conf.in || die + + sed -i -e "s:/etc/collectd/collectd.conf:/etc/collectd.conf:g" contrib/collectd.service || die + + # fix installdirs for perl, bug 444360 + sed -i -e 's/INSTALL_BASE=$(DESTDIR)$(prefix) //' bindings/Makefile.am || die + + if use collectd_plugins_java || use collectd_plugins_genericjmx; then + # Set javac -source and -target flags according to (R)DEPEND. + sed -i -e "s/\$(JAVAC)/\0 $(java-pkg_javac-args)/g" bindings/java/Makefile.am || die + fi + + rm -r libltdl || die + + eautoreconf +} + +src_configure() { + # Now come the lists of os-dependent plugins. Any plugin that is not listed anywhere here + # should work independent of the operating system. + + local linux_plugins="barometer battery cpu cpufreq disk drbd entropy + ethstat interface iptables ipvs irq ipc load memory md netlink nfs + numa processes serial swap tcpconns thermal turbostat users vmem + wireless zfc_arc" + + local need_libstatgrab=0 + local libstatgrab_plugins="cpu disk interface load memory swap users" + local bsd_plugins="cpu tcpconns ${libstatgrab_plugins} zfc_arc" + + local darwin_plugins="apple_sensors battery cpu disk interface memory processes tcpconns" + + local osdependent_plugins="${linux_plugins} ${bsd_plugins} ${darwin_plugins}" + local myos_plugins="" + if use kernel_linux; then + einfo "Enabling Linux plugins." + myos_plugins=${linux_plugins} + elif use kernel_FreeBSD; then + einfo "Enabling FreeBSD plugins." + myos_plugins=${bsd_plugins} + elif use kernel_Darwin; then + einfo "Enabling Darwin plugins." + myos_plugins=${darwin_plugins} + fi + + # Do we debug? + local myconf="$(use_enable debug)" + + local plugin + + # Disable what needs to be disabled. + for plugin in ${COLLECTD_DISABLED_PLUGINS}; do + myconf+=" --disable-${plugin}" + done + + # Set enable/disable for each single plugin. + for plugin in ${COLLECTD_ALL_PLUGINS}; do + if has ${plugin} ${osdependent_plugins}; then + # plugin is os-dependent ... + if has ${plugin} ${myos_plugins}; then + # ... and available in this os + myconf+=" $(use_enable collectd_plugins_${plugin} ${plugin})" + # ... must we link against libstatgrab? Bug #541518 + if use kernel_FreeBSD && has ${plugin} ${libstatgrab_plugins}; then + einfo "We must link against libstatgrab due to plugin \"${plugin}\" ..." + need_libstatgrab=1 + fi + else + # ... and NOT available in this os + if use collectd_plugins_${plugin}; then + ewarn "You try to enable the ${plugin} plugin, but it is not available for this" + ewarn "kernel. Disabling it automatically." + fi + myconf+=" --disable-${plugin}" + fi + elif [[ "${plugin}" = "collectd_plugins_perl" ]]; then + if use collectd_plugins_perl && ! use perl; then + ewarn "Perl plugin disabled as perl bindings disabled by -perl use flag" + myconf+= --disable-perl + else + myconf+=" $(use_enable collectd_plugins_${plugin} ${plugin})" + fi + else + myconf+=" $(use_enable collectd_plugins_${plugin} ${plugin})" + fi + done + + if [ "${need_libstatgrab}" -eq 1 ]; then + myconf+=" --with-libstatgrab" + else + myconf+=" --without-libstatgrab" + fi + + # JAVA_HOME is set by eclasses. + if use collectd_plugins_java || use collectd_plugins_genericjmx; then + myconf+=" --with-java" + fi + + # Need libiptc ONLY for iptables. If we try to use it otherwise bug 340109 happens. + # lots of libs are only needed for plugins, if they are disabled, also disable the lib + use collectd_plugins_iptables || myconf+=" --with-libiptc=no" + use collectd_plugins_openldap || myconf+=" --with-libldap=no" + use collectd_plugins_redis || use collectd_plugins_write_redis || myconf+=" --with-libhiredis=no" + use collectd_plugins_smart || myconf+=" --with-libatasmart=no" + use collectd_plugins_virt || myconf+=" --with-libvirt=no" + + if use perl; then + myconf+=" --with-perl-bindings=INSTALLDIRS=vendor" + else + myconf+=" --without-perl-bindings" + fi + + # No need for v5upgrade + myconf+=" --disable-target_v5upgrade" + + # Finally, run econf. + KERNEL_DIR="${KERNEL_DIR}" econf --config-cache --disable-ltdl-install \ + --without-included-ltdl $(use_enable static-libs static) \ + --localstatedir=/var ${myconf} +} + +src_install() { + emake DESTDIR="${D%/}" install + + perl_delete_localpod + + find "${ED}"usr/ -name "*.la" -delete || die + + if use collectd_plugins_java || use collectd_plugins_genericjmx; then + java-pkg_regjar "${ED}"usr/share/${PN}/java/*.jar + fi + + fowners root:collectd /etc/collectd.conf + fperms u=rw,g=r,o= /etc/collectd.conf + + dodoc AUTHORS ChangeLog NEWS README TODO + + if use contrib ; then + insinto /usr/share/doc/${PF} + doins -r contrib + fi + + keepdir /var/lib/${PN} + fowners collectd:collectd /var/lib/${PN} + + newinitd "${FILESDIR}/${PN}.initd-r1" ${PN} + newconfd "${FILESDIR}/${PN}.confd-r1" ${PN} + systemd_dounit "contrib/${PN}.service" + + insinto /etc/logrotate.d + newins "${FILESDIR}/logrotate" collectd + + sed -i -e 's:^.*PIDFile "/var/run/collectd.pid":PIDFile "/run/collectd/collectd.pid":' "${ED}"etc/collectd.conf || die + sed -i -e 's:^# SocketFile "/var/run/collectd-unixsock":# SocketFile "/run/collectd/collectd.socket":' "${ED}"etc/collectd.conf || die + sed -i -e 's:^.*LoadPlugin perl$:# The new, correct way to load the perl plugin -- \n# \n# Globals true\n# :' "${ED}"etc/collectd.conf || die + sed -i -e 's:^.*LoadPlugin python$:# The new, correct way to load the python plugin -- \n# \n# Globals true\n# :' "${ED}"etc/collectd.conf || die +} + +pkg_postinst() { + local caps=() + use collectd_plugins_ping && caps+=('cap_net_raw') + use collectd_plugins_iptables && caps+=('cap_net_admin') + use collectd_plugins_filecount && caps+=('cap_dac_read_search') + + if [ ${#caps[@]} -gt 0 ]; then + local caps_str=$(IFS=","; echo "${caps[*]}") + fcaps ${caps_str} usr/sbin/collectd + elog "Capabilities for ${EROOT}usr/sbin/collectd set to:" + elog " ${caps_str}+ep" + elog + fi + + elog "Note: Collectd is only the collector." + elog " You need to install 'data' sources (applications) locally or" + elog " remotely on your own." + + elog + elog "Collectd is configured to run as unprivileged user by default." + elog "You may want to revisit the configuration." + elog + + if use collectd_plugins_email; then + ewarn "The email plug-in is deprecated. To submit statistics please use the unixsock plugin." + fi + + if use contrib; then + elog "The scripts in /usr/share/doc/${PF}/collection3 for generating graphs need dev-perl/HTML-Parser," + elog "dev-perl/config-general, dev-perl/regexp-common, and net-analyzer/rrdtool[perl] to be installed." + fi +} diff --git a/app-admin/collectd/files/collectd-5.5.1-libocci.patch b/app-admin/collectd/files/collectd-5.5.1-libocci.patch new file mode 100644 index 0000000000000..e7baaa062d58e --- /dev/null +++ b/app-admin/collectd/files/collectd-5.5.1-libocci.patch @@ -0,0 +1,33 @@ +[PATCH 1/3] Link Oracle plug-in against libocci + +Author: Aurelien Minet +X-Gentoo-Bug: 347607 +X-Gentoo-Bug-URL: https://bugs.gentoo.org/show_bug.cgi?id=347607 +--- + configure.ac | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/configure.ac b/configure.ac +index fc1e11c..b977a0a 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -3248,14 +3248,14 @@ AC_ARG_WITH(oracle, [AS_HELP_STRING([--with-oracle@<:@=ORACLE_HOME@:>@], [Path t + ]) + if test "x$ORACLE_HOME" != "x" + then +- with_oracle_cppflags="-I$ORACLE_HOME/rdbms/public" ++ with_oracle_cppflags="-I$ORACLE_HOME/rdbms/public -locci" + + if test -e "$ORACLE_HOME/lib/ldflags" + then + with_oracle_libs=`cat "$ORACLE_HOME/lib/ldflags"` + fi + #with_oracle_libs="-L$ORACLE_HOME/lib $with_oracle_libs -lclntsh" +- with_oracle_libs="-L$ORACLE_HOME/lib -lclntsh" ++ with_oracle_libs="-L$ORACLE_HOME/lib -lclntsh -locci" + fi + if test "x$with_oracle" = "xyes" + then +-- +2.7.1 + diff --git a/app-admin/collectd/files/collectd-5.5.1-lt.patch b/app-admin/collectd/files/collectd-5.5.1-lt.patch new file mode 100644 index 0000000000000..eff1de8726ba9 --- /dev/null +++ b/app-admin/collectd/files/collectd-5.5.1-lt.patch @@ -0,0 +1,60 @@ +[PATCH 2/3] Remove bundled libltdl + +--- + Makefile.am | 6 ------ + configure.ac | 5 ----- + 2 files changed, 11 deletions(-) + +diff --git a/Makefile.am b/Makefile.am +index b79ea1c..d574601 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -1,11 +1,5 @@ +-ACLOCAL_AMFLAGS = -I libltdl/m4 +- + SUBDIRS = + +-if BUILD_INCLUDED_LTDL +-SUBDIRS += libltdl +-endif +- + SUBDIRS += src bindings . + + AM_CPPFLAGS = $(LTDLINCL) +diff --git a/configure.ac b/configure.ac +index b977a0a..78f3bee 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -2,7 +2,6 @@ dnl Process this file with autoconf to produce a configure script. + AC_INIT([collectd],[m4_esyscmd(./version-gen.sh)]) + AC_CONFIG_SRCDIR(src/) + AC_CONFIG_HEADERS(src/config.h) +-AC_CONFIG_AUX_DIR([libltdl/config]) + + dnl older automake's default of ARFLAGS=cru is noisy on newer binutils; + dnl we don't really need the 'u' even in older toolchains. Then there is +@@ -12,7 +11,6 @@ m4_divert_text([DEFAULTS], [: "${ARFLAGS=cr} ${AR_FLAGS=cr}"]) + m4_ifdef([LT_PACKAGE_VERSION], + # libtool >= 2.2 + [ +- LT_CONFIG_LTDL_DIR([libltdl]) + LT_INIT([dlopen]) + LTDL_INIT([convenience]) + AC_DEFINE(LIBTOOL_VERSION, 2, [Define to used libtool version.]) +@@ -24,13 +22,10 @@ m4_ifdef([LT_PACKAGE_VERSION], + AC_SUBST(LTDLINCL) + AC_SUBST(LIBLTDL) + AC_LIBTOOL_DLOPEN +- AC_CONFIG_SUBDIRS(libltdl) + AC_DEFINE(LIBTOOL_VERSION, 1, [Define to used libtool version.]) + ] + ) + +-AM_CONDITIONAL([BUILD_INCLUDED_LTDL], [test "x$LTDLDEPS" != "x"]) +- + AM_INIT_AUTOMAKE([tar-pax dist-bzip2 foreign]) + m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) + AC_LANG(C) +-- +2.7.1 + diff --git a/app-admin/collectd/files/collectd-5.5.1-nohal.patch b/app-admin/collectd/files/collectd-5.5.1-nohal.patch new file mode 100644 index 0000000000000..fcdebb5ed817e --- /dev/null +++ b/app-admin/collectd/files/collectd-5.5.1-nohal.patch @@ -0,0 +1,35 @@ +[PATCH 3/3] Remove libhal dependency + +X-Gentoo-Bug: 353839 +X-Gentoo-Bug-URL: https://bugs.gentoo.org/show_bug.cgi?id=353839 +--- + configure.ac | 13 +------------ + 1 file changed, 1 insertion(+), 12 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 1c85964..cf38159 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -1500,18 +1500,7 @@ AC_CHECK_LIB(resolv, res_search, + AM_CONDITIONAL(BUILD_WITH_LIBRESOLV, test "x$with_libresolv" = "xyes") + + dnl Check for HAL (hardware abstraction library) +-with_libhal="yes" +-AC_CHECK_LIB(hal,libhal_device_property_exists, +- [AC_DEFINE(HAVE_LIBHAL, 1, [Define to 1 if you have 'hal' library])], +- [with_libhal="no"]) +-if test "x$with_libhal" = "xyes"; then +- if test "x$PKG_CONFIG" != "x"; then +- BUILD_WITH_LIBHAL_CFLAGS="`$PKG_CONFIG --cflags hal`" +- BUILD_WITH_LIBHAL_LIBS="`$PKG_CONFIG --libs hal`" +- AC_SUBST(BUILD_WITH_LIBHAL_CFLAGS) +- AC_SUBST(BUILD_WITH_LIBHAL_LIBS) +- fi +-fi ++with_libhal="no" + + # --with-libpthread {{{ + AC_ARG_WITH(libpthread, [AS_HELP_STRING([--with-libpthread=@<:@=PREFIX@:>@], [Path to libpthread.])], +-- +2.7.1 + diff --git a/app-admin/collectd/files/collectd.confd-r1 b/app-admin/collectd/files/collectd.confd-r1 new file mode 100644 index 0000000000000..2633ab0fe8548 --- /dev/null +++ b/app-admin/collectd/files/collectd.confd-r1 @@ -0,0 +1,46 @@ +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +# Nice value used to launch collectd, to change priority of the process. As +# you usually we want to run it in background, a default of 5 is used. +# +#COLLECTD_NICELEVEL=5 + +# Location of configuration file. Modify if you don't like the standard +# one. +# +#COLLECTD_CONFIGFILE="/etc/collectd.conf" + +# File used to store the PID file. Usually you won't need to touch it. +# +#COLLECTD_PIDFILE="/run/collectd/collectd.pid" + +# User to run collectd as (default is collectd, change to root or give +# collectd user appropriate privileges if you use one of the plugins that +# require it, as e.g. ping or iptables plugins) +# +#COLLECTD_USER="collectd" + +# The group is only important if you are using collectd's UNIX socket +# in the default location (/run/collectd) because we will chown the +# default location to COLLECTD_USER:COLLECTD_GROUP. The default value +# is "collectd". +#COLLECTD_GROUP="collectd" + +# You can use this configuration option to pass additional options to the +# start-stop-daemon, see start-stop-daemon(8) for more details. +# Per default we wait 1000ms after we have started the service to ensure +# that the daemon is really up and running. +#COLLECTD_SSDARGS="--wait 1000" + +# The termination timeout (start-stop-daemon parameter "retry") ensures +# that the service will be terminated within a given time (25 + 5 seconds +# per default) when you are stopping the service. +#COLLECTD_TERMTIMEOUT="TERM/25/KILL/5" + +# Options to collectd +# See collectd(8) for more details +# Notes: +# * Do not specify another PIDFILE but use the variable above to change the location +# * Do not specify another CONFIGFILE but use the variable above to change the location +#COLLECTD_OPTS="" diff --git a/app-admin/collectd/files/collectd.initd-r1 b/app-admin/collectd/files/collectd.initd-r1 new file mode 100644 index 0000000000000..a90ec507eefcb --- /dev/null +++ b/app-admin/collectd/files/collectd.initd-r1 @@ -0,0 +1,79 @@ +#!/sbin/openrc-run +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +COLLECTD_CONFIGFILE=${COLLECTD_CONFIGFILE:-"/etc/collectd.conf"} +COLLECTD_PIDFILE=${COLLECTD_PIDFILE:-"/run/collectd/collectd.pid"} +COLLECTD_NICELEVEL=${COLLECTD_NICELEVEL:-5} +COLLECTD_USER=${COLLECTD_USER:-"collectd"} +COLLECTD_GROUP=${COLLECTD_GROUP:-"collectd"} +COLLECTD_SSDARGS=${COLLECTD_SSDARGS:-"--wait 1000"} +COLLECTD_TERMTIMEOUT=${COLLECTD_TERMTIMEOUT:-"TERM/25/KILL/5"} +COLLECTD_OPTS=${COLLECTD_OPTS:-""} + +command="/usr/sbin/collectd" +command_args="${COLLECTD_OPTS} -C \"${COLLECTD_CONFIGFILE}\" -P \"${COLLECTD_PIDFILE}\"" +start_stop_daemon_args="${COLLECTD_SSDARGS} --nice ${COLLECTD_NICELEVEL} --user ${COLLECTD_USER}:${COLLECTD_GROUP}" +pidfile="${COLLECTD_PIDFILE}" +retry="${COLLECTD_TERMTIMEOUT}" + +extra_commands="configtest" +description_configtest="Run collectd's internal config check." + +required_files="\"${COLLECTD_CONFIGFILE}\"" + +depend() { + use dns +} + +_checkconfig() { + if [ $(eval sed '/^$\|^#/d' \"${COLLECTD_CONFIGFILE}\" | grep --count 'LoadPlugin[[:space:]]\+oracle') -ge 1 ] ; then + if [ -e /etc/env.d/50oracle-instantclient-basic ] ; then + . /etc/env.d/50oracle-instantclient-basic + export ORACLE_HOME + export TNS_ADMIN + else + ewarn "Unable to set Oracle environment, Oracle plugin wont work" + fi + fi + + local test_command="${command} -t -C \"${COLLECTD_CONFIGFILE}\"" + + eval ${test_command} 1>/dev/null 2>&1 + ret=$? + if [ $ret -ne 0 ]; then + eerror "${SVCNAME} has detected an error in your configuration:" + eval ${test_command} + fi + + return $ret +} + +configtest() { + ebegin "Checking ${SVCNAME} configuration" + _checkconfig + eend $? +} + +start_pre() { + if [ "${RC_CMD}" != "restart" ]; then + configtest || return 1 + fi + + checkpath --directory --mode 0770 --owner ${COLLECTD_USER}:${COLLECTD_GROUP} "$(dirname "${COLLECTD_PIDFILE}")" +} + +stop_pre() { + if [ "${RC_CMD}" = "restart" ]; then + configtest || return 1 + fi +} + +stop_post() { + if [ -f "${COLLECTD_PIDFILE}" ]; then + vebegin "Removing stale PID file" + rm --force "${COLLECTD_PIDFILE}" + veend $? + fi +} diff --git a/app-admin/collectd/metadata.xml b/app-admin/collectd/metadata.xml index 2b9b9b41d44c1..91a068072e78f 100644 --- a/app-admin/collectd/metadata.xml +++ b/app-admin/collectd/metadata.xml @@ -1,133 +1,161 @@ - Collectd gathers statistics about the system it is running on and stores this information. Those statistics can then be used to find current performance bottlenecks (i.e. performance analysis) and predict future system load (i.e. capacity planning). Or if you just want pretty graphs of your private server and are fed up with some homegrown solution you're at the right place. bugs@bergstroem.nu Johan Bergström Proxied Maintainer + + whissi@whissi.de + Thomas D. + Proxied Maintainer + proxy-maint@gentoo.org Proxy Maintainers + + Collectd gathers statistics about the system it is running on and stores this + information. Those statistics can then be used to find current performance + bottlenecks (i.e. performance analysis) and predict future system load (i.e. + capacity planning). Or if you just want pretty graphs of your private server + and are fed up with some homegrown solution you're at the right place. + + + https://github.com/collectd/collectd/issues + https://collectd.org/documentation.shtml + collectd/collectd + - Build the aggregation plugin (aggregate multiplte values into a single value) - Build the apache input plugin (transferred bytes, handled requests, detailed scoreboard statistics) - Build the apcups input plugin (UPS charge, load, input/output/battery voltage, etc.) - Build the ascent input plugin (statistics about a free server for World of Warcraft) - Build the battery input plugin (charge, current and voltage of ACPI and PMU based laptop batteries) - Build the bind input plugin (name server and resolver statistics) - Build the plugin for sys-cluster/ceph - Build the cgroups CPU accounting collection plugin - Build the conntrack input plugin (number of nf_conntrack entries) - Build the contextswitch input plugin (number of context switches done by the operating system) - Build the cpu input plugin (time spent in the system, user, nice, idle, and related states) - Build the cpufreq input plugin (CPU frequency, for laptops with speedstep or similar) - Build the csv output plugin (write to comma separated values (CSV) files) - Build the curl input plugin (parse statistics from websites using regular expressions) - Build the curl_json input plugin (get json data via curl and parse it) - Build the curl_xml input plugin (get xml data via curl and parse it) - Build the dbi input plugin (execute SQL statements on databases and interpret the reply) - Build the df input plugin (mountpoint usage) - Build the disk input plugin (sectors read/written, number of read/write actions, average completion time of IO-operations) - Build the dns input plugin (collects statistics of your DNS traffic on port udp/53) - Build the plugin for DRBD statistics + Build the aggregation plugin (aggregates multiplte values into a single value) + Build the AMQP output plugin (transmits or receives values collected by collectd via the Advanced Message Queuing Protocol (AMQP)) + Build the apache input plugin (collects statistics from Apache's mod_status module) + Build the apcups input plugin (reads various statistics about a connected uninterruptible power supply (UPS)) + Build the ascent input plugin (reads and parses the statistics page of Ascent) + Build the barometer input plugin (reads sensor data from various Freescale and Bosch digital barometers) + Build the battery input plugin (collects the battery's charge, the drawn current and the battery's voltage) + Build the bind input plugin (collects statistics from bind instances) + Build the Ceph input plugin (collects statistics from the Ceph distributed storage system) + Build the cgroups input plugin (collects CPU accounting information for processes in a cgroup) + Build the conntrack input plugin (tracks the number of entries in Linux's connection tracking table) + Build the contextswitch input plugin (collects the number of context switches done by the operating system) + Build the cpu input plugin (collects the amount of time spent by the CPU in various states) + Build the cpufreq input plugin (collects the current CPU's frequency) + Build the csv output plugin (writes to comma separated values (CSV) files) + Build the curl input plugin (reads streams using net-misc/curl and then parses them according to the configuration) + Build the curl_json input plugin (queries JavaScript Object Notation (JSON) data using net-misc/curl and parses it according to the user's configuration using dev-libs/yajl) + Build the curl_xml input plugin (reads files using net-misc/curl and parses it as Extensible Markup Language (XML)) + Build the dbi input plugin (executes SQL statements on databases and reads back the result) + Build the df input plugin (collects file system usage information, i. e. basically how much space on a mounted partition is used and how much is available) + Build the disk input plugin (collects performance statistics of disks and, where supported, partitions) + Build the dns input plugin (collects statistics of your DNS traffic on port udp/53 using net-libs/libpcap) + Build the Linux's Distributed Replicated Block Device (DRBD) input plugin (reads Linux's DRBD statistics) Build the email input plugin (opens a UNIX domain socket and starts accepting connections on that socket) - Build the entropy input plugin (available entropy on a system) - Build the ethstat input plugin (performance statistics of Linux ethernet cards) + Build the entropy input plugin (collects the available entropy on a system) + Build the ethstat input plugin (reads performance statistics directly from ethernet cards) Build the exec input/output plugin (executes scripts / applications and reads values back) - Build the plugin for File handles statistics - Build the filecount input plugin (countd the number of files in a directory and all its subdirectories) - Build the fscache input plugin (information about the caching infrastructure for network file-systems etc) - Build the gmond input plugin (receive data from gmond, the client daemon of the Ganglia project) - Build the hddtemp input plugin (temperature of hard disks) - Build the interface input plugin (information about traffic, packets and errors of interfaces) - Build the plugin for IPC statistics - Build the ipmi input plugin (read hardware sensors from servers using the Intelligent Platform Management Interface (IPMI)) - Build the iptables input plugin (statistics from a ip_tables based packet filter) - Build the irq input plugin (number of times each interrupt has been handled by the os) + Build the file handles input plugin (reports the number of used file handles) + Build the filecount input plugin (counts the number of files in a directory and all its subdirectories) + Build the fscache input plugin (collects information about the file-system based caching infrastructure for network file-systems and other slow media) + Build the GenericJMX input plugin (reads Managed Beans (MBeans) from an MBeanServer using JMX input plugin; Requires JAVA) + Build the gmond input plugin (receives data from gmond, the client daemon of the Ganglia project) + Build the hddtemp input plugin (collects the temperature of disks from hddtemp daemon) + Build the interface input plugin (collects information about the traffic, packets per second and errors of interfaces) + Build the IPC input plugin (collects information related to shared memory) + Build the ipmi input plugin (reads hardware sensors from servers using the Intelligent Platform Management Interface (IPMI)) + Build the iptables input plugin (collects statistics from a ip_tables based packet filter) + Build the IPVS input plugin (collects statistics from Linux IP Virtual Server) + Build the irq input plugin (collects the number of times each interrupt has been handled by the operating system) Build the java input plugin (embeds a JVM into collectd for writing plugins) - Build the libvirt input plugin (statistics about virtualized guests on a system) - Build the load input plugin (system load) - Build the plugin for Logstash json_event compatible logging - Build the logfile output plugin (writes log messages to a text file) - Build the LVM input plugin - Build the madwifi input plugin (information about Atheros wireless LAN chipsets) + Build the (lib)virt input plugin (collects statistics about virtualized guests on a system) + Build the load input plugin (collects the system load) + Build the logfile output plugin (receives log messages from collectd and writes them to a text file) + Build the Logstash output plugin (writes collectd logs and events as Logstash JSON formatted events) + Build the LVM input plugin (collects the size of logical volumes (LV) and free space inside a volume group (VG) from Linux' Logical Volume Manager (LVM)) + Build the madwifi input plugin (collects information about Atheros wireless LAN chipsets from the MadWifi driver) Build the match_empty_counter filter plugin Build the match_hashed filter plugin Build the match_regex filter plugin Build the match_timediff filter plugin Build the match_value filter plugin - Build the mbmon input plugin (information from mainboard sensors) - Build the md input plugin (disk states in Linux md devices) - Build the memcachec input plugin (connects to a memcached server) - Build the memcached input plugin (connects to a memcached daemon) - Build the memory input plugin (physical memory utilization) + Build the mbmon input plugin (collects information from mainboard sensors) + Build the md input plugin (reports the number of disks in various states in Linux software RAID devices) + Build the memcachec input plugin (queries one or more given pages from a memcached instance and parses the returned data according to user specification) + Build the memcached input plugin (collects statistics from memcached daemon) + Build the memory input plugin (collects physical memory utilization) + Build the Modbus input plugin (reads register values from a Modbus "slave" via Modbus/TCP) Build the multimeter input plugin (reads a voltage or current from a multimeter connected to a serial bus) - Build the mysql input plugin (connects to an MySQL-database and issues a SHOW STATUS command) - Build the netlink input plugin (opens a netlink socket to the Linux kernel for getting statistics) - Build the network input/output plugin (communicates with other instances of collectd) - Build the nfs input plugin (usage of the Network File System) - Build the nginx input plugin (number of requests handled by the nginx daemon) - Build the notify_desktop output plugin (uses libnotify to display notifications to the user) - Build the notify_email output plugin (uses libESMTP to send notifications to a configured email address) - Build the ntpd input plugin (queries an NTP server) - Build the numa input plugin (statistics of the Linux Non-Uniform Memory Access (NUMA) subsystem) + Build the mysql input plugin (collects values from 'SHOW STATUS' command of a MySQL server) + Build the netlink input plugin (collects statistics for interfaces, qdiscs, classes and filters using netlink socket) + Build the network input/output plugin (send values to other and/or receive values from from other collectd instances) + Build the nfs input plugin (collects information about the usage of the Network File System (NFS)) + Build the nginx input plugin (collects number of requests handled and the number of current connections by connection state by the nginx daemon) + Build the notify_desktop output plugin (uses x11-libs/libnotify to display notifications to the user) + Build the notify_email output plugin (uses net-libs/libesmtp to send notifications to a configured email address) + Build the ntpd input plugin (collects statistics from a NTP server) + Build the numa input plugin (collects statistics of the Linux Non-Uniform Memory Access (NUMA) subsystem) Build the nut input plugin (collects UPS statistics using the Network UPS Tools) Build the olsrd input plugin (reads information about the Optimized Link State Routing daemon) - Build the onewire input plugin (collects temperature information from sensors) - Build the plugin for OpenLDAP statistics + Build the onewire (1-Wire) input plugin (collects temperature information from sensors) + Build the OpenLDAP input plugin (reads monitoring information from OpenLDAP's cn=Monitor subtree) Build the openvpn input plugin (reads the status file printed by OpenVPN) - Build the oracle input plugin (SQL-queries one or more Oracle database systems) + Build the oracle input plugin (executes SQL statements against Oracle database systems) Build the perl language binding plugin (embeds a Perl interpreter into collectd for writing plugins) Build the ping input plugin (measures network latency) - Build the postgresql input plugin (connects to and executes SQL statements on a PostgreSQL database) - Build the powerdns input plugin (connects to a local PowerDNS instance) - Build the processes input plugin (statistics about processes) - Build the protocols input plugin (network protocols) + Build the postgresql input plugin (executes SQL statements against a PostgreSQL database) + Build the powerdns input plugin (collects statistics from the PowerDNS name server or recursor via control socket) + Build the processes input plugin (collects the number of processes, grouped by their state or detailed statistics about selected processes) + Build the protocols input plugin (collects information about the network protocols supported by the system) Build the python language binding plugin (embeds a Python interpreter into collectd for writing plugins) - Build the Redis input plugin - Build the routeros input plugin (collect information on devices running RouterOS) + Build the Redis input plugin (collects usage information from Redis instances) + Build the routeros input plugin (collects information from devices running RouterOS) Build the rrdcached input/output plugin (connects to rrdcached and submits updates for RRD files) Build the rrdtool output plugin (writes values to RRD-files) - Build the sensors input plugin (uses lm-sensors to read hardware sensors) + Build the sensors input plugin (reads hardware sensors from lm-sensors) Build the serial input plugin (collects the traffic on serial interfaces) - Build the plugin for SMART statistics - Build the snmp input plugin (read values from network devices using SNMP) + Build the sigrok input plugin (reads measurements from any supported hardware from sigrok project) + Build the S.M.A.R.T input plugin (collects S.M.A.R.T statistics from disk drives) + Build the snmp input plugin (reads values from network devices using SNMP) Build the statsd input plugin (accepts statsd-type metrics from a UDP socket) - Build the swap input plugin (amount of memory currently written to swap) + Build the swap input plugin (collects amount of memory currently written to swap) Build the syslog output plugin (receives messages from collectd and dispatches them to syslog) Build the table input plugin (parses table-like structured plain text) - Build the tail input plugin (follows logfiles as e.g. tail -f) + Build the tail input plugin (follows logfiles, e.g. tail -f) + Build the tail_csv input plugin (follows and parses CSV files, e.g. tail -f *.csv) Build the target_notification filter plugin Build the target_replace filter plugin Build the target_scale filter plugin Build the target_set filter plugin - Build the tcpconns input plugin (number of TCP connections to or from a specified port) + Build the tcpconns input plugin (collects numbers of TCP connections to or from a specified port) Build the teamspeak2 input plugin (collects traffic statistics from a teamspeak2 instance) Build the ted input plugin (connects to The Energy Detective and reads the current power over connected power lines) - Build the thermal input plugin (ACPI thermal zone information) + Build the thermal input plugin (reads ACPI thermal zone information) Build the threshold plugin (checks values against configured thresholds and creates notifications if values are out of bounds) - Build the tokyotyrant input plugin (number of records and file size from a running Tokyo Tyrant server) - Build the plugin for Advanced statistic on Intel cpu states - Build the unixsock output plugin (opens a UNIX domain socket and accepts connections) - Build the uptime input plugin (system uptime) - Build the users input plugin (number of users currently logged in) + Build the tokyotyrant input plugin (collects number of records and file size from a running Tokyo Tyrant server) + Build the turbostat input plugin (reads CPU frequency and C-state residency on modern Intel turbo-capable processors) + Build the unixsock input/output plugin (opens a UNIX domain socket and accepts connections) + Build the uptime input plugin (keeps track of the system uptime) + Build the users input plugin (counts the number of users currently logged into the system) Build the uuid plugin (tries hard to determine the UUID of the system it is running on) - Build the varnish input plugin - Build the libvirt input plugin (statistics about virtualized guests on a system) - Build the vmem input plugin (information about the virtual memory subsystem) - Build the wireless input plugin (signal quality, signal power and signal-to-noise ratio for wireless LAN cards) - Build the write_graphite output plugin (sends the values collected by collectd to Carbon, the storage layer of the Graphite time-series database) - Build the write_http output plugin (sends the values collected by collectd to a web-server) - Build the Log output plugin - Build the write_mongodb output plugin (sends the values collected by collectd to a MongoDB) - Build the Redis output plugin - Build the Sensu output plugin - Build the TSDB output plugin - Build the plugin for ZFS ARC statistics - Build the plugin for Zookeeper statistics + Build the varnish input plugin (collects information about Varnish) + Build the (lib)virt input plugin (collects statistics about virtualized guests on a system) + Build the vmem input plugin (collects information about the virtual memory subsystem of the kernel) + Build the vserver input plugin (collects information about the virtual servers running on a system, using Linux-Vserver) + Build the wireless input plugin (collects signal quality, signal power and signal-to-noise ratio for wireless LAN cards) + Build the write_graphite output plugin (stores values in Carbon, the storage layer of Graphite) + Build the write_http output plugin (sends metrics to a web-server using HTTP POST requests) + Build the Kafka output plugin (sends metrics to Apache Kafka) + Build the write_log output plugin (writes metrics to a file) + Build the MongoDB output plugin (writes metrics to a MongoDB) + Build the Redis output plugin (stores values in Redis) + Build the Riemann output plugin (stores values in Riemann, a stream processing and monitoring system) + Build the Sensu output plugin (sends metrics to Sensu Core, an open-source monitoring project) + Build the TSDB output plugin (writes metrics to OpenTSDB, an open-source distributed time-series database based on Apache HBase) + Build the ZFS ARC input plugin (reports information such as the cache size, the various hits and misses (also as a ratio) and the transferred data) + Build the zookeeper input plugin (reads data from Apache Zookeeper MNTR command) Install user-contributed files in the doc directory + When set collectd daemon will have set required capabilities to run most plugins even if run as unprivileged user + Must be set (workaround for java-pkg-opt-2 eclass limitation) when you want java or genericjmx plugin