collectd.git
9 years agoRPM specfile: switch to using upstart/systemd
Marc Fournier [Mon, 1 Dec 2014 13:31:14 +0000 (14:31 +0100)]
RPM specfile: switch to using upstart/systemd

Favor using systemd when installing on EL7, and upstart on EL6. No
changes for EL5. Uses the upstart & systemd config files from
the contrib/ directory.

The sysv initscript used on EL5 is still available in the
collectd-contrib package, for those who prefer using the traditional
init system.

9 years agoRPM specfile: add zookeeper plugin
Marc Fournier [Tue, 2 Dec 2014 21:04:50 +0000 (22:04 +0100)]
RPM specfile: add zookeeper plugin

9 years agozookeeper: add mention in README & AUTHORS
Marc Fournier [Tue, 2 Dec 2014 21:02:50 +0000 (22:02 +0100)]
zookeeper: add mention in README & AUTHORS

9 years agoreset counter type to it's initial value
Marc Fournier [Tue, 2 Dec 2014 20:49:47 +0000 (21:49 +0100)]
reset counter type to it's initial value

It was a COUNTER, not a GAUGE before it got accidentally deleted by
6372ca6a38.

9 years agoreintroduce counter, killed by error
Pierre-Yves Ritschard [Tue, 2 Dec 2014 15:59:23 +0000 (16:59 +0100)]
reintroduce counter, killed by error

9 years agoMerge pull request #826 from katzj/zookeeper
Pierre-Yves Ritschard [Tue, 2 Dec 2014 12:26:20 +0000 (13:26 +0100)]
Merge pull request #826 from katzj/zookeeper

Add a plugin for monitoring zookeeper

9 years agocpu plugin: Mark the "active" state as available.
Florian Forster [Tue, 2 Dec 2014 10:22:13 +0000 (11:22 +0100)]
cpu plugin: Mark the "active" state as available.

This fixes the !ByState && ByCpu case, i.e. when the user requests one
metric ("active") per CPU.

Bug: #820

9 years agocpu plugin: Fix ValuesPercentage to behave as documented.
Florian Forster [Tue, 2 Dec 2014 10:09:32 +0000 (11:09 +0100)]
cpu plugin: Fix ValuesPercentage to behave as documented.

The documentation claims that ValuesPercentage is only considered when
!ByState && !ByCpu. Fix the behavior to match this documented behavior.
This makes cpu_commit_without_aggregation much easier.

Bug: #820

9 years agoMerge pull request #411 from radford/curl-json-inhomogeneous-arrays
Pierre-Yves Ritschard [Mon, 1 Dec 2014 07:49:00 +0000 (08:49 +0100)]
Merge pull request #411 from radford/curl-json-inhomogeneous-arrays

curl_json plugin: don't complain about not finding expected maps in arrays

9 years agoMerge pull request #829 from njh/cpu_state
Pierre-Yves Ritschard [Mon, 1 Dec 2014 07:45:37 +0000 (08:45 +0100)]
Merge pull request #829 from njh/cpu_state

Renamed all CPU_STATE_* defines for consistency and to avoid conflicts

9 years agoRenamed all CPU_STATE_* defines for consistency and to avoid conflicts (fixes #812)
Nicholas Humfrey [Sun, 30 Nov 2014 20:15:23 +0000 (20:15 +0000)]
Renamed all CPU_STATE_* defines for consistency and to avoid conflicts (fixes #812)

9 years agoMerge pull request #396 from radford/perl-debug-compile-fix
Pierre-Yves Ritschard [Sat, 29 Nov 2014 07:08:16 +0000 (08:08 +0100)]
Merge pull request #396 from radford/perl-debug-compile-fix

perl plugin: #undef macros before poisoning them.

10 years agoMerge pull request #824 from collectd/feature/update-innodb-stats
Pierre-Yves Ritschard [Fri, 28 Nov 2014 08:24:34 +0000 (09:24 +0100)]
Merge pull request #824 from collectd/feature/update-innodb-stats

Fetch innodb stats from the information_schema when appropriate.

10 years agoUse generic types for a few more of the zookeeper metrics
Jeremy Katz [Fri, 28 Nov 2014 05:33:39 +0000 (00:33 -0500)]
Use generic types for a few more of the zookeeper metrics

10 years agoAdd information to collectd.conf (5) for the zookeeper plugin
Jeremy Katz [Fri, 28 Nov 2014 05:32:32 +0000 (00:32 -0500)]
Add information to collectd.conf (5) for the zookeeper plugin

10 years agoerroneous comparison, caught by clang
Pierre-Yves Ritschard [Thu, 27 Nov 2014 09:08:43 +0000 (10:08 +0100)]
erroneous comparison, caught by clang

10 years agoAdd a plugin for monitoring zookeeper
Jeremy Katz [Wed, 26 Nov 2014 23:48:44 +0000 (18:48 -0500)]
Add a plugin for monitoring zookeeper

This adds a simple plugin to read data from Zookeeper's MNTR
command to allow for easy monitoring of Zookeeper from collectd
without requiring jmx

10 years agoFetch innodb stats from the information_schema when appropriate.
Pierre-Yves Ritschard [Wed, 26 Nov 2014 13:28:51 +0000 (14:28 +0100)]
Fetch innodb stats from the information_schema when appropriate.

This supercedes #556, using the same query but assigning types.
I'd love some help deciding which types to use.

10 years agoMerge pull request #813 from njh/openldap_symbol_fix
Marc Fournier [Wed, 26 Nov 2014 13:07:02 +0000 (14:07 +0100)]
Merge pull request #813 from njh/openldap_symbol_fix

Fix for "conflicting types for 'ldap_init'"

10 years agowrite_redis: pass a literal string to snprintf()
Marc Fournier [Mon, 24 Nov 2014 14:00:45 +0000 (15:00 +0100)]
write_redis: pass a literal string to snprintf()

This corrects the following compiler warning when building with
"-Werror=format-security" (the default when building debian packages):

write_redis.c:91:3: error: format not a string literal and no format
arguments

10 years agoavoid clashing with existing names on MacOSX. fixes #812
Pierre-Yves Ritschard [Mon, 24 Nov 2014 13:55:58 +0000 (14:55 +0100)]
avoid clashing with existing names on MacOSX. fixes #812

10 years agoMerge branch 'collectd-5.4'
Marc Fournier [Mon, 24 Nov 2014 08:44:45 +0000 (09:44 +0100)]
Merge branch 'collectd-5.4'

Conflicts:
src/Makefile.am
src/cpu.c
src/swap.c
src/write_redis.c

NB: dropped change to src/swap.c made in 1a146775d4, as suggested in the
commit message.

10 years agoMerge branch 'collectd-5.3' into collectd-5.4
Marc Fournier [Mon, 24 Nov 2014 08:23:18 +0000 (09:23 +0100)]
Merge branch 'collectd-5.3' into collectd-5.4

Conflicts:
src/write_graphite.c

10 years agoMerge branch 'collectd-4.10' into collectd-5.3
Marc Fournier [Mon, 24 Nov 2014 08:18:44 +0000 (09:18 +0100)]
Merge branch 'collectd-4.10' into collectd-5.3

10 years agomention configure script generation (idea from @hugoduncan).
Pierre-Yves Ritschard [Sun, 23 Nov 2014 12:27:58 +0000 (13:27 +0100)]
mention configure script generation (idea from @hugoduncan).

fixes #818

10 years agoMerge pull request #816 from collectd/feature/redis-llen
Pierre-Yves Ritschard [Fri, 21 Nov 2014 17:08:51 +0000 (18:08 +0100)]
Merge pull request #816 from collectd/feature/redis-llen

add support for custom commands in redis plugin

10 years agoMerge pull request #728 from mbethke/test-and-clean
Pierre-Yves Ritschard [Fri, 21 Nov 2014 09:32:55 +0000 (10:32 +0100)]
Merge pull request #728 from mbethke/test-and-clean

Test and clean

10 years agoadd doc bits for new postgresql option
Pierre-Yves Ritschard [Thu, 20 Nov 2014 22:17:41 +0000 (23:17 +0100)]
add doc bits for new postgresql option

10 years agoMerge pull request #593 from sodor/master
Pierre-Yves Ritschard [Thu, 20 Nov 2014 22:07:03 +0000 (23:07 +0100)]
Merge pull request #593 from sodor/master

Add postgresql writer option to skip older values.

10 years agoMerge pull request #571 from jktjkt/sensors-support-power
Pierre-Yves Ritschard [Thu, 20 Nov 2014 21:52:08 +0000 (22:52 +0100)]
Merge pull request #571 from jktjkt/sensors-support-power

Add support for monitoring lm_sensors' "power" sensors

10 years agoMerge pull request #699 from marekbecka/innodb_stats
Pierre-Yves Ritschard [Thu, 20 Nov 2014 15:38:57 +0000 (16:38 +0100)]
Merge pull request #699 from marekbecka/innodb_stats

add more innodb metrics

10 years agoMerge pull request #550 from marekbecka/nfs4
Pierre-Yves Ritschard [Thu, 20 Nov 2014 15:30:27 +0000 (16:30 +0100)]
Merge pull request #550 from marekbecka/nfs4

Add support for nfs4 on linux

10 years agoAdd documentation bits.
Pierre-Yves Ritschard [Thu, 20 Nov 2014 12:29:44 +0000 (13:29 +0100)]
Add documentation bits.

10 years agoProvide sensible default for configuration values
Pierre-Yves Ritschard [Thu, 20 Nov 2014 12:24:35 +0000 (13:24 +0100)]
Provide sensible default for configuration values

This reorders arguments a bit:

- The query is expected to be the block argument
- The type instance is inferred from the query if unsupplied
- The type will default to gauge if not supplied

10 years agouse consistent naming for arguments
Pierre-Yves Ritschard [Thu, 20 Nov 2014 12:15:22 +0000 (13:15 +0100)]
use consistent naming for arguments

10 years agorename command to query
Pierre-Yves Ritschard [Thu, 20 Nov 2014 12:13:18 +0000 (13:13 +0100)]
rename command to query

10 years agoadd support for custom commands in redis plugin
Pierre-Yves Ritschard [Thu, 20 Nov 2014 10:30:33 +0000 (11:30 +0100)]
add support for custom commands in redis plugin

Now that the redis plugin has moved to hiredis, it could
be worthwhile to add support for custom commands.

This diff implements a mechanism for executing commands which
allows for setting the type and type-instance. It doesn not
support hash or array returns, but if this is deemed necessary
could be added later on.

The canonical use case for this is for people using redis
has a queue (for instance, using solutions such as rq,
sidekiq and similar solutions) who want a simple way to
ensure the work queue size is not growing. To address this
you would use:

```
<Plugin redis>
  <Node local>
    <Command "queue_length">
      Exec "LLEN myqueue"
      Instance "myqueue"
    </Command>
  </Node>
</Plugin>
```

This would then produce a redis-local/queue_length-myqueue value.

If the idea has traction I'll add the doc bits.

10 years agoSupport the switch from credis to hiredis
Michael Spiegle [Fri, 13 Dec 2013 17:04:33 +0000 (09:04 -0800)]
Support the switch from credis to hiredis

Conflicts:
contrib/redhat/collectd.spec

10 years agoMerge pull request #759 from mschenck/add-linux-io-time
Marc Fournier [Thu, 20 Nov 2014 07:58:38 +0000 (08:58 +0100)]
Merge pull request #759 from mschenck/add-linux-io-time

Add linux I/O time

10 years agoMerge pull request #783 from mfournier/varnish4
Marc Fournier [Thu, 20 Nov 2014 07:53:58 +0000 (08:53 +0100)]
Merge pull request #783 from mfournier/varnish4

Add support for varnish 4.x

10 years agoMerge pull request #799 from mfournier/hiredis-switch
Marc Fournier [Thu, 20 Nov 2014 07:50:24 +0000 (08:50 +0100)]
Merge pull request #799 from mfournier/hiredis-switch

Switch redis & write_redis plugins from credis to hiredis

10 years agoRevert "Let snmp_synch_response deal with PDU freeing"
Marc Fournier [Wed, 19 Nov 2014 16:59:30 +0000 (17:59 +0100)]
Revert "Let snmp_synch_response deal with PDU freeing"

This reverts commit 9d6f72e5054cfbb183585991fefcf119259d71c4.

The proper fix to this issue is in the collectd-4.10 branch. See also
79e90bba.

10 years agoRevert "Let snmp_synch_response deal with PDU freeing"
Marc Fournier [Wed, 19 Nov 2014 16:49:30 +0000 (17:49 +0100)]
Revert "Let snmp_synch_response deal with PDU freeing"

This reverts commit e767dc103a142e1c57800f06a9c384f21a48aef5.

The proper fix to this issue is in the collectd-4.10 branch. See also
79e90bba.

10 years agosnmp: avoid freeing req under normal operation
Marc Fournier [Wed, 19 Nov 2014 16:54:09 +0000 (17:54 +0100)]
snmp: avoid freeing req under normal operation

Equivalent patch to 79e90bba5, to avoid issue #804 introduced while
fixing #610.

10 years agoAvoid reintroducing #610, updates the fix to #804
Pierre-Yves Ritschard [Wed, 19 Nov 2014 16:30:17 +0000 (17:30 +0100)]
Avoid reintroducing #610, updates the fix to #804

We might as well mess with avoid freeing the req pointer
only when failures occur, otherwise perform as before

10 years agoMerge pull request #814 from mfournier/upstart-systemd-examples
Pierre-Yves Ritschard [Wed, 19 Nov 2014 16:02:11 +0000 (17:02 +0100)]
Merge pull request #814 from mfournier/upstart-systemd-examples

upstart and systemd doc & examples

10 years agoMerge pull request #802 from ccin2p3/faxm0dem/cpu-ticks-percentage
Pierre-Yves Ritschard [Wed, 19 Nov 2014 16:01:53 +0000 (17:01 +0100)]
Merge pull request #802 from ccin2p3/faxm0dem/cpu-ticks-percentage

allow for 'ReportByCpu false' and 'ValuesPercentage false'

10 years agoLet snmp_synch_response deal with PDU freeing
Pierre-Yves Ritschard [Wed, 19 Nov 2014 15:00:54 +0000 (16:00 +0100)]
Let snmp_synch_response deal with PDU freeing

When reading from tables, upon errors the PDUs sent are already
freed by snmp_synch_response since they are right after
snmp_send is called.

This commit syncs collectd's approach with other occurences of
snmp_synch_response calls.

There might be a few corner cases where we leak PDUs, but it
is unclear how to check for those since we would need to
have an indication that snmp_send was never called, which
as far as I can tell is not possible.

The potential for failure in snmp_send is rather low and will
be easily spotted though, since when crafting invalid PDUs
snmp send will constantly fail and since valid configurations
can never leak memory.

This fixes #804

10 years agoLet snmp_synch_response deal with PDU freeing
Pierre-Yves Ritschard [Wed, 19 Nov 2014 15:00:54 +0000 (16:00 +0100)]
Let snmp_synch_response deal with PDU freeing

When reading from tables, upon errors the PDUs sent are already
freed by snmp_synch_response since they are right after
snmp_send is called.

This commit syncs collectd's approach with other occurences of
snmp_synch_response calls.

There might be a few corner cases where we leak PDUs, but it
is unclear how to check for those since we would need to
have an indication that snmp_send was never called, which
as far as I can tell is not possible.

The potential for failure in snmp_send is rather low and will
be easily spotted though, since when crafting invalid PDUs
snmp send will constantly fail and since valid configurations
can never leak memory.

This fixes #804

10 years agoLet snmp_synch_response deal with PDU freeing
Pierre-Yves Ritschard [Wed, 19 Nov 2014 15:00:54 +0000 (16:00 +0100)]
Let snmp_synch_response deal with PDU freeing

When reading from tables, upon errors the PDUs sent are already
freed by snmp_synch_response since they are right after
snmp_send is called.

This commit syncs collectd's approach with other occurences of
snmp_synch_response calls.

There might be a few corner cases where we leak PDUs, but it
is unclear how to check for those since we would need to
have an indication that snmp_send was never called, which
as far as I can tell is not possible.

The potential for failure in snmp_send is rather low and will
be easily spotted though, since when crafting invalid PDUs
snmp send will constantly fail and since valid configurations
can never leak memory.

This fixes #804

10 years agocollectd(1): mention upstart & systemd support
Marc Fournier [Wed, 19 Nov 2014 11:09:03 +0000 (12:09 +0100)]
collectd(1): mention upstart & systemd support

10 years agoamend comments in upstart config file + disable "console log"
Marc Fournier [Wed, 19 Nov 2014 10:14:18 +0000 (11:14 +0100)]
amend comments in upstart config file + disable "console log"

Hopefully avoid some confusion for RHEL6 users which have an old upstart
version.

10 years agoadd example systemd service file
Marc Fournier [Wed, 19 Nov 2014 10:12:55 +0000 (11:12 +0100)]
add example systemd service file

Making use of systemd socket notification feature added in ff270e6d5.

10 years agoFix for "conflicting types for 'ldap_init'"
Nicholas Humfrey [Wed, 19 Nov 2014 09:23:34 +0000 (09:23 +0000)]
Fix for "conflicting types for 'ldap_init'"
Prefixed all the collectd specific functions and datatypes with the letter 'c'

10 years agoMerge pull request #811 from mfournier/systemd-upstart-build-issue
Marc Fournier [Tue, 18 Nov 2014 09:34:55 +0000 (10:34 +0100)]
Merge pull request #811 from mfournier/systemd-upstart-build-issue

prevent going through systemd/upstart code, except on Linux

10 years agoMerge pull request #810 from njh/mac_battery_read_return
Marc Fournier [Tue, 18 Nov 2014 09:17:23 +0000 (10:17 +0100)]
Merge pull request #810 from njh/mac_battery_read_return

Added return (0) to the Mac/IOKit variant of battery_read()

10 years agoprevent going through systemd/upstart code, except on Linux
Marc Fournier [Tue, 18 Nov 2014 08:21:42 +0000 (09:21 +0100)]
prevent going through systemd/upstart code, except on Linux

Fixes #809 (build issue on MacOSX)

NB: in case one day upstart is used on non-Linux platforms, this could
be relaxed to only skip systemd.

10 years agoAdded return(0) to the Mac/IOKit variant of battery_read()
Nicholas Humfrey [Mon, 17 Nov 2014 23:16:05 +0000 (23:16 +0000)]
Added return(0) to the Mac/IOKit variant of battery_read()

10 years agoMerge pull request #806 from vincentbernat/fix/libstatgrab2
Pierre-Yves Ritschard [Mon, 17 Nov 2014 12:57:40 +0000 (13:57 +0100)]
Merge pull request #806 from vincentbernat/fix/libstatgrab2

libstatgrab: only use one configure test for 0.90 API change

10 years agoMerge pull request #808 from landryb/openbsd_build_fixes_2
Pierre-Yves Ritschard [Mon, 17 Nov 2014 12:54:35 +0000 (13:54 +0100)]
Merge pull request #808 from landryb/openbsd_build_fixes_2

Openbsd build fixes 2

10 years agoDetect sys/vmmeter.h and include it if available.
Landry Breuil [Mon, 17 Nov 2014 10:39:11 +0000 (11:39 +0100)]
Detect sys/vmmeter.h and include it if available.

Needed on OpenBSD for struct vmtotal definition.

10 years agoFix wrong #ifdef introduced in df46cd01
Landry Breuil [Mon, 17 Nov 2014 10:38:40 +0000 (11:38 +0100)]
Fix wrong #ifdef introduced in df46cd01

10 years agolibstatgrab: only use one configure test for 0.90 API change
Vincent Bernat [Mon, 17 Nov 2014 09:35:16 +0000 (10:35 +0100)]
libstatgrab: only use one configure test for 0.90 API change

Previously, each API change was tested in configure.ac. Some of the
tests are relying on signature checks and would need to have -Werror
flag enabled to make them work. This is quite fragile.

Instead, we assume that if `sg_init()` requires an argument, we must use
the 0.90 API.

Fixes: #795

10 years agoRPM specfile: add support for smart & openldap plugins
Marc Fournier [Mon, 17 Nov 2014 09:14:57 +0000 (10:14 +0100)]
RPM specfile: add support for smart & openldap plugins

10 years agoadd credits for new plugins
Marc Fournier [Mon, 17 Nov 2014 08:47:33 +0000 (09:47 +0100)]
add credits for new plugins

10 years agosmart: mention support lib in README
Marc Fournier [Mon, 17 Nov 2014 08:47:04 +0000 (09:47 +0100)]
smart: mention support lib in README

10 years agoadapt contrib script
Pierre-Yves Ritschard [Sat, 15 Nov 2014 09:47:05 +0000 (10:47 +0100)]
adapt contrib script

10 years agoMerge pull request #796 from mfournier/write_redis-colon-mistake
Pierre-Yves Ritschard [Sat, 15 Nov 2014 14:45:00 +0000 (15:45 +0100)]
Merge pull request #796 from mfournier/write_redis-colon-mistake

write_redis: re-add colon dropped in b7984797 + manpage

10 years agoMerge pull request #719 from mfournier/openldap-improvements-rebased
Pierre-Yves Ritschard [Sat, 15 Nov 2014 09:52:47 +0000 (10:52 +0100)]
Merge pull request #719 from mfournier/openldap-improvements-rebased

Openldap plugin

10 years agoMerge pull request #795 from vincentbernat/fix/libstatgrab
Pierre-Yves Ritschard [Sat, 15 Nov 2014 09:51:49 +0000 (10:51 +0100)]
Merge pull request #795 from vincentbernat/fix/libstatgrab

libstatgrab: fix sg_init() invocation for libstatgrab >= 0.9

10 years agoMerge pull request #797 from vincentbernat/feature/libatasmart
Pierre-Yves Ritschard [Sat, 15 Nov 2014 09:49:32 +0000 (10:49 +0100)]
Merge pull request #797 from vincentbernat/feature/libatasmart

smart: add a SMART plugin

10 years agoMerge pull request #800 from pyr/feature/riemann-batch
Pierre-Yves Ritschard [Sat, 15 Nov 2014 09:49:17 +0000 (10:49 +0100)]
Merge pull request #800 from pyr/feature/riemann-batch

Add a batching mechanism for riemann TCP writes

10 years agoMerge pull request #798 from pyr/feature/upstart-job
Pierre-Yves Ritschard [Sat, 15 Nov 2014 09:47:49 +0000 (10:47 +0100)]
Merge pull request #798 from pyr/feature/upstart-job

Support both systemd and upstart.

10 years agowrite_redis: avoid passing a float/double to redisCommand()
Marc Fournier [Fri, 14 Nov 2014 21:04:16 +0000 (22:04 +0100)]
write_redis: avoid passing a float/double to redisCommand()

... as it seems to not be well supported by hiredis 0.10.1 on Debian
7.0, leading to a segfault. Storing the string representation in a
variable instead is the compromise I found to make the plugin work on
this system.

10 years agolibstatgrab: fix sg_get_disk_io_stats() invocation for libstatgrab >= 0.9
Vincent Bernat [Thu, 13 Nov 2014 16:57:46 +0000 (17:57 +0100)]
libstatgrab: fix sg_get_disk_io_stats() invocation for libstatgrab >= 0.9

In those versions, `sg_get_disk_io_stats()` need to be invoked a pointer
to size_t instead of pointer to int. Such a requirement is detected at
configure-time.

Fixes: #445

10 years agoopenldap: add mention in README
Marc Fournier [Wed, 12 Nov 2014 17:05:33 +0000 (18:05 +0100)]
openldap: add mention in README

10 years agoopenldap: relicence to MIT
Marc Fournier [Wed, 12 Nov 2014 16:55:26 +0000 (17:55 +0100)]
openldap: relicence to MIT

... with Kimo's agreement. Also add myself to copyright holders.

10 years agosmart: when threshold is valid, also test for "less or equal"
Vincent Bernat [Wed, 12 Nov 2014 14:39:42 +0000 (15:39 +0100)]
smart: when threshold is valid, also test for "less or equal"

When the threshold is 0, a value of 0 should hit the threshold.

10 years agoLink aggregation.so to libm.so
Bjørn Nordbø [Wed, 12 Nov 2014 11:27:43 +0000 (12:27 +0100)]
Link aggregation.so to libm.so

Conflicts:
src/Makefile.am

10 years agolibstatgrab: fix sg_get_user_stats() invocation for libstatgrab >= 0.9
Vincent Bernat [Wed, 12 Nov 2014 12:19:05 +0000 (13:19 +0100)]
libstatgrab: fix sg_get_user_stats() invocation for libstatgrab >= 0.9

In those versions, `sg_get_user_stats()` need to be invoked with an
additional argument. The need for such an argument is detected at
configure-time.

Fixes: #445

10 years agolibstatgrab: fix sg_init() invocation for libstatgrab >= 0.9
Vincent Bernat [Fri, 7 Nov 2014 22:46:45 +0000 (23:46 +0100)]
libstatgrab: fix sg_init() invocation for libstatgrab >= 0.9

In those versions, `sg_init()` need to be invoked with an additional
argument. The need for such an argument is detected at configure-time.

Fixes: #445

10 years agoMerge pull request #803 from bnordbo/aggregation-libm
Pierre-Yves Ritschard [Wed, 12 Nov 2014 11:35:00 +0000 (12:35 +0100)]
Merge pull request #803 from bnordbo/aggregation-libm

Link aggregation.so to libm.so

10 years agoLink aggregation.so to libm.so
Bjørn Nordbø [Wed, 12 Nov 2014 11:27:43 +0000 (12:27 +0100)]
Link aggregation.so to libm.so

10 years agoindentation
Fabien Wernli [Wed, 12 Nov 2014 11:06:09 +0000 (12:06 +0100)]
indentation

Change-Id: I0201ac6e3c6e3c9bfcf55b74df6f13b9d961a90e

10 years agoallow for 'ReportByCpu false' and 'ValuesPercentage false'
Fabien Wernli [Wed, 12 Nov 2014 10:21:43 +0000 (11:21 +0100)]
allow for 'ReportByCpu false' and 'ValuesPercentage false'
this will allow for aggregating total cpu values while keeping derives
(ticks)

Change-Id: Ic22a1b52a5897c18398fa25095a0f3ebcc403ee1

10 years agoMerge pull request #765 from tokkee/sh/write-err
Pierre-Yves Ritschard [Tue, 11 Nov 2014 18:39:58 +0000 (19:39 +0100)]
Merge pull request #765 from tokkee/sh/write-err

Use the complain mechanism to report write failures.

10 years agoAdd a batching mechanism for riemann TCP writes
Pierre-Yves Ritschard [Tue, 11 Nov 2014 15:09:48 +0000 (16:09 +0100)]
Add a batching mechanism for riemann TCP writes

This does not batch notifications.

10 years agonetwork: don't enable gcrypt thread callbacks when gcrypt recent enough
Vincent Bernat [Fri, 7 Nov 2014 14:20:22 +0000 (15:20 +0100)]
network: don't enable gcrypt thread callbacks when gcrypt recent enough

From `gcrypt.h`:

> NOTE: Since Libgcrypt 1.6 the thread callbacks are not anymore used.
> However we keep it to allow for some source code compatibility if used
> in the standard way.

Otherwise, we get a deprecation warning which is turned into an error:

```
  CC       libcollectdclient_la-network_buffer.lo
../../../src/libcollectdclient/network_buffer.c:58:15: error: 'gcry_thread_cbs' is deprecated (declared at /usr/include/gcrypt.h:213) [-Werror=deprecated-declarations]
 GCRY_THREAD_OPTION_PTHREAD_IMPL;
```

Fixes: #632

10 years agoMerge pull request #793 from vincentbernat/fix/gcrypt-deprecated
Pierre-Yves Ritschard [Tue, 11 Nov 2014 11:13:30 +0000 (12:13 +0100)]
Merge pull request #793 from vincentbernat/fix/gcrypt-deprecated

network: don't enable gcrypt thread callbacks when gcrypt recent enough

10 years agoadd write_redis to manpage
Marc Fournier [Tue, 11 Nov 2014 10:39:40 +0000 (11:39 +0100)]
add write_redis to manpage

10 years agoMerge pull request #792 from vincentbernat/fix/out-of-tree-build
Pierre-Yves Ritschard [Tue, 11 Nov 2014 10:27:35 +0000 (11:27 +0100)]
Merge pull request #792 from vincentbernat/fix/out-of-tree-build

build: fix out-of-tree build

10 years agoSupport both systemd and upstart.
Pierre-Yves Ritschard [Fri, 7 Nov 2014 12:56:21 +0000 (13:56 +0100)]
Support both systemd and upstart.

This checks appropriate environment variables. When supervised
by either upstart or systemd, collectd will not daemonize but
will signal readyness with the appropriate method.

This allows collectd to be either configured with `expect stop`
in upstart or `Type=notify` with systemd.

The rationale for this is detailed here: http://spootnik.org/entries/2014/11/09_pid-tracking-in-modern-init-systems.html

10 years agosmart: add notifications when a value is below the threshold
Vincent Bernat [Mon, 10 Nov 2014 10:36:58 +0000 (11:36 +0100)]
smart: add notifications when a value is below the threshold

10 years agosmart: add a SMART plugin
Vincent Bernat [Fri, 7 Nov 2014 14:13:27 +0000 (15:13 +0100)]
smart: add a SMART plugin

This plugin uses libatasmart:
 http://0pointer.de/blog/projects/being-smart.html

As libatasmart is Linux-only, the plugin is therefore Linux-only
too. The disks are discovered through libudev.

Each SMART attribute is extracted. The current value, worst value,
threshold value (if any) are recorded. Those are normalized
values (between 0 and 255, higher is better). For some values, it makes
more sense to record the raw value. libatasmart is converting this raw
value to something sensible. We record that form. Sometimes, this is
just the raw value but sometimes this is converted to another scale (for
example, the temperature). People should know what each attribute means
before using those values. Otherwise, the normalized values are better.

Four values are (power-on time, power cycle count, bad sectors and
temperature) are also recorded on their own. Those are usually the
values that the user care about the most.

Here is an excerpt of the plugin output with the CSV plugin (the SSD
disk on my laptop doesn't provide a temperature sensor):

    .
    └── zoro.exoscale.ch
        └── smart-sda
            ├── smart_attribute-attribute-173-2014-11-10
            ├── smart_attribute-attribute-174-2014-11-10
            ├── smart_attribute-available-reserved-space-2014-11-10
            ├── smart_attribute-end-to-end-error-2014-11-10
            ├── smart_attribute-erase-fail-count-2014-11-10
            ├── smart_attribute-power-cycle-count-2014-11-10
            ├── smart_attribute-power-on-hours-2014-11-10
            ├── smart_attribute-power-on-seconds-2-2014-11-10
            ├── smart_attribute-program-fail-count-2014-11-10
            ├── smart_attribute-reallocated-sector-count-2014-11-10
            ├── smart_attribute-reported-uncorrect-2014-11-10
            ├── smart_attribute-total-lbas-read-2014-11-10
            ├── smart_attribute-total-lbas-written-2014-11-10
            ├── smart_attribute-udma-crc-error-count-2014-11-10
            ├── smart_attribute-unused-reserved-blocks-2014-11-10
            ├── smart_attribute-used-reserved-blocks-chip-2014-11-10
            ├── smart_badsectors-2014-11-10
            ├── smart_powercycles-2014-11-10
            └── smart_poweron-2014-11-10

    $ cat zoro.exoscale.ch/smart-sda/smart_attribute-total-lbas-read-2014-11-10
    epoch,current,worst,threshold,pretty
    1415613266.376,100.000000,100.000000,0.000000,281018.000000
    1415613276.395,100.000000,100.000000,0.000000,281018.000000
    1415613286.384,100.000000,100.000000,0.000000,281051.000000
    1415613296.383,100.000000,100.000000,0.000000,281051.000000

10 years agowrite_redis: fix format of commands sent to redis
Marc Fournier [Mon, 10 Nov 2014 06:58:13 +0000 (07:58 +0100)]
write_redis: fix format of commands sent to redis

The commands getting submitted to redis now look like this:
"ZADD" "collectd/hostname/entropy/entropy" "1415602051.335973024" "1415602051.335973024:823"
"SADD" "collectd/values" "hostname/entropy/entropy"

... which is the same as in the initial implementation, except for the
added decimals in the timestamp (the plugin was developped before
high-precision timestamps support was added to collectd).

10 years agoredis: add missing constant
Marc Fournier [Mon, 10 Nov 2014 06:57:48 +0000 (07:57 +0100)]
redis: add missing constant

10 years agowrite_redis: re-add colon dropped in b7984797
Marc Fournier [Sat, 8 Nov 2014 23:16:11 +0000 (00:16 +0100)]
write_redis: re-add colon dropped in b7984797

When running f3706b0b87, the following command gets sent to redis:
  "ZADD" "collectd/hostname/entropy/entropy" "1415487432.000000" "1415487432:932"
Meaning the value actually stored, and later returned by redis is:
"<timstamp>:<value>".

b7984797 accidentally dropped the comma separating the timestamp and the
value, which leads the plugin to store a somewhat confusing value in
redis:
  "ZADD" "collectd/hostname/entropy/entropy" "1415487432.000000" "1415487432932"

10 years agowrite_redis: re-add colon dropped in b7984797
Marc Fournier [Sat, 8 Nov 2014 23:16:11 +0000 (00:16 +0100)]
write_redis: re-add colon dropped in b7984797

When running f3706b0b87, the following command gets sent to redis:
  "ZADD" "collectd/hostname/entropy/entropy" "1415487432.000000" "1415487432:932"
Meaning the value actually stored, and later returned by redis is:
"<timstamp>:<value>".

b7984797 accidentally dropped the comma separating the timestamp and the
value, which leads the plugin to store a somewhat confusing value in
redis:
  "ZADD" "collectd/hostname/entropy/entropy" "1415487432.000000" "1415487432932"

10 years agoFix memory leak in redis.c
Michael Spiegle [Fri, 10 Jan 2014 00:48:47 +0000 (00:48 +0000)]
Fix memory leak in redis.c

10 years agoAdd memory_lua data type
Guillem Anguera [Thu, 28 Nov 2013 09:49:18 +0000 (10:49 +0100)]
Add memory_lua data type