Code

Merge pull request #799 from mfournier/hiredis-switch
authorMarc Fournier <marc.fournier@camptocamp.com>
Thu, 20 Nov 2014 07:50:24 +0000 (08:50 +0100)
committerMarc Fournier <marc.fournier@camptocamp.com>
Thu, 20 Nov 2014 07:50:24 +0000 (08:50 +0100)
Switch redis & write_redis plugins from credis to hiredis

1  2 
README
configure.ac
src/Makefile.am
src/types.db

diff --combined README
index 3c7a10fb00304bf992c58803f07e99bbad599fd7,e749a5f32ffde4dbe1dbe3e95d4f582f7829e8e8..8a3478102d717122ac4da3ff20d0adc056170dcb
--- 1/README
--- 2/README
+++ b/README
@@@ -229,9 -229,6 +229,9 @@@ Feature
        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>
        to have its measurements fed to collectd. This includes multimeters,
        sound level meters, thermometers, and much more.
  
 +    - smart
 +      Collect SMART statistics, notably load cycle count, temperature
 +      and bad sectors.
 +
      - snmp
        Read values from SNMP (Simple Network Management Protocol) enabled
        network devices such as switches, routers, thermometers, rack monitoring
@@@ -611,16 -604,12 +611,16 @@@ Prerequisite
      particular.
      <http://developer.apple.com/corefoundation/>
  
 +  * libatasmart (optional)
 +    Used by the `smart' plugin.
 +    <http://git.0pointer.de/?p=libatasmart.git>
 +
    * 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',
      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/>
diff --combined configure.ac
index 7b665a97fff14abb4d774741329255845e728494,9c3dfed3741c9451c4956ebb8a5be26f28baba14..78499a98e0916448c68bb9b7e00f3acfcc6cb996
@@@ -527,7 -527,7 +527,7 @@@ AC_CHECK_HEADERS(linux/un.h, [], []
  #endif
  ])
  
 -AC_CHECK_HEADERS(pwd.h grp.h sys/un.h ctype.h limits.h xfs/xqm.h fs_info.h fshelp.h paths.h mntent.h mnttab.h sys/fstyp.h sys/fs_types.h sys/mntent.h sys/mnttab.h sys/statfs.h sys/statvfs.h sys/vfs.h sys/vfstab.h kvm.h wordexp.h locale.h)
 +AC_CHECK_HEADERS(pwd.h grp.h sys/un.h ctype.h limits.h xfs/xqm.h fs_info.h fshelp.h paths.h mntent.h mnttab.h sys/fstyp.h sys/fs_types.h sys/mntent.h sys/mnttab.h sys/statfs.h sys/statvfs.h sys/vfs.h sys/vfstab.h sys/vmmeter.h kvm.h wordexp.h locale.h)
  
  # For the dns plugin
  AC_CHECK_HEADERS(arpa/nameser.h)
  AM_CONDITIONAL(BUILD_WITH_LIBAQUAERO5, test "x$with_libaquaero5" = "xyes")
  # }}}
  
- # --with-libcredis {{{
- AC_ARG_WITH(libcredis, [AS_HELP_STRING([--with-libcredis@<:@=PREFIX@:>@], [Path to libcredis.])],
+ # --with-libhiredis {{{
+ AC_ARG_WITH(libhiredis, [AS_HELP_STRING([--with-libhiredis@<:@=PREFIX@:>@],
+       [Path to libhiredis.])],
  [
   if test "x$withval" = "xyes"
   then
-        with_libcredis="yes"
+        with_libhiredis="yes"
   else if test "x$withval" = "xno"
   then
-        with_libcredis="no"
+        with_libhiredis="no"
   else
-        with_libcredis="yes"
-        LIBCREDIS_CPPFLAGS="$LIBCREDIS_CPPFLAGS -I$withval/include"
-        LIBCREDIS_LDFLAGS="$LIBCREDIS_LDFLAGS -L$withval/lib"
+        with_libhiredis="yes"
+        LIBHIREDIS_CPPFLAGS="$LIBHIREDIS_CPPFLAGS -I$withval/include"
+        LIBHIREDIS_LDFLAGS="$LIBHIREDIS_LDFLAGS -L$withval/lib"
   fi; fi
  ],
- [with_libcredis="yes"])
+ [with_libhiredis="yes"])
  
  SAVE_CPPFLAGS="$CPPFLAGS"
  SAVE_LDFLAGS="$LDFLAGS"
  
- CPPFLAGS="$CPPFLAGS $LIBCREDIS_CPPFLAGS"
- LDFLAGS="$LDFLAGS $LIBCREDIS_LDFLAGS"
+ CPPFLAGS="$CPPFLAGS $LIBHIREDIS_CPPFLAGS"
+ LDFLAGS="$LDFLAGS $LIBHIREDIS_LDFLAGS"
  
- if test "x$with_libcredis" = "xyes"
+ if test "x$with_libhiredis" = "xyes"
  then
-       if test "x$LIBCREDIS_CPPFLAGS" != "x"
+       if test "x$LIBHIREDIS_CPPFLAGS" != "x"
        then
-               AC_MSG_NOTICE([libcredis CPPFLAGS: $LIBCREDIS_CPPFLAGS])
+               AC_MSG_NOTICE([libhiredis CPPFLAGS: $LIBHIREDIS_CPPFLAGS])
        fi
-       AC_CHECK_HEADERS(credis.h,
-       [with_libcredis="yes"],
-       [with_libcredis="no (credis.h not found)"])
+       AC_CHECK_HEADERS(hiredis/hiredis.h,
+       [with_libhiredis="yes"],
+       [with_libhiredis="no (hiredis.h not found)"])
  fi
- if test "x$with_libcredis" = "xyes"
+ if test "x$with_libhiredis" = "xyes"
  then
-       if test "x$LIBCREDIS_LDFLAGS" != "x"
+       if test "x$LIBHIREDIS_LDFLAGS" != "x"
        then
-               AC_MSG_NOTICE([libcredis LDFLAGS: $LIBCREDIS_LDFLAGS])
+               AC_MSG_NOTICE([libhiredis LDFLAGS: $LIBHIREDIS_LDFLAGS])
        fi
-       AC_CHECK_LIB(credis, credis_info,
-       [with_libcredis="yes"],
-       [with_libcredis="no (symbol 'credis_info' not found)"])
+       AC_CHECK_LIB(hiredis, redisCommand,
+       [with_libhiredis="yes"],
+       [with_libhiredis="no (symbol 'redisCommand' not found)"])
  
  fi
  
  CPPFLAGS="$SAVE_CPPFLAGS"
  LDFLAGS="$SAVE_LDFLAGS"
  
- if test "x$with_libcredis" = "xyes"
+ if test "x$with_libhiredis" = "xyes"
  then
-       BUILD_WITH_LIBCREDIS_CPPFLAGS="$LIBCREDIS_CPPFLAGS"
-       BUILD_WITH_LIBCREDIS_LDFLAGS="$LIBCREDIS_LDFLAGS"
-       AC_SUBST(BUILD_WITH_LIBCREDIS_CPPFLAGS)
-       AC_SUBST(BUILD_WITH_LIBCREDIS_LDFLAGS)
+       BUILD_WITH_LIBHIREDIS_CPPFLAGS="$LIBHIREDIS_CPPFLAGS"
+       BUILD_WITH_LIBHIREDIS_LDFLAGS="$LIBHIREDIS_LDFLAGS"
+       AC_SUBST(BUILD_WITH_LIBHIREDIS_CPPFLAGS)
+       AC_SUBST(BUILD_WITH_LIBHIREDIS_LDFLAGS)
  fi
- AM_CONDITIONAL(BUILD_WITH_LIBCREDIS, test "x$with_libcredis" = "xyes")
+ AM_CONDITIONAL(BUILD_WITH_LIBHIREDIS, test "x$with_libhiredis" = "xyes")
  # }}}
  
  # --with-libcurl {{{
@@@ -2247,64 -2248,6 +2248,64 @@@ AC_SUBST(JAVA_LIBS
  AM_CONDITIONAL(BUILD_WITH_JAVA, test "x$with_java" = "xyes")
  # }}}
  
 +# --with-libldap {{{
 +AC_ARG_WITH(libldap, [AS_HELP_STRING([--with-libldap@<:@=PREFIX@:>@], [Path to libldap.])],
 +[
 + if test "x$withval" = "xyes"
 + then
 +       with_libldap="yes"
 + else if test "x$withval" = "xno"
 + then
 +       with_libldap="no"
 + else
 +       with_libldap="yes"
 +       LIBLDAP_CPPFLAGS="$LIBLDAP_CPPFLAGS -I$withval/include"
 +       LIBLDAP_LDFLAGS="$LIBLDAP_LDFLAGS -L$withval/lib"
 + fi; fi
 +],
 +[with_libldap="yes"])
 +
 +SAVE_CPPFLAGS="$CPPFLAGS"
 +SAVE_LDFLAGS="$LDFLAGS"
 +
 +CPPFLAGS="$CPPFLAGS $LIBLDAP_CPPFLAGS"
 +LDFLAGS="$LDFLAGS $LIBLDAP_LDFLAGS"
 +
 +if test "x$with_libldap" = "xyes"
 +then
 +      if test "x$LIBLDAP_CPPFLAGS" != "x"
 +      then
 +              AC_MSG_NOTICE([libldap CPPFLAGS: $LIBLDAP_CPPFLAGS])
 +      fi
 +      AC_CHECK_HEADERS(ldap.h,
 +      [with_libldap="yes"],
 +      [with_libldap="no ('ldap.h' not found)"])
 +fi
 +if test "x$with_libldap" = "xyes"
 +then
 +      if test "x$LIBLDAP_LDFLAGS" != "x"
 +      then
 +              AC_MSG_NOTICE([libldap LDFLAGS: $LIBLDAP_LDFLAGS])
 +      fi
 +      AC_CHECK_LIB(ldap, ldap_initialize,
 +      [with_libldap="yes"],
 +      [with_libldap="no (symbol 'ldap_initialize' not found)"])
 +
 +fi
 +
 +CPPFLAGS="$SAVE_CPPFLAGS"
 +LDFLAGS="$SAVE_LDFLAGS"
 +
 +if test "x$with_libldap" = "xyes"
 +then
 +      BUILD_WITH_LIBLDAP_CPPFLAGS="$LIBLDAP_CPPFLAGS"
 +      BUILD_WITH_LIBLDAP_LDFLAGS="$LIBLDAP_LDFLAGS"
 +      AC_SUBST(BUILD_WITH_LIBLDAP_CPPFLAGS)
 +      AC_SUBST(BUILD_WITH_LIBLDAP_LDFLAGS)
 +fi
 +AM_CONDITIONAL(BUILD_WITH_LIBLDAP, test "x$with_libldap" = "xyes")
 +# }}}
 +
  # --with-liblvm2app {{{
  with_liblvm2app_cppflags=""
  with_liblvm2app_ldflags=""
    LDFLAGS="$SAVE_LDFLAGS"
  fi
  
 +if test "x$with_libstatgrab" = "xyes"
 +then
 +  SAVE_CFLAGS="$CFLAGS"
 +  SAVE_LDFLAGS="$LDFLAGS"
 +
 +  CFLAGS="$CFLAGS $with_libstatgrab_cflags"
 +  LDFLAGS="$LDFLAGS $with_libstatgrab_ldflags"
 +
 +  AC_CACHE_CHECK([if libstatgrab >= 0.90],
 +          [c_cv_have_libstatgrab_0_90],
 +          AC_LINK_IFELSE([AC_LANG_PROGRAM(
 +[[[
 +#include <stdio.h>
 +#include <statgrab.h>
 +]]],
 +[[[
 +      if (sg_init()) return 0;
 +]]]
 +    )],
 +    [c_cv_have_libstatgrab_0_90="no"],
 +    [c_cv_have_libstatgrab_0_90="yes"]
 +          )
 +  )
 +
 +  CFLAGS="$SAVE_CFLAGS"
 +  LDFLAGS="$SAVE_LDFLAGS"
 +fi
 +
  AM_CONDITIONAL(BUILD_WITH_LIBSTATGRAB, test "x$with_libstatgrab" = "xyes")
  if test "x$with_libstatgrab" = "xyes"
  then
    BUILD_WITH_LIBSTATGRAB_LDFLAGS="$with_libstatgrab_ldflags"
    AC_SUBST(BUILD_WITH_LIBSTATGRAB_CFLAGS)
    AC_SUBST(BUILD_WITH_LIBSTATGRAB_LDFLAGS)
 +  if test "x$c_cv_have_libstatgrab_0_90" = "xyes"
 +  then
 +        AC_DEFINE(HAVE_LIBSTATGRAB_0_90, 1, [Define to 1 if libstatgrab version >= 0.90])
 +  fi
  fi
  # }}}
  
  fi
  # }}}
  
 +# --with-libatasmart {{{
 +with_libatasmart_cppflags=""
 +with_libatasmart_ldflags=""
 +AC_ARG_WITH(libatasmart, [AS_HELP_STRING([--with-libatasmart@<:@=PREFIX@:>@], [Path to libatasmart.])],
 +[
 +      if test "x$withval" != "xno" && test "x$withval" != "xyes"
 +      then
 +              with_libatasmart_cppflags="-I$withval/include"
 +              with_libatasmart_ldflags="-L$withval/lib"
 +              with_libatasmart="yes"
 +      else
 +              with_libatasmart="$withval"
 +      fi
 +],
 +[
 +      if test "x$ac_system" = "xLinux"
 +      then
 +              with_libatasmart="yes"
 +      else
 +              with_libatasmart="no (Linux only library)"
 +      fi
 +])
 +if test "x$with_libatasmart" = "xyes"
 +then
 +      SAVE_CPPFLAGS="$CPPFLAGS"
 +      CPPFLAGS="$CPPFLAGS $with_libatasmart_cppflags"
 +
 +      AC_CHECK_HEADERS(atasmart.h, [with_libatasmart="yes"], [with_libatasmart="no (atasmart.h not found)"])
 +
 +      CPPFLAGS="$SAVE_CPPFLAGS"
 +fi
 +if test "x$with_libatasmart" = "xyes"
 +then
 +      SAVE_CPPFLAGS="$CPPFLAGS"
 +      SAVE_LDFLAGS="$LDFLAGS"
 +      CPPFLAGS="$CPPFLAGS $with_libatasmart_cppflags"
 +      LDFLAGS="$LDFLAGS $with_libatasmart_ldflags"
 +
 +      AC_CHECK_LIB(atasmart, sk_disk_open, [with_libatasmart="yes"], [with_libatasmart="no (Symbol 'sk_disk_open' not found)"])
 +
 +      CPPFLAGS="$SAVE_CPPFLAGS"
 +      LDFLAGS="$SAVE_LDFLAGS"
 +fi
 +if test "x$with_libatasmart" = "xyes"
 +then
 +      BUILD_WITH_LIBATASMART_CPPFLAGS="$with_libatasmart_cppflags"
 +      BUILD_WITH_LIBATASMART_LDFLAGS="$with_libatasmart_ldflags"
 +      BUILD_WITH_LIBATASMART_LIBS="-latasmart"
 +      AC_SUBST(BUILD_WITH_LIBATASMART_CPPFLAGS)
 +      AC_SUBST(BUILD_WITH_LIBATASMART_LDFLAGS)
 +      AC_SUBST(BUILD_WITH_LIBATASMART_LIBS)
 +      AC_DEFINE(HAVE_LIBATASMART, 1, [Define if libatasmart is present and usable.])
 +fi
 +AM_CONDITIONAL(BUILD_WITH_LIBATASMART, test "x$with_libatasmart" = "xyes")
 +# }}}
 +
  PKG_CHECK_MODULES([LIBNOTIFY], [libnotify],
                [with_libnotify="yes"],
                [if test "x$LIBNOTIFY_PKG_ERRORS" = "x"; then
@@@ -5531,7 -5386,6 +5532,7 @@@ AC_PLUGIN([numa],        [$plugin_numa]
  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([openldap],    [$with_libldap],      [OpenLDAP statistics])
  AC_PLUGIN([openvpn],     [yes],                [OpenVPN client statistics])
  AC_PLUGIN([oracle],      [$with_oracle],       [Oracle plugin])
  AC_PLUGIN([perl],        [$plugin_perl],       [Embed a Perl interpreter])
@@@ -5544,14 -5398,13 +5545,14 @@@ AC_PLUGIN([powerdns],    [yes]
  AC_PLUGIN([processes],   [$plugin_processes],  [Process statistics])
  AC_PLUGIN([protocols],   [$plugin_protocols],  [Protocol (IP, TCP, ...) statistics])
  AC_PLUGIN([python],      [$with_python],       [Embed a Python interpreter])
- AC_PLUGIN([redis],       [$with_libcredis],    [Redis plugin])
+ AC_PLUGIN([redis],       [$with_libhiredis],    [Redis plugin])
  AC_PLUGIN([routeros],    [$with_librouteros],  [RouterOS plugin])
  AC_PLUGIN([rrdcached],   [$librrd_rrdc_update], [RRDTool output plugin])
  AC_PLUGIN([rrdtool],     [$with_librrd],       [RRDTool output plugin])
  AC_PLUGIN([sensors],     [$with_libsensors],   [lm_sensors statistics])
  AC_PLUGIN([serial],      [$plugin_serial],     [serial port traffic])
  AC_PLUGIN([sigrok],      [$with_libsigrok],    [sigrok acquisition sources])
 +AC_PLUGIN([smart],       [$with_libatasmart],  [SMART statistics])
  AC_PLUGIN([snmp],        [$with_libnetsnmp],   [SNMP querying plugin])
  AC_PLUGIN([statsd],      [yes],                [StatsD plugin])
  AC_PLUGIN([swap],        [$plugin_swap],       [Swap usage statistics])
@@@ -5584,7 -5437,7 +5585,7 @@@ AC_PLUGIN([write_graphite], [yes]
  AC_PLUGIN([write_http],  [$with_libcurl],      [HTTP output plugin])
  AC_PLUGIN([write_kafka],  [$with_librdkafka],  [Kafka output plugin])
  AC_PLUGIN([write_mongodb], [$with_libmongoc],  [MongoDB output plugin])
- AC_PLUGIN([write_redis], [$with_libcredis],    [Redis output plugin])
+ AC_PLUGIN([write_redis], [$with_libhiredis],    [Redis output plugin])
  AC_PLUGIN([write_riemann], [$have_protoc_c],   [Riemann output plugin])
  AC_PLUGIN([write_tsdb],  [yes],                [TSDB output plugin])
  AC_PLUGIN([xmms],        [$with_libxmms],      [XMMS statistics])
@@@ -5772,10 -5625,9 +5773,10 @@@ Configuration
    Libraries:
      intel mic . . . . . . $with_mic
      libaquaero5 . . . . . $with_libaquaero5
 +    libatasmart . . . . . $with_libatasmart
      libcurl . . . . . . . $with_libcurl
      libdbi  . . . . . . . $with_libdbi
-     libcredis . . . . . . $with_libcredis
+     libhiredis  . . . . . $with_libhiredis
      libesmtp  . . . . . . $with_libesmtp
      libganglia  . . . . . $with_libganglia
      libgcrypt . . . . . . $with_libgcrypt
      libjvm  . . . . . . . $with_java
      libkstat  . . . . . . $with_kstat
      libkvm  . . . . . . . $with_libkvm
 +    libldap . . . . . . . $with_libldap
      liblvm2app  . . . . . $with_liblvm2app
      libmemcached  . . . . $with_libmemcached
      libmnl  . . . . . . . $with_libmnl
      nut . . . . . . . . . $enable_nut
      olsrd . . . . . . . . $enable_olsrd
      onewire . . . . . . . $enable_onewire
 +    openldap  . . . . . . $enable_openldap
      openvpn . . . . . . . $enable_openvpn
      oracle  . . . . . . . $enable_oracle
      perl  . . . . . . . . $enable_perl
      sensors . . . . . . . $enable_sensors
      serial  . . . . . . . $enable_serial
      sigrok  . . . . . . . $enable_sigrok
 +    smart . . . . . . . . $enable_smart
      snmp  . . . . . . . . $enable_snmp
      statsd  . . . . . . . $enable_statsd
      swap  . . . . . . . . $enable_swap
diff --combined src/Makefile.am
index 04c77a3b085212ff807fa34922e4a5ed7a9401e5,71d4c96a10a99e3c7807ea19144eb47964077d1c..e9428690edf51fe8f378518f288e559d94a05c17
@@@ -30,7 -30,7 +30,7 @@@ collectdmon_SOURCES = collectdmon.
  collectdmon_CPPFLAGS = $(AM_CPPFLAGS)
  
  collectd_nagios_SOURCES = collectd-nagios.c
 -collectd_nagios_CPPFLAGS = $(AM_CPPFLAGS) -I$(top_builddir)/src/libcollectdclient/collectd
 +collectd_nagios_CPPFLAGS = $(AM_CPPFLAGS) -I$(top_srcdir)/src/libcollectdclient/collectd -I$(top_builddir)/src/libcollectdclient/collectd
  collectd_nagios_LDADD =
  if BUILD_WITH_LIBSOCKET
  collectd_nagios_LDADD += -lsocket
@@@ -44,7 -44,7 +44,7 @@@ collectd_nagios_DEPENDENCIES = libcolle
  
  
  collectdctl_SOURCES = collectdctl.c
 -collectdctl_CPPFLAGS = $(AM_CPPFLAGS) -I$(top_builddir)/src/libcollectdclient/collectd
 +collectdctl_CPPFLAGS = $(AM_CPPFLAGS) -I$(top_srcdir)/src/libcollectdclient/collectd -I$(top_builddir)/src/libcollectdclient/collectd
  collectdctl_LDADD =
  if BUILD_WITH_LIBSOCKET
  collectdctl_LDADD += -lsocket
@@@ -57,7 -57,7 +57,7 @@@ collectdctl_DEPENDENCIES = libcollectdc
  
  collectd_tg_SOURCES = collectd-tg.c \
                      daemon/utils_heap.c daemon/utils_heap.h
 -collectd_tg_CPPFLAGS = $(AM_CPPFLAGS) -I$(top_builddir)/src/libcollectdclient/collectd
 +collectd_tg_CPPFLAGS = $(AM_CPPFLAGS) -I$(top_srcdir)/src/libcollectdclient/collectd -I$(top_builddir)/src/libcollectdclient/collectd
  collectd_tg_LDADD =
  if BUILD_WITH_LIBSOCKET
  collectd_tg_LDADD += -lsocket
@@@ -85,7 -85,7 +85,7 @@@ pkglib_LTLIBRARIES += aggregation.l
  aggregation_la_SOURCES = aggregation.c \
                           utils_vl_lookup.c utils_vl_lookup.h
  aggregation_la_LDFLAGS = $(PLUGIN_LDFLAGS)
 -aggregation_la_LIBADD =
 +aggregation_la_LIBADD = -lm
  endif
  
  if BUILD_PLUGIN_AMQP
@@@ -728,14 -728,6 +728,14 @@@ onewire_la_LIBADD = $(BUILD_WITH_LIBOWC
  onewire_la_LDFLAGS = $(PLUGIN_LDFLAGS)
  endif
  
 +if BUILD_PLUGIN_OPENLDAP
 +pkglib_LTLIBRARIES += openldap.la
 +openldap_la_SOURCES = openldap.c
 +openldap_la_LDFLAGS = -module -avoid-version $(BUILD_WITH_LIBLDAP_LDFLAGS)
 +openldap_la_CFLAGS = $(AM_CFLAGS) $(BUILD_WITH_LIBLDAP_CPPFLAGS)
 +openldap_la_LIBADD = -lldap
 +endif
 +
  if BUILD_PLUGIN_OPENVPN
  pkglib_LTLIBRARIES += openvpn.la
  openvpn_la_SOURCES = openvpn.c
@@@ -841,9 -833,9 +841,9 @@@ endi
  if BUILD_PLUGIN_REDIS
  pkglib_LTLIBRARIES += redis.la
  redis_la_SOURCES = redis.c
- redis_la_LDFLAGS = $(PLUGIN_LDFLAGS) $(BUILD_WITH_LIBCREDIS_LDFLAGS)
- redis_la_CFLAGS = $(AM_CFLAGS) $(BUILD_WITH_LIBCREDIS_CPPFLAGS)
- redis_la_LIBADD = -lcredis
+ redis_la_LDFLAGS = $(PLUGIN_LDFLAGS) $(BUILD_WITH_LIBHIREDIS_LDFLAGS)
+ redis_la_CFLAGS = $(AM_CFLAGS) $(BUILD_WITH_LIBHIREDIS_CPPFLAGS)
+ redis_la_LIBADD = -lhiredis
  endif
  
  if BUILD_PLUGIN_ROUTEROS
@@@ -893,17 -885,6 +893,17 @@@ sigrok_la_LDFLAGS = $(PLUGIN_LDFLAGS) $
  sigrok_la_LIBADD = -lsigrok
  endif
  
 +if BUILD_PLUGIN_SMART
 +if BUILD_WITH_LIBUDEV
 +pkglib_LTLIBRARIES += smart.la
 +smart_la_SOURCES = smart.c \
 +                 utils_ignorelist.c utils_ignorelist.h
 +smart_la_CFLAGS = $(AM_CFLAGS) $(BUILD_WITH_LIBATASMART_CPPFLAGS)
 +smart_la_LDFLAGS = $(PLUGIN_LDFLAGS) $(BUILD_WITH_LIBATASMART_LDFLAGS)
 +smart_la_LIBADD = $(BUILD_WITH_LIBATASMART_LIBS) -ludev
 +endif
 +endif
 +
  if BUILD_PLUGIN_SNMP
  pkglib_LTLIBRARIES += snmp.la
  snmp_la_SOURCES = snmp.c
@@@ -1186,9 -1167,9 +1186,9 @@@ endi
  if BUILD_PLUGIN_WRITE_REDIS
  pkglib_LTLIBRARIES += write_redis.la
  write_redis_la_SOURCES = write_redis.c
- write_redis_la_LDFLAGS = $(PLUGIN_LDFLAGS) $(BUILD_WITH_LIBCREDIS_LDFLAGS)
- write_redis_la_CFLAGS = $(AM_CFLAGS) $(BUILD_WITH_LIBCREDIS_CPPFLAGS)
- write_redis_la_LIBADD = -lcredis
+ write_redis_la_LDFLAGS = $(PLUGIN_LDFLAGS) $(BUILD_WITH_LIBHIREDIS_LDFLAGS)
+ write_redis_la_CFLAGS = $(AM_CFLAGS) $(BUILD_WITH_LIBHIREDIS_CPPFLAGS)
+ write_redis_la_LIBADD = -lhiredis
  endif
  
  if BUILD_PLUGIN_WRITE_RIEMANN
diff --combined src/types.db
index ec34bd43361ef57175540a6f0291e6b19645b344,6dd53aacb7b1164f38074952809f6396fc98b37c..f6c84335fd5ab0a916abf180d77d046f19009cc0
@@@ -8,12 -8,14 +8,14 @@@ ath_nodes             value:GAUGE:0:6553
  ath_stat              value:DERIVE:0:U
  backends              value:GAUGE:0:65535
  bitrate                       value:GAUGE:0:4294967295
+ blocked_clients value:GAUGE:0:U
  bytes                 value:GAUGE:0:U
  cache_eviction                value:DERIVE:0:U
  cache_operation               value:DERIVE:0:U
  cache_ratio           value:GAUGE:0:100
  cache_result          value:DERIVE:0:U
  cache_size            value:GAUGE:0:U
+ changes_since_last_save   value:GAUGE:0:U
  charge                        value:GAUGE:0:U
  compression_ratio     value:GAUGE:0:2
  compression           uncompressed:DERIVE:0:U, compressed:DERIVE:0:U
@@@ -59,6 -61,7 +61,7 @@@ email_check           value:GAUGE:0:
  email_count           value:GAUGE:0:U
  email_size            value:GAUGE:0:U
  entropy                       value:GAUGE:0:4294967295
+ expired_keys    value:GAUGE:0:U
  fanspeed              value:GAUGE:0:U
  file_size             value:GAUGE:0:U
  files                 value:GAUGE:0:U
@@@ -99,6 -102,7 +102,7 @@@ memcached_items             value:GAUGE:0:
  memcached_octets      rx:DERIVE:0:U, tx:DERIVE:0:U
  memcached_ops         value:DERIVE:0:U
  memory                        value:GAUGE:0:281474976710656
+ memory_lua            value:GAUGE:0:281474976710656
  multimeter            value:GAUGE:U:U
  mutex_operations      value:DERIVE:0:U
  mysql_commands                value:DERIVE:0:U
@@@ -156,6 -160,7 +160,7 @@@ ps_rss                     value:GAUGE:0:9223372036854775
  ps_stacksize          value:GAUGE:0:9223372036854775807
  ps_state              value:GAUGE:0:65535
  ps_vm                 value:GAUGE:0:9223372036854775807
+ pubsub        value:GAUGE:0:U
  queue_length          value:GAUGE:0:U
  records                       value:GAUGE:0:U
  requests              value:GAUGE:0:U
@@@ -168,11 -173,6 +173,11 @@@ serial_octets            rx:DERIVE:0:U, tx:DERIVE
  signal_noise          value:GAUGE:U:0
  signal_power          value:GAUGE:U:0
  signal_quality                value:GAUGE:0:U
 +smart_poweron         value:GAUGE:0:U
 +smart_powercycles     value:GAUGE:0:U
 +smart_badsectors      value:GAUGE:0:U
 +smart_temperature     value:GAUGE:-300:300
 +smart_attribute         current:GAUGE:0:255, worst:GAUGE:0:255, threshold:GAUGE:0:255, pretty:GAUGE:0:U
  snr                   value:GAUGE:0:U
  spam_check            value:GAUGE:0:U
  spam_score            value:GAUGE:U:U