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
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.
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
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
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
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
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.
This supercedes #556, using the same query but assigning types.
I'd love some help deciding which types to use.
Merge pull request #813 from njh/openldap_symbol_fix
Fix for "conflicting types for 'ldap_init'"
Fix for "conflicting types for 'ldap_init'"
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
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
avoid clashing with existing names on MacOSX. fixes #812
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.
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.
Merge branch 'collectd-5.3' into collectd-5.4
Conflicts:
src/write_graphite.c
Conflicts:
src/write_graphite.c
Merge branch 'collectd-4.10' into collectd-5.3
mention configure script generation (idea from @hugoduncan).
fixes #818
fixes #818
Merge pull request #816 from collectd/feature/redis-llen
add support for custom commands in redis plugin
add support for custom commands in redis plugin
Merge pull request #728 from mbethke/test-and-clean
Test and clean
Test and clean
add doc bits for new postgresql option
Merge pull request #593 from sodor/master
Add postgresql writer option to skip older values.
Add postgresql writer option to skip older values.
Merge pull request #571 from jktjkt/sensors-support-power
Add support for monitoring lm_sensors' "power" sensors
Add support for monitoring lm_sensors' "power" sensors
Merge pull request #699 from marekbecka/innodb_stats
add more innodb metrics
add more innodb metrics
Merge pull request #550 from marekbecka/nfs4
Add support for nfs4 on linux
Add support for nfs4 on linux
Add documentation bits.
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
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
use consistent naming for arguments
rename command to query
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.
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.
Support the switch from credis to hiredis
Conflicts:
contrib/redhat/collectd.spec
Conflicts:
contrib/redhat/collectd.spec
Merge pull request #759 from mschenck/add-linux-io-time
Add linux I/O time
Add linux I/O time
Merge pull request #783 from mfournier/varnish4
Add support for varnish 4.x
Add support for varnish 4.x
Merge pull request #799 from mfournier/hiredis-switch
Switch redis & write_redis plugins from credis to hiredis
Switch redis & write_redis plugins from credis to hiredis
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.
This reverts commit 9d6f72e5054cfbb183585991fefcf119259d71c4.
The proper fix to this issue is in the collectd-4.10 branch. See also
79e90bba.
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.
This reverts commit e767dc103a142e1c57800f06a9c384f21a48aef5.
The proper fix to this issue is in the collectd-4.10 branch. See also
79e90bba.
snmp: avoid freeing req under normal operation
Equivalent patch to 79e90bba5, to avoid issue #804 introduced while
fixing #610.
Equivalent patch to 79e90bba5, to avoid issue #804 introduced while
fixing #610.
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
We might as well mess with avoid freeing the req pointer
only when failures occur, otherwise perform as before
Merge pull request #814 from mfournier/upstart-systemd-examples
upstart and systemd doc & examples
upstart and systemd doc & examples
Merge pull request #802 from ccin2p3/faxm0dem/cpu-ticks-percentage
allow for 'ReportByCpu false' and 'ValuesPercentage false'
allow for 'ReportByCpu false' and 'ValuesPercentage false'
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
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
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
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
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
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
collectd(1): mention upstart & systemd support
amend comments in upstart config file + disable "console log"
Hopefully avoid some confusion for RHEL6 users which have an old upstart
version.
Hopefully avoid some confusion for RHEL6 users which have an old upstart
version.
add example systemd service file
Making use of systemd socket notification feature added in ff270e6d5.
Making use of systemd socket notification feature added in ff270e6d5.
Fix for "conflicting types for 'ldap_init'"
Prefixed all the collectd specific functions and datatypes with the letter 'c'
Prefixed all the collectd specific functions and datatypes with the letter 'c'
Merge pull request #811 from mfournier/systemd-upstart-build-issue
prevent going through systemd/upstart code, except on Linux
prevent going through systemd/upstart code, except on Linux
Merge pull request #810 from njh/mac_battery_read_return
Added return (0) to the Mac/IOKit variant of battery_read()
Added return (0) to the Mac/IOKit variant of battery_read()
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.
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.
Added return(0) to the Mac/IOKit variant of battery_read()
Merge pull request #806 from vincentbernat/fix/libstatgrab2
libstatgrab: only use one configure test for 0.90 API change
libstatgrab: only use one configure test for 0.90 API change
Merge pull request #808 from landryb/openbsd_build_fixes_2
Openbsd build fixes 2
Openbsd build fixes 2
Detect sys/vmmeter.h and include it if available.
Needed on OpenBSD for struct vmtotal definition.
Needed on OpenBSD for struct vmtotal definition.