Add IPC plugin documentation in collectd.conf.pod
Add IPC module.
The IPC module allows collectd to gather information about process IPC
mechanims, like used semaphores, size of shared memory segments and so
on...
The IPC module allows collectd to gather information about process IPC
mechanims, like used semaphores, size of shared memory segments and so
on...
snmp plugin: add hostname to "csnmp_instance_list_add" error message
Fixes #939
Fixes #939
Merge branch 'collectd-5.4'
Conflicts:
src/Makefile.am
src/write_http.c
Conflicts:
src/Makefile.am
src/write_http.c
Merge branch 'collectd-5.3' into collectd-5.4
Merge branch 'collectd-4.10' into collectd-5.3
Conflicts:
src/collectd.conf.pod
Conflicts:
src/collectd.conf.pod
Merge pull request #890 from trenkel/master
Fix compiler warnings with Python3.
Fix compiler warnings with Python3.
perl plugin: plugins are linked with *_LIBADD and LIBS not *_LIBS and LIBS
Conflicts:
src/Makefile.am
Conflicts:
src/Makefile.am
libperl's ldopts include libaries and therefore should go in LIBS not LDFLAGS
Without this configure fails compile its libperl test program because
-lperl comes before the test program on the compiler command line.
Conflicts:
src/Makefile.am
Without this configure fails compile its libperl test program because
-lperl comes before the test program on the compiler command line.
Conflicts:
src/Makefile.am
Merge pull request #390 from radford/libperl-ldopts
libperl's ldopts include libaries and therefore should go in LIBS not LDFLAGS
libperl's ldopts include libaries and therefore should go in LIBS not LDFLAGS
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.
Thanks,
-Eric
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.
Thanks,
-Eric
Merge pull request #908 from vincentbernat/fix/libstatgrab4
libstatgrab: fix detection of libstatgrab >= 0.90
libstatgrab: fix detection of libstatgrab >= 0.90
Merge pull request #902 from mfournier/write_http-node-blocks
write_http: deprecate <URL> blocks in favor of <Node>
write_http: deprecate <URL> blocks in favor of <Node>
Merge pull request #899 from mfournier/write_http-multiple-destionations
write_http: make callback names context-dependent
write_http: make callback names context-dependent
RPM specfile: doc clarification
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.
This should fix #114.
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.
This should fix #114.
write_kafka plugin: Topic property not being set
Merge pull request #910 from vincentbernat/fix/ipmi-dont-use-sigusr2
ipmi: use SIGIO instead of SIGUSR2 to avoid conflict with JVM
ipmi: use SIGIO instead of SIGUSR2 to avoid conflict with JVM
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.
This should fix #114.
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.
This should fix #114.
Merge pull request #906 from obazoud/patch-1
Wording automake
Wording automake
added doc CollectStatistics to section rrdcached
Fixes #907
Conflicts:
src/collectd.conf.pod
Fixes #907
Conflicts:
src/collectd.conf.pod
mysql: document defaults to boolean config options
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.
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.
Wording automake
write_http: consistent multi-instance support
This makes the plugin use `<Node>` blocks liks most other write plugins,
while maintaining backwards compatibility with `<URL>` blocks.
It's a follow up to #899, which was merely a fix for the release
branches.
This makes the plugin use `<Node>` blocks liks most other write plugins,
while maintaining backwards compatibility with `<URL>` blocks.
It's a follow up to #899, which was merely a fix for the release
branches.
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.
Conflicts:
src/write_http.c
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.
Conflicts:
src/write_http.c
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.
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.
ensure all curl-based plugins follow HTTP redirects
For the sake of consistency.
For the sake of consistency.
add Modbus/RTU support to modbus plugin
This allows access to a local RS-485 serial port
via the modbus plugin by specifying i.e.
Device "/dev/ttyUSB0"
Baudrate 38400
in a <Host> block.
For now it assumes 8N1; adding another config option
to support other configurations could be done later.
Lightly tested on my local setup.
Signed-off-by: Eric Sandeen <sandeen@sandeen.net>
This allows access to a local RS-485 serial port
via the modbus plugin by specifying i.e.
Device "/dev/ttyUSB0"
Baudrate 38400
in a <Host> block.
For now it assumes 8N1; adding another config option
to support other configurations could be done later.
Lightly tested on my local setup.
Signed-off-by: Eric Sandeen <sandeen@sandeen.net>
RPM specfile: misc improvements related to perl files
Avoids installing some files in two different packages & locations. Also
avoid unnecessary dependencies on -perl and -contrib packages.
Supersedes #896.
Thanks to @faxm0dem for helping work things out !
Avoids installing some files in two different packages & locations. Also
avoid unnecessary dependencies on -perl and -contrib packages.
Supersedes #896.
Thanks to @faxm0dem for helping work things out !
write_riemann: defaults to use TCP and batching
Fixes #891
Fixes #891
RPM specfile: install client tools to a dedicated package
Avoids the package containing the daemon to depend on libcollectdclient.
Fixes #879
Avoids the package containing the daemon to depend on libcollectdclient.
Fixes #879
RPM specfile: handle new write_log plugin
Merge remote-tracking branch 'origin/pr/835'
perl plugin: plugins are linked with *_LIBADD and LIBS not *_LIBS and LIBS
libperl's ldopts include libaries and therefore should go in LIBS not LDFLAGS
Without this configure fails compile its libperl test program because
-lperl comes before the test program on the compiler command line.
Without this configure fails compile its libperl test program because
-lperl comes before the test program on the compiler command line.
Merge pull request #886 from pyr/feature/write_log
Add a write_log output plugin which logs values.
Add a write_log output plugin which logs values.
Do not mention plugins with no options.
mention write_log in the README
change license
python: Properly init the empty string with Python3.
Fix compiler warnings with Python3.
https://github.com/collectd/collectd/issues/505
https://github.com/collectd/collectd/issues/505
Add a write_log output plugin which logs values.
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.
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.
Merge pull request #870 from ifesdjeen/bugfix/absolute-in-multivalue-dispatch
Change "plugin_dispatch_multivalue" to accept any metric type.
Change "plugin_dispatch_multivalue" to accept any metric type.
Merge branch 'collectd-5.4'
Merge branch 'collectd-5.3' into collectd-5.4
Merge branch 'collectd-4.10' into collectd-5.3
Fix check for htonll in configure.ac
Merge pull request #847 from mihu/bind_zone_fix
bind-plugin: fix zones iteratation upper limit
bind-plugin: fix zones iteratation upper limit
types_list: fix carriage return sign
Many thanks to @NsLib for mentioning this !
Many thanks to @NsLib for mentioning this !
RPM specfile: avoid packaging some files twice
Fixes #874
Fixes #874
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.
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.
configure: Fixed check for AM_PATH_LIBCCRYPT
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}").
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}").
collectd.confpod: mention 2 new options to tail plugin
... which were added in #673
... which were added in #673
collectd.conf example: mention new write_riemann options
collectd.conf example: remove erroneous quotes
Thanks to @ymettier for pointing that out !
Thanks to @ymettier for pointing that out !
Merge branch 'collectd-4.10' into collectd-5.3
Conflicts:
src/libvirt.c
Conflicts:
src/libvirt.c
virt plugin: only gather stats for running domains
Conflicts:
src/libvirt.c
Conflicts:
src/libvirt.c
Merge pull request #857 from Lupul/patch-1
virt plugin: Fix memory stats to use the same units
For the record, this is the same as 7bf99b36d, which got missed out from 627a050790.
virt plugin: Fix memory stats to use the same units
For the record, this is the same as 7bf99b36d, which got missed out from 627a050790.
virt plugin: Fix memory stats to use the same units
memory_submit and memory_stats_submit should use same units "Bytes"
- Fixes: #856
memory_submit and memory_stats_submit should use same units "Bytes"
- Fixes: #856
Merge pull request #853 from vincentbernat/fix/kafka-unavailable-partitions
write_kafka: check for partition availability before selecting one
write_kafka: check for partition availability before selecting one
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.
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.
modbus: wrap long lines + indentation/alignment
added man page section for ModbusRegisterType
renamed Function to ModbusRegisterType
added possibility to choose between holding and input registers
bind-plugin: fix zones iteratation upper limit
add missing credits to Michael Schenck
upstart example config: clarify expect stanza ambiguity
redhat initscript: move restart block to a function
This ensures the "condrestart" option will work.
This ensures the "condrestart" option will work.
RPM specfile: indentation + other minor adjustments
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]
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]
Merge pull request #839 from yogeswaran/python
Fix Py list length check in cpy_build_meta()
Fix Py list length check in cpy_build_meta()
Fixed indentation and decreased reference count
Fix Py list length check in cpy_build_meta()
Merge pull request #834 from mfournier/zookeeper_build_error
zookeeper: initialize a variable
zookeeper: initialize a variable
Merge pull request #827 from yogeswaran/collectdctl
collectdctl command hangs on AIX and returns error 0 on Solaris.
collectdctl command hangs on AIX and returns error 0 on Solaris.
Removed extra semicolon
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.
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.
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
(caught by gcc version 4.1.2 on EL5)
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
(caught by gcc version 4.1.2 on EL5)
RPM specfile: require package providing ltdl.h
RPM specfile: add zookeeper plugin
zookeeper: add mention in README & AUTHORS
reset counter type to it's initial value
It was a COUNTER, not a GAUGE before it got accidentally deleted by
6372ca6a38.
It was a COUNTER, not a GAUGE before it got accidentally deleted by
6372ca6a38.
reintroduce counter, killed by error
Merge pull request #826 from katzj/zookeeper
Add a plugin for monitoring zookeeper
Add a plugin for monitoring zookeeper
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
This fixes the !ByState && ByCpu case, i.e. when the user requests one
metric ("active") per CPU.
Bug: #820
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
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
Wrap the content of macro with do/while to make it safer as per code review comment
cpu: remove legacy assignment to undefiend variable
This finishes up the cleanup done by f7100301fa. It also fixes #828
(build error on Mac OS).
Many thanks to @njh for pointing that out !
This finishes up the cleanup done by f7100301fa. It also fixes #828
(build error on Mac OS).
Many thanks to @njh for pointing that out !
Merge pull request #411 from radford/curl-json-inhomogeneous-arrays
curl_json plugin: don't complain about not finding expected maps in arrays
curl_json plugin: don't complain about not finding expected maps in arrays
Merge pull request #829 from njh/cpu_state
Renamed all CPU_STATE_* defines for consistency and to avoid conflicts
Renamed all CPU_STATE_* defines for consistency and to avoid conflicts
Renamed all CPU_STATE_* defines for consistency and to avoid conflicts (fixes #812)
Merge pull request #396 from radford/perl-debug-compile-fix
perl plugin: #undef macros before poisoning them.
perl plugin: #undef macros before poisoning them.
collectdctl command hangs on AIX and returns error 0 on Solaris.
Summary:
Problem: collectdctl command hangs on AIX and returns error 0 on Solaris.
Root cause - client (collectdctl) and server (collectd daemon) are using fprintf to communicate using Unix domain socket, Since fprintf buffers, command sent by client did not reach server, since client does not get the response, it closes the socket which forces the client to flush the command, now server receives the command, when responding, it gets socket error because the client already closed the socket.
Solution: Added flush after all fprintf calls.
Test Plan: Tested collectdctl on AIX and SunOS for listval, getval commands
Reviewers: skhajamo
Reviewed By: skhajamo
CC: arcyd
Differential Revision: https://all.phab.dev.bloomberg.com/D155584
Summary:
Problem: collectdctl command hangs on AIX and returns error 0 on Solaris.
Root cause - client (collectdctl) and server (collectd daemon) are using fprintf to communicate using Unix domain socket, Since fprintf buffers, command sent by client did not reach server, since client does not get the response, it closes the socket which forces the client to flush the command, now server receives the command, when responding, it gets socket error because the client already closed the socket.
Solution: Added flush after all fprintf calls.
Test Plan: Tested collectdctl on AIX and SunOS for listval, getval commands
Reviewers: skhajamo
Reviewed By: skhajamo
CC: arcyd
Differential Revision: https://all.phab.dev.bloomberg.com/D155584
Merge pull request #824 from collectd/feature/update-innodb-stats
Fetch innodb stats from the information_schema when appropriate.
Fetch innodb stats from the information_schema when appropriate.
Use generic types for a few more of the zookeeper metrics
Add information to collectd.conf (5) for the zookeeper plugin
erroneous comparison, caught by clang