Eric Sandeen [Wed, 28 Jan 2015 04:36:05 +0000 (22:36 -0600)]
modbus: rename register types once more
As I was looking over my config files again, ModbusRegisterType
kind of stuck out like a sore thumb.
Modbus does talk about "read holding" and "read input" as "commands";
perhaps renaming it as this patch does is more intuitive, so that all
of the Modbus register configurations start with Register.
I'm not wedded to it, but if you like it & agree, here you go.
Vincent Bernat [Fri, 23 Jan 2015 17:55:04 +0000 (18:55 +0100)]
ipmi: use SIGIO instead of SIGUSR2 to avoid conflict with JVM
Java uses SIGUSR2 to suspend/resume threads. The OpenIPMI plugins also
need a signal to resume its event loop when setting a timer. They can't
both use the same signal. We ask OpenIPMI to use SIGIO instead.
Vincent Bernat [Fri, 23 Jan 2015 17:55:04 +0000 (18:55 +0100)]
ipmi: use SIGIO instead of SIGUSR2 to avoid conflict with JVM
Java uses SIGUSR2 to suspend/resume threads. The OpenIPMI plugins also
need a signal to resume its event loop when setting a timer. They can't
both use the same signal. We ask OpenIPMI to use SIGIO instead.
Vincent Bernat [Fri, 23 Jan 2015 10:57:03 +0000 (11:57 +0100)]
libstatgrab: fix detection of libstatgrab >= 0.90
Ensure linking is done after compilation of the test program, otherwise
symbols cannot be found. `LDFLAGS` and `CFLAGS` are placed before the
test program on gcc command line while `LIBS` is placed after. Even if
in our case, `LDFLAGS` also contain the lib, being put before the
program while the linking phase is done with the same command leads to
`sg_init()` never found which is misinterpreted as requiring an
argument.
Marc Fournier [Sat, 17 Jan 2015 15:10:46 +0000 (16:10 +0100)]
write_http: make callback names context-dependent
This allows multiple destinations to work again (fixes #821), using the
same logic as other write plugins.
The callback name would now be something like:
`write_http/http://example.com/endpoint`
which is not very nice.
The next step would be to change this plugin to use `<Node>` blocks
like many others, and pass the URL as a parameter inside each instance
block. So I see this patch as the minimum required to let 5.3 and 5.4
users use this plugin with multiple destinations.
Marc Fournier [Sat, 17 Jan 2015 15:10:46 +0000 (16:10 +0100)]
write_http: make callback names context-dependent
This allows multiple destinations to work again (fixes #821), using the
same logic as other write plugins.
The callback name would now be something like:
`write_http/http://example.com/endpoint`
which is not very nice.
The next step would be to change this plugin to use `<Node>` blocks
like many others, and pass the URL as a parameter inside each instance
block. So I see this patch as the minimum required to let 5.3 and 5.4
users use this plugin with multiple destinations.
I find this to be useful when developping new input plugins,
it allows creating a very simple configuration and combined
with `-f` can be used for a very simple workflow.
I'm proposing this, since I think it could be useful for
people wanting to debug their config on local agents as well.
Marc Fournier [Mon, 22 Dec 2014 15:16:12 +0000 (16:16 +0100)]
RPM specfile: revert back to sysvinit on EL6
Feedback on ca84b19de about using upstart by default on EL6 was
negative. This init system is not very well integrated on this distro,
so users would get confused.
Alex Petrov [Wed, 17 Dec 2014 11:43:24 +0000 (12:43 +0100)]
Change "plugin_dispatch_multivalue" to accept any metric type.
Currently, "plugin_dispatch_multivalue" works only with
"gauge_t" metric type. This commit changes it to accept a
"store_type" (one of "DS_TYPE_{GAUGE|COUTNTER|ABSOLUTE|DERIVE}").
Vincent Bernat [Wed, 10 Dec 2014 14:41:49 +0000 (15:41 +0100)]
write_kafka: check for partition availability before selecting one
When a partition is unavailable, sending to it will just lead to a lost
metric. Therefore, after selecting the partition, check if it is
available. If not, select the next one until we tried them all.
A future iteration may use consistent hashing to avoid to double the
work done on a partition when the previous one is unavailable.
Marc Fournier [Wed, 3 Dec 2014 15:15:28 +0000 (16:15 +0100)]
netlink: ensure size_t portability in DEBUG() statement
This prevents the following error when building on 32bit systems with
gcc 4.7.2:
netlink.c: In function 'ir_read':
netlink.c:783:7: error: format '%lu' expects argument of type 'long unsigned int', but argument 5 has type 'size_t' [-Werror=format]
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.
Marc Fournier [Tue, 2 Dec 2014 23:10:54 +0000 (00:10 +0100)]
zookeeper: initialize a variable
If the loop on line 132 doesn't iterate at least once, the function would
return the "sk" variable uninitialized.
This fixes the following build error:
cc1: warnings being treated as errors
zookeeper.c: In function 'zookeeper_read':
zookeeper.c:107: warning: 'sk' may be used uninitialized in this function
make[3]: *** [zookeeper.lo] Error 1