Merge branch 'collectd-4.7' into collectd-4.8
authorFlorian Forster <octo@leeloo.lan.home.verplant.org>
Thu, 17 Sep 2009 07:40:28 +0000 (09:40 +0200)
committerFlorian Forster <octo@leeloo.lan.home.verplant.org>
Thu, 17 Sep 2009 07:40:28 +0000 (09:40 +0200)
1  2 
README
configure.in

diff --combined README
--- 1/README
--- 2/README
+++ b/README
@@@ -43,10 -43,6 +43,10 @@@ Feature
      - 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.
      - 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).
        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.
      - 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.
  
      - 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:
  
        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:
  
    * 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.
  
@@@ -459,8 -432,7 +459,8 @@@ Prerequisite
      Used by the `oracle' plugin.
  
    * libcurl (optional)
 -    If you want to use the `apache', `ascent', `curl' or `nginx' plugin.
 +    If you want to use the `apache', `ascent', `curl', `nginx', or `write_http'
 +    plugin.
      <http://curl.haxx.se/>
  
    * libdbi (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
    * libxmms (optional)
      <http://www.xmms.org/>
  
 +  * libyajl (optional)
 +    Parse JSON data. This is needed for the `curl_json' plugin.
 +    <http://www.lloydforge.org/projects/yajl/>
  
  Configuring / Compiling / Installing
  ------------------------------------
diff --combined configure.in
@@@ -277,20 -277,6 +277,20 @@@ AC_CHECK_HEADERS(IOKit/ps/IOPowerSource
  ])
  
  # For the swap module
 +have_linux_wireless_h="no"
 +if test "x$ac_system" = "xLinux"
 +then
 +  AC_CHECK_HEADERS(linux/wireless.h,
 +                 [have_linux_wireless_h="yes"],
 +                 [have_linux_wireless_h="no"],
 +[
 +#include <dirent.h>
 +#include <sys/ioctl.h>
 +#include <sys/socket.h>
 +])
 +fi
 +
 +# For the swap module
  have_sys_swap_h="yes"
  AC_CHECK_HEADERS(sys/swap.h vm/anon.h, [], [have_sys_swap_h="no"],
  [
@@@ -1463,16 -1449,21 +1463,21 @@@ AC_ARG_WITH(libiptc, [AS_HELP_STRING([-
                with_libiptc="no (Linux only)"
        fi
  ])
- if test "x$with_libiptc" = "xyes" && test "x$with_own_libiptc" = "xno"
+ SAVE_CPPFLAGS="$CPPFLAGS"
+ SAVE_LDFLAGS="$LDFLAGS"
+ CPPFLAGS="$CPPFLAGS $LIBIPTC_CPPFLAGS"
+ LDFLAGS="$LDFLAGS $LIBIPTC_LDFLAGS"
+ if test "x$with_libiptc" = "xyes"
  then
-       AC_CHECK_LIB(iptc, iptc_init,
+       AC_CHECK_HEADERS(linux/netfilter_ipv4/ip_tables.h linux/netfilter_ipv6/ip6_tables.h, [],
        [
-               AC_DEFINE(HAVE_LIBIPTC, 1, [Define to 1 if you have the iptc library (-liptc).])
+               with_libiptc="no (Linux iptables headers not found)"
+               with_own_libiptc="no"
        ],
        [
-               with_libiptc="yes"
-               with_own_libiptc="yes"
+ #include "$srcdir/src/owniptc/ipt_kernel_headers.h"
        ])
  fi
  if test "x$with_libiptc" = "xyes" && test "x$with_own_libiptc" = "xno"
  then
                with_own_libiptc="yes"
        ])
  fi
- if test "x$with_libiptc" = "xyes"
- then
-       SAVE_CPPFLAGS="$CPPFLAGS"
-       CPPFLAGS="$CPPFLAGS $LIBIPTC_CPPFLAGS"
-       AC_CHECK_HEADERS(linux/netfilter_ipv4/ip_tables.h linux/netfilter_ipv6/ip6_tables.h, [],
-       [
-               with_libiptc="no (Linux iptables headers not found - check KERNEL_DIR)"
-               with_own_libiptc="no"
-       ],
-       [
- #include "$srcdir/src/owniptc/ipt_kernel_headers.h"
-       ])
-       CPPFLAGS="$SAVE_CPPFLAGS"
- fi
- if test "x$with_libiptc" = "xyes"
+ if test "x$with_libiptc" = "xyes" && test "x$with_own_libiptc" = "xno"
  then
-       SAVE_CPPFLAGS="$CPPFLAGS"
-       CPPFLAGS="$CPPFLAGS $LIBIPTC_CPPFLAGS"
        AC_CHECK_TYPES([iptc_handle_t, ip6tc_handle_t], [], [],
        [
  #if OWN_LIBIPTC
  # include <libiptc/libip6tc.h>
  #endif
        ])
-       CPPFLAGS="$SAVE_CPPFLAGS"
+ fi
+ if test "x$with_libiptc" = "xyes" && test "x$with_own_libiptc" = "xno"
+ then
+       AC_CHECK_LIB(iptc, iptc_init,
+       [
+               AC_DEFINE(HAVE_LIBIPTC, 1, [Define to 1 if you have the iptc library (-liptc).])
+       ],
+       [
+               with_libiptc="yes"
+               with_own_libiptc="yes"
+       ])
  fi
  AM_CONDITIONAL(BUILD_WITH_LIBIPTC, test "x$with_libiptc" = "xyes")
  AM_CONDITIONAL(BUILD_WITH_OWN_LIBIPTC, test "x$with_own_libiptc" = "xyes")
@@@ -1532,6 -1513,8 +1527,8 @@@ if test "x$with_own_libiptc" = "xyes
  then
        AC_DEFINE(OWN_LIBIPTC, 1, [Define to 1 if we use the shipped iptc library.])
  fi
+ CPPFLAGS="$SAVE_CPPFLAGS"
+ LDFLAGS="$SAVE_LDFLAGS"
  # }}}
  
  # --with-java {{{
  fi
  # }}}
  
 +# --with-libtokyotyrant {{{
 +with_libtokyotyrant_cppflags=""
 +with_libtokyotyrant_ldflags=""
 +with_libtokyotyrant_libs=""
 +AC_ARG_WITH(libtokyotyrant, [AS_HELP_STRING([--with-libtokyotyrant@<:@=PREFIX@:>@], [Path to libtokyotyrant.])],
 +[
 +  if test "x$withval" = "xno"
 +  then
 +    with_libtokyotyrant="no"
 +  else if test "x$withval" = "xyes"
 +  then
 +    with_libtokyotyrant="yes"
 +  else
 +    with_libtokyotyrant_cppflags="-I$withval/include"
 +    with_libtokyotyrant_ldflags="-L$withval/include"
 +    with_libtokyotyrant_libs="-ltokyotyrant"
 +    with_libtokyotyrant="yes"
 +  fi; fi
 +],
 +[
 +  with_libtokyotyrant="yes"
 +])
 +
 +if test "x$with_libtokyotyrant" = "xyes"
 +then
 +  if $PKG_CONFIG --exists tokyotyrant
 +  then
 +    with_libtokyotyrant_cppflags="$with_libtokyotyrant_cppflags `$PKG_CONFIG --cflags tokyotyrant`"
 +    with_libtokyotyrant_ldflags="$with_libtokyotyrant_ldflags `pkg-config --libs-only-L tokyotyrant`"
 +    with_libtokyotyrant_libs="$with_libtokyotyrant_libs `pkg-config --libs-only-l tokyotyrant`"
 +  fi
 +fi
 +
 +SAVE_CPPFLAGS="$CPPFLAGS"
 +SAVE_LDFLAGS="$LDFLAGS"
 +CPPFLAGS="$CPPFLAGS $with_libtokyotyrant_cppflags"
 +LDFLAGS="$LDFLAGS $with_libtokyotyrant_ldflags"
 +
 +if test "x$with_libtokyotyrant" = "xyes"
 +then
 +  AC_CHECK_HEADERS(tcrdb.h,
 +  [
 +          AC_DEFINE(HAVE_TCRDB_H, 1,
 +                    [Define to 1 if you have the <tcrdb.h> header file.])
 +  ], [with_libtokyotyrant="no (tcrdb.h not found)"])
 +fi
 +
 +if test "x$with_libtokyotyrant" = "xyes"
 +then
 +  AC_CHECK_LIB(tokyotyrant, tcrdbrnum,
 +  [
 +          AC_DEFINE(HAVE_LIBTOKYOTYRANT, 1,
 +                    [Define to 1 if you have the tokyotyrant library (-ltokyotyrant).])
 +  ],
 +  [with_libtokyotyrant="no (symbol tcrdbrnum not found)"],
 +  [$with_libtokyotyrant_libs])
 +fi
 +
 +CPPFLAGS="$SAVE_CPPFLAGS"
 +LDFLAGS="$SAVE_LDFLAGS"
 +
 +if test "x$with_libtokyotyrant" = "xyes"
 +then 
 +  BUILD_WITH_LIBTOKYOTYRANT_CPPFLAGS="$with_libtokyotyrant_cppflags"
 +  BUILD_WITH_LIBTOKYOTYRANT_LDFLAGS="$with_libtokyotyrant_ldflags"
 +  BUILD_WITH_LIBTOKYOTYRANT_LIBS="$with_libtokyotyrant_libs"
 +  AC_SUBST(BUILD_WITH_LIBTOKYOTYRANT_CPPFLAGS)
 +  AC_SUBST(BUILD_WITH_LIBTOKYOTYRANT_LDFLAGS)
 +  AC_SUBST(BUILD_WITH_LIBTOKYOTYRANT_LIBS)
 +fi
 +AM_CONDITIONAL(BUILD_WITH_LIBTOKYOTYRANT, test "x$with_libtokyotyrant" = "xyes")
 +# }}}
 +
  # --with-libupsclient {{{
  with_libupsclient_config=""
  with_libupsclient_cflags=""
@@@ -3082,57 -2992,6 +3079,57 @@@ AC_DEFINE_UNQUOTED(HAVE_LIBXMMS, [$with
  AM_CONDITIONAL(BUILD_WITH_LIBXMMS, test "x$with_libxmms" = "xyes")
  # }}}
  
 +# --with-libyajl {{{
 +with_libyajl_cppflags=""
 +with_libyajl_ldflags=""
 +AC_ARG_WITH(libyajl, [AS_HELP_STRING([--with-libyajl@<:@=PREFIX@:>@], [Path to libyajl.])],
 +[
 +      if test "x$withval" != "xno" && test "x$withval" != "xyes"
 +      then
 +              with_libyajl_cppflags="-I$withval/include"
 +              with_libyajl_ldflags="-L$withval/lib"
 +              with_libyajl="yes"
 +      else
 +              with_libyajl="$withval"
 +      fi
 +],
 +[
 +      with_libyajl="yes"
 +])
 +if test "x$with_libyajl" = "xyes"
 +then
 +      SAVE_CPPFLAGS="$CPPFLAGS"
 +      CPPFLAGS="$CPPFLAGS $with_libyajl_cppflags"
 +
 +      AC_CHECK_HEADERS(yajl/yajl_parse.h, [with_libyajl="yes"], [with_libyajl="no (yajl/yajl_parse.h not found)"])
 +
 +      CPPFLAGS="$SAVE_CPPFLAGS"
 +fi
 +if test "x$with_libyajl" = "xyes"
 +then
 +      SAVE_CPPFLAGS="$CPPFLAGS"
 +      SAVE_LDFLAGS="$LDFLAGS"
 +      CPPFLAGS="$CPPFLAGS $with_libyajl_cppflags"
 +      LDFLAGS="$LDFLAGS $with_libyajl_ldflags"
 +
 +      AC_CHECK_LIB(yajl, yajl_alloc, [with_libyajl="yes"], [with_libyajl="no (Symbol 'yajl_alloc' not found)"])
 +
 +      CPPFLAGS="$SAVE_CPPFLAGS"
 +      LDFLAGS="$SAVE_LDFLAGS"
 +fi
 +if test "x$with_libyajl" = "xyes"
 +then
 +      BUILD_WITH_LIBYAJL_CPPFLAGS="$with_libyajl_cppflags"
 +      BUILD_WITH_LIBYAJL_LDFLAGS="$with_libyajl_ldflags"
 +      BUILD_WITH_LIBYAJL_LIBS="-lyajl"
 +      AC_SUBST(BUILD_WITH_LIBYAJL_CPPFLAGS)
 +      AC_SUBST(BUILD_WITH_LIBYAJL_LDFLAGS)
 +      AC_SUBST(BUILD_WITH_LIBYAJL_LIBS)
 +      AC_DEFINE(HAVE_LIBYAJL, 1, [Define if libyajl is present and usable.])
 +fi
 +AM_CONDITIONAL(BUILD_WITH_LIBYAJL, test "x$with_libyajl" = "xyes")
 +# }}}
 +
  # pkg-config --exists 'libxml-2.0'; pkg-config --exists libvirt {{{
  with_libxml2="no (pkg-config isn't available)"
  with_libxml2_cflags=""
@@@ -3467,7 -3326,6 +3464,7 @@@ plugin_bind="no
  plugin_conntrack="no"
  plugin_cpu="no"
  plugin_cpufreq="no"
 +plugin_curl_json="no"
  plugin_df="no"
  plugin_disk="no"
  plugin_entropy="no"
@@@ -3495,7 -3353,6 +3492,7 @@@ plugin_uptime="no
  plugin_vmem="no"
  plugin_vserver="no"
  plugin_wireless="no"
 +plugin_zfs_arc="no"
  
  # Linux
  if test "x$ac_system" = "xLinux"
  if test "x$with_kstat" = "xyes"
  then
        plugin_uptime="yes"
 +      plugin_zfs_arc="yes"
  fi
  
  if test "x$with_devinfo$with_kstat" = "xyesyes"
        plugin_ipmi="yes"
  fi
  
 +if test "x$with_libcurl" = "xyes" && test "x$with_libyajl" = "xyes"
 +then
 +      plugin_curl_json="yes"
 +fi
 +
  if test "x$have_processor_info" = "xyes"
  then
        plugin_cpu="yes"
@@@ -3741,7 -3592,6 +3738,7 @@@ AC_PLUGIN([cpufreq],     [$plugin_cpufr
  AC_PLUGIN([cpu],         [$plugin_cpu],        [CPU usage statistics])
  AC_PLUGIN([csv],         [yes],                [CSV output plugin])
  AC_PLUGIN([curl],        [$with_libcurl],      [CURL generic web statistics])
 +AC_PLUGIN([curl_json],   [$plugin_curl_json],    [CouchDB statistics])
  AC_PLUGIN([dbi],         [$with_libdbi],       [General database statistics])
  AC_PLUGIN([df],          [$plugin_df],         [Filesystem usage statistics])
  AC_PLUGIN([disk],        [$plugin_disk],       [Disk usage statistics])
@@@ -3762,8 -3612,6 +3759,8 @@@ AC_PLUGIN([java],        [$with_java]
  AC_PLUGIN([libvirt],     [$plugin_libvirt],    [Virtual machine statistics])
  AC_PLUGIN([load],        [$plugin_load],       [System load])
  AC_PLUGIN([logfile],     [yes],                [File logging plugin])
 +AC_PLUGIN([madwifi],     [$have_linux_wireless_h], [Madwifi wireless statistics])
 +AC_PLUGIN([match_empty_counter], [yes],        [The empty counter match])
  AC_PLUGIN([match_regex], [yes],                [The regex match])
  AC_PLUGIN([match_timediff], [yes],             [The timediff match])
  AC_PLUGIN([match_value], [yes],                [The value match])
@@@ -3781,7 -3629,6 +3778,7 @@@ AC_PLUGIN([notify_desktop], [$with_libn
  AC_PLUGIN([notify_email], [$with_libesmtp],    [Email notifier])
  AC_PLUGIN([ntpd],        [yes],                [NTPd statistics])
  AC_PLUGIN([nut],         [$with_libupsclient], [Network UPS tools statistics])
 +AC_PLUGIN([olsrd],       [yes],                [olsrd statistics])
  AC_PLUGIN([onewire],     [$with_libowcapi],    [OneWire sensor statistics])
  AC_PLUGIN([openvpn],     [yes],                [OpenVPN client statistics])
  AC_PLUGIN([oracle],      [$with_oracle],       [Oracle plugin])
@@@ -3808,7 -3655,6 +3805,7 @@@ AC_PLUGIN([tcpconns],    [$plugin_tcpco
  AC_PLUGIN([teamspeak2],  [yes],                [TeamSpeak2 server statistics])
  AC_PLUGIN([ted],         [$plugin_ted],        [Read The Energy Detective values])
  AC_PLUGIN([thermal],     [$plugin_thermal],    [Linux ACPI thermal zone statistics])
 +AC_PLUGIN([tokyotyrant], [$with_libtokyotyrant],  [TokyoTyrant database statistics])
  AC_PLUGIN([unixsock],    [yes],                [Unixsock communication plugin])
  AC_PLUGIN([uptime],      [$plugin_uptime],     [Uptime statistics])
  AC_PLUGIN([users],       [$plugin_users],      [User statistics])
@@@ -3816,9 -3662,7 +3813,9 @@@ AC_PLUGIN([uuid],        [yes]
  AC_PLUGIN([vmem],        [$plugin_vmem],       [Virtual memory statistics])
  AC_PLUGIN([vserver],     [$plugin_vserver],    [Linux VServer statistics])
  AC_PLUGIN([wireless],    [$plugin_wireless],   [Wireless statistics])
 +AC_PLUGIN([write_http],  [$with_libcurl],      [HTTP output plugin])
  AC_PLUGIN([xmms],        [$with_libxmms],      [XMMS statistics])
 +AC_PLUGIN([zfs_arc],     [$plugin_zfs_arc],    [ZFS ARC statistics])
  
  dnl Default configuration file
  # Load either syslog or logfile
@@@ -4014,12 -3858,10 +4011,12 @@@ Configuration
      librrd  . . . . . . . $with_librrd
      libsensors  . . . . . $with_libsensors
      libstatgrab . . . . . $with_libstatgrab
 +    libtokyotyrant  . . . $with_libtokyotyrant
      libupsclient  . . . . $with_libupsclient
      libvirt . . . . . . . $with_libvirt
      libxml2 . . . . . . . $with_libxml2
      libxmms . . . . . . . $with_libxmms
 +    libyajl . . . . . . . $with_libyajl
      oracle  . . . . . . . $with_oracle
  
    Features:
      cpufreq . . . . . . . $enable_cpufreq
      csv . . . . . . . . . $enable_csv
      curl  . . . . . . . . $enable_curl
 +    curl_json . . . . . . $enable_curl_json
      dbi . . . . . . . . . $enable_dbi
      df  . . . . . . . . . $enable_df
      disk  . . . . . . . . $enable_disk
      libvirt . . . . . . . $enable_libvirt
      load  . . . . . . . . $enable_load
      logfile . . . . . . . $enable_logfile
 +    madwifi . . . . . . . $enable_madwifi
 +    match_empty_counter . $enable_match_empty_counter
      match_regex . . . . . $enable_match_regex
      match_timediff  . . . $enable_match_timediff
      match_value . . . . . $enable_match_value
      notify_email  . . . . $enable_notify_email
      ntpd  . . . . . . . . $enable_ntpd
      nut . . . . . . . . . $enable_nut
 +    olsrd . . . . . . . . $enable_olsrd
      onewire . . . . . . . $enable_onewire
      openvpn . . . . . . . $enable_openvpn
      oracle  . . . . . . . $enable_oracle
      teamspeak2  . . . . . $enable_teamspeak2
      ted . . . . . . . . . $enable_ted
      thermal . . . . . . . $enable_thermal
 +    tokyotyrant . . . . . $enable_tokyotyrant
      unixsock  . . . . . . $enable_unixsock
      uptime  . . . . . . . $enable_uptime
      users . . . . . . . . $enable_users
      vmem  . . . . . . . . $enable_vmem
      vserver . . . . . . . $enable_vserver
      wireless  . . . . . . $enable_wireless
 +    write_http  . . . . . $enable_write_http
      xmms  . . . . . . . . $enable_xmms
 +    zfs_arc . . . . . . . $enable_zfs_arc
  
  EOF