memcached plugin: Refactor the memcached_query_daemon() function.
The connecting code has been broken out in separate functions and the
writing and reading from the socket no longer uses poll(2),
non-blocking I/O and a custom built retry logic. Instead block on I/O and
let the read-thread-pool do its thing.
The connecting code has been broken out in separate functions and the
writing and reading from the socket no longer uses poll(2),
non-blocking I/O and a custom built retry logic. Instead block on I/O and
let the read-thread-pool do its thing.
memcached plugin: Fix backwards compatibility.
Register a default callback in the init() phase if no configuration is
provided for the plugin. This way doing just "LoadPlugin memcached" will
result in the old behavior i.e. localhost being queried.
Register a default callback in the init() phase if no configuration is
provided for the plugin. This way doing just "LoadPlugin memcached" will
result in the old behavior i.e. localhost being queried.
memcached plugin: Fix the default behavior, i.e. use the documented host and port.
collectd.conf(5): Document the memcached plugin.
The Instance blocks and Socket option were missing.
The Instance blocks and Socket option were missing.
memcached plugin: Specify read-group name when registering callbacks.
memcached plugin: Rename config callback (add prefix).
memcached plugin: Replace config_set_string() with cf_util_get_string().
multiple memcached instances, v2
memcached plugin : added support for multiple instances
Merge branch 'ms/tcpconns'
tcpconns plugin: Only chose between netlink / proc on the first iteration.
Rather than going for netlink each iteration and fall back to /proc, try
this on the first iteration only and stick with the result afterwards.
Also contains some improvements to the error handling / reporting.
Rather than going for netlink each iteration and fall back to /proc, try
this on the first iteration only and stick with the result afterwards.
Also contains some improvements to the error handling / reporting.
little style changes (code review)
src/utils_format_json.c: Remove unused arguments.
write_graphite: Use the broken out "format_graphite" module.
This was broken out for use in the AMQP plugin. De-duplicate the code by
using it from write_graphite as well.
This was broken out for use in the AMQP plugin. De-duplicate the code by
using it from write_graphite as well.
AUTHORS: Add Thomas Meson.
Add Florian Forster to the list of copyright holders and authors of
utils_format_graphite.c, since its based on his code.
Add Florian Forster to the list of copyright holders and authors of
utils_format_graphite.c, since its based on his code.
amqp plugin: add support for Graphite output
This commit implements "Graphite format" for AMQP Plugin.
The AMQP plugin will be able to directly output a valid
Graphite metric format (<metric name> <value> <timestamp>\n).
This is very useful when the Graphite server is directly reading
from an AMQP broker. You can then avoid having a proxy somewhere
doing the conversion between PUTVAL or JSON metrics into Graphite
format.
Signed-off-by: Florian Forster <octo@collectd.org>
This commit implements "Graphite format" for AMQP Plugin.
The AMQP plugin will be able to directly output a valid
Graphite metric format (<metric name> <value> <timestamp>\n).
This is very useful when the Graphite server is directly reading
from an AMQP broker. You can then avoid having a proxy somewhere
doing the conversion between PUTVAL or JSON metrics into Graphite
format.
Signed-off-by: Florian Forster <octo@collectd.org>
tcpconns/linux: Use netlink instead of parsing /proc/net/tcp{,6}
Fix bad definition of UDP src port in DNS plugin.
collectd.conf(5): Document the "Password" option.
redis plugin: Coding style fixes.
redis plugin: Add authentication support.
src/utils_format_json.c: Various fixes for the meta data code.
* Moved to a separate function.
* Escape string values.
* Fix format string for [u]int64_t.
* Emit the JSON literals «true» and «false» rather than «0» and «1».
* Make certain keys are always freed.
* Move the meta data information into a separate map.
* Moved to a separate function.
* Escape string values.
* Fix format string for [u]int64_t.
* Emit the JSON literals «true» and «false» rather than «0» and «1».
* Make certain keys are always freed.
* Move the meta data information into a separate map.
annotate meta data to json objects
Run through any metadata and annotate them to json objects when they are
created.
Run through any metadata and annotate them to json objects when they are
created.
Merge pull request #96 from mstap/master
add collectd systemd service file
add collectd systemd service file
describe collectd.service in contrib/README
Add collectd systemd unit file
oracle plugin: Replace the o_config_set_string() function.
oracle plugin: Implement the "Host" option.
varnish plugin: Make argument "stats" const.
ethstat plugin: Fix a typo.
Bump version to 5.1.0; Update ChangeLog.
Merge branch 'collectd-5.0'
Merge branch 'collectd-4.10' into collectd-5.0
Conflicts:
ChangeLog
Conflicts:
ChangeLog
ChangeLog: Correct date.
Bump version to 5.0.4; Update ChangeLog.
Merge branch 'collectd-4.10' into collectd-5.0
Conflicts:
ChangeLog
src/collectd.conf.pod
src/common.c
src/network.c
src/processes.c
version-gen.sh
Conflicts:
ChangeLog
src/collectd.conf.pod
src/common.c
src/network.c
src/processes.c
version-gen.sh
Bump version to 4.10.7; Update ChangeLog.
Revert "Proposal fix for large "MaxPacketSize" use."
This reverts commit 12213f8dfeee3feb3846aa658def0bb79c1211d0.
This reverts commit 12213f8dfeee3feb3846aa658def0bb79c1211d0.
network plugin: Do not forward received notifications.
The network plugin would send out all notifications it got through its
callback, even the ones it received itself and even when forwarding was
disabled.
With this patch the network plugin will only transmit notifications created
locally -- forwarding of notifications is not implemented due to missing
loop-detection. For loop-detection we would have to keep track of the last
timestamp of each notifications, and since each host/plugin/type/-instance
field may be empty, this is not as straight forward as with value lists. If
someone needs this, they will need to invest some work I'm afraid.
The network plugin would send out all notifications it got through its
callback, even the ones it received itself and even when forwarding was
disabled.
With this patch the network plugin will only transmit notifications created
locally -- forwarding of notifications is not implemented due to missing
loop-detection. For loop-detection we would have to keep track of the last
timestamp of each notifications, and since each host/plugin/type/-instance
field may be empty, this is not as straight forward as with value lists. If
someone needs this, they will need to invest some work I'm afraid.
Merge pull request #56 from octo/ci/nfs
NFS plugin: Add Solaris support.
NFS plugin: Add Solaris support.
Merge branch 'ff/zfs'
zfs_arc plugin: Move reading of kstat values into separate functions.
This way error handling can be done in a central place and we can do this more
carefully overall.
This way error handling can be done in a central place and we can do this more
carefully overall.
Merge pull request #60 from octo/ar/zfs
more zfs kstat values
more zfs kstat values
zfs_arc plugin: Add copyright header for Aurelien Rougemont.
Proposal fix for large "MaxPacketSize" use.
When we use a "MaxPacketSize" over two thousand of octets (to pass huge
message in notification for example), buffer may not be flushed for a
while.
By flushing buffer when there is about 1400 octets, we're sure there is
no data too longer in.
When we use a "MaxPacketSize" over two thousand of octets (to pass huge
message in notification for example), buffer may not be flushed for a
while.
By flushing buffer when there is about 1400 octets, we're sure there is
no data too longer in.
zfs_arc plugin: Fix the "hash collision" and "mutex miss" metrics.
zfs_arc plugin: Fix typo in variable name.
zfs_arc plugin: Introduce the single-valued "mutex_operation" type.
zfs_arc plugin: Introduce the single-valued "cache_eviction" type.
zfs_arc plugin: Convert to use DERIVE.
add types for deleted, evict, hash, mutex
Signed-off-by: Florian Forster <octo@collectd.org>
Signed-off-by: Florian Forster <octo@collectd.org>
add hash_collisions, deleted, mutex_miss, evict_*
Fixed Solaris compilation errors
The value returned by get_kstat_value is of type long long whereas values is a union. Fixed the code so that the value gets assigned to one of the union members, in this case counter.
The value returned by get_kstat_value is of type long long whereas values is a union. Fixed the code so that the value gets assigned to one of the union members, in this case counter.
Fixed solaris configure script generation errors
The brackets in configure.in and the changes in version-gen.sh are needed in order for the build.sh script to generate the configure script correctly. Else the generated script won't work.
The brackets in configure.in and the changes in version-gen.sh are needed in order for the build.sh script to generate the configure script correctly. Else the generated script won't work.
src/common.h: Add comment about return value of read_file_contents().
nfs plugin: Minor coding style fixes.
nfs plugin: Remove duplicated code.
Changes include:
* Calculate nfs[234]_procedures_names_num at compile time.
* Made nfs_procedures_submit() more versatile, so it can be used from the Linux
and the Solaris code.
* Switched to plugin_dispatch_values_secure(), since the code is using the same
value_list_t for multiple values.
* Broke out nfs_submit_fields() from the Linux code. This removed quite a bit
of code duplication between the v2/v3 code.
* Broke out nfs_read_kstat() which does the get_kstat_value() call in a loop
rather than duplicating all the NFS procedure names.
Changes include:
* Calculate nfs[234]_procedures_names_num at compile time.
* Made nfs_procedures_submit() more versatile, so it can be used from the Linux
and the Solaris code.
* Switched to plugin_dispatch_values_secure(), since the code is using the same
value_list_t for multiple values.
* Broke out nfs_submit_fields() from the Linux code. This removed quite a bit
of code duplication between the v2/v3 code.
* Broke out nfs_read_kstat() which does the get_kstat_value() call in a loop
rather than duplicating all the NFS procedure names.
Enable modules for Solaris
Enabling nfs,processes and protocols modules for Solaris when running the
configure script.
Enabling nfs,processes and protocols modules for Solaris when running the
configure script.
Fix Linux compilation errors
Fixed compilation errors for the linux platform
Fixed compilation errors for the linux platform
Added safe-guard for kstat libraries
Added Solaris support for nfs3 and nfs4 (client/server)
tcpconns plugin: Include <bsd/nlist.h> rather than <nlist.h>.
It appears that <nlist.h> is being deprecated / moved.
This hopefully fixes Debian bug #664429.
It appears that <nlist.h> is being deprecated / moved.
This hopefully fixes Debian bug #664429.
Merge branch 'jr/varnish'
Merge pull request #48 from octo/pk/processes
Fix processes plugin under FreeBSD.
Fix processes plugin under FreeBSD.
processes plugin: Minimize whitespace-only changes.
processes plugin: Some more minor coding style fixes.
Merge pull request #52 from octo/cf/ethstat
ethstat support
ethstat support
ethstat plugin: Implement the "MappedOnly" option.
ethstat plugin: Fix indentation. It was a mess, sorry.
src/common.c: parse_value: Strip trailing whitespace before parsing.
This hopefully avoids the annoying "trailing garbage" message when the buffer
only contains a newline or space at the end.
This hopefully avoids the annoying "trailing garbage" message when the buffer
only contains a newline or space at the end.
collectd.conf(5): Document the "Hits" and "Hysteresis" threshold options.
Fixes GitHub issue #53.
Fixes GitHub issue #53.
Makefile adds dependency on $(LIBLTDL), which is valued "-lltdl"
When building on OS X, the collectd build failed, because the collectd target
has a dependency on "-lltdl", which is the value the variable $(LIBLTDL) has.
Obviously, this should be the file name instead. I am however not sure how to
specify the correct filename in this case.
Fixes GitHub issue #54.
Signed-off-by: Florian Forster <octo@collectd.org>
When building on OS X, the collectd build failed, because the collectd target
has a dependency on "-lltdl", which is the value the variable $(LIBLTDL) has.
Obviously, this should be the file name instead. I am however not sure how to
specify the correct filename in this case.
Fixes GitHub issue #54.
Signed-off-by: Florian Forster <octo@collectd.org>
ethstat plugin: Implement the "Map" option.
ethstat plugin: Add documentation.
ethstat plugin: Use the system header files if available.
And disable the plugin when they are not.
And disable the plugin when they are not.
ethstat module: Fix allocation of "ifacelist".
And remove uses of strcpy(3).
And remove uses of strcpy(3).
ethstat plugin: Fix includes.
ethstat plugin: Collect performance statistics from NICs.
Hi all,
For my needs at work I wrote a plugin for collectd and I wish to share it with
you.
This plugins, temporary called ethstat and wrote in C, collect lot of
performance counter about network interface as "ethtool -S ethX" do by asking
NIC driver module.
At the moment this plugin work only under Linux. Any help would be great for
make it working under Solaris, AIX and co ...
If you think this plugin may be included to collectd sources, what is the
procedure to do it ?
Regards,
Cyril Feraudet
To be added to configuration file to make it work :
LoadPlugin ethstat
<Plugin ethstat>
Iface "eth0"
#Iface "eth1"
#Iface "eth2"
#Iface "eth3"
</Plugin>
Signed-off-by: Florian Forster <octo@collectd.org>
Hi all,
For my needs at work I wrote a plugin for collectd and I wish to share it with
you.
This plugins, temporary called ethstat and wrote in C, collect lot of
performance counter about network interface as "ethtool -S ethX" do by asking
NIC driver module.
At the moment this plugin work only under Linux. Any help would be great for
make it working under Solaris, AIX and co ...
If you think this plugin may be included to collectd sources, what is the
procedure to do it ?
Regards,
Cyril Feraudet
To be added to configuration file to make it work :
LoadPlugin ethstat
<Plugin ethstat>
Iface "eth0"
#Iface "eth1"
#Iface "eth2"
#Iface "eth3"
</Plugin>
Signed-off-by: Florian Forster <octo@collectd.org>
varnish plugin: Simplify the v2/v3 define structs.
This somewhat duplicates the code in the read callback, but it's easier to read
than having four or so defines in one function.
Addresses GitHub issue #14.
This somewhat duplicates the code in the read callback, but it's easier to read
than having four or so defines in one function.
Addresses GitHub issue #14.
varnish plugin: Closed VSM
varnish plugin: Switched to AC_CHECK_HEADERS
varnish plugin: Fixed wrong function name
varnish plugin: Added basic Varnish 3.0 support
varnish plugin: Added Varnish version detection flag
amqp plugin: Fix compabitility with current librabbitmq.
In particular, add compatibility to the 0.9.1 and current development version.
Unfortunately, no version macro exists, so we need to do some autoconf trickery
:(
Fixes GitHub issue #6.
In particular, add compatibility to the 0.9.1 and current development version.
Unfortunately, no version macro exists, so we need to do some autoconf trickery
:(
Fixes GitHub issue #6.
Merge pull request #44 from octo/ff/perl
Fix race condition in the Perl plugin.
Fix race condition in the Perl plugin.
collectd.conf(5): Improve the network plugin's documentation.
The example given was confusing since it didn't make it clear enough, that only
one "Server" stanza is required.
Resolves GitHub issue #19.
The example given was confusing since it didn't make it clear enough, that only
one "Server" stanza is required.
Resolves GitHub issue #19.
network plugin: Fix compiler warnings.
Resolves GitHub issue #49.
Resolves GitHub issue #49.
snmp plugin: Keep track of signedness of ASN values.
Prior to this, the signed variant was used when casting to gauge_t. This caused
problems with values larger than 2^31-1, since they were casted to negative
values.
Hopefully fixes GitHub issue #50.
Prior to this, the signed variant was used when casting to gauge_t. This caused
problems with values larger than 2^31-1, since they were casted to negative
values.
Hopefully fixes GitHub issue #50.
processes plugin: A few coding style fixes for the FreeBSD code.
Change-Id: I3469a605c0dc0b7ce51049636ab3f82b03fdfa17
Change-Id: I3469a605c0dc0b7ce51049636ab3f82b03fdfa17
collectd-5.0.1-mine.patch some processes.c fixes for FreeBSD
I welcome from rainy Ingermanland!
Our thoughts are now occupied by Putin and vodka, however...
I have paid attention to a little incorrect data which is given out by
a processes plugin on my beautifull FreeBSD system.
I have corrected them and in process have made absolutely slightly
have improved accuracy and productivity of a processes plugin for
FreeBSD systems.
- Fix strange plural call of getpagesize(). Has entered a global
variable and initialization procedure for FreeBSD
- Data was summarized on all processes including threads. It led to
absolutely uncertain result. Fix based on codebase of FreeBSD top
programm. KERN_PROC_ALL attribute keep for future purposes.
- Gets command argument failed for some processes as system and some
other. It led to error messages to console. Fix based on codebase of
FreeBSD top programm.
- System and user CPU times turned out from the sum of miliseconds
and... Oh! microseconds in one glass with overflow possibility. Fixed.
My girlfriend has left me for such Christmas vacation, but I am
assured that have made good business.
Patch in mail attachment.
--
Non nobis Domine non nobis sed Nomini Tuo da gloriam
Phil Kulin
Change-Id: Ib88faadf5a0fd335b426e9024b0a2e438ddbaf1f
Signed-off-by: Florian Forster <octo@collectd.org>
I welcome from rainy Ingermanland!
Our thoughts are now occupied by Putin and vodka, however...
I have paid attention to a little incorrect data which is given out by
a processes plugin on my beautifull FreeBSD system.
I have corrected them and in process have made absolutely slightly
have improved accuracy and productivity of a processes plugin for
FreeBSD systems.
- Fix strange plural call of getpagesize(). Has entered a global
variable and initialization procedure for FreeBSD
- Data was summarized on all processes including threads. It led to
absolutely uncertain result. Fix based on codebase of FreeBSD top
programm. KERN_PROC_ALL attribute keep for future purposes.
- Gets command argument failed for some processes as system and some
other. It led to error messages to console. Fix based on codebase of
FreeBSD top programm.
- System and user CPU times turned out from the sum of miliseconds
and... Oh! microseconds in one glass with overflow possibility. Fixed.
My girlfriend has left me for such Christmas vacation, but I am
assured that have made good business.
Patch in mail attachment.
--
Non nobis Domine non nobis sed Nomini Tuo da gloriam
Phil Kulin
Change-Id: Ib88faadf5a0fd335b426e9024b0a2e438ddbaf1f
Signed-off-by: Florian Forster <octo@collectd.org>
write_mongodb plugin: Fix reconnection behavior.
The previous code would never detect a disconnect and act appropriately. In the
process, manual tracking of the connection state is removed in favor of
mongo_is_connected().
The previous code would never detect a disconnect and act appropriately. In the
process, manual tracking of the connection state is removed in favor of
mongo_is_connected().
write_mongodb plugin: Export DS names and DS types.
The values are exported as an array now. This is very close to the way data is
exported as JSON.
The values are exported as an array now. This is very close to the way data is
exported as JSON.
Merge pull request #43 from octo/ff/numa
numa plugin: Add plugin for Non-Uniform Memory Access (NUMA).
numa plugin: Add plugin for Non-Uniform Memory Access (NUMA).
collectd.conf.in: Add the numa plugin.
write_mongodb plugin: Actually store time as "date" type.
Fixed memory leak in collectdclient library.
Signed-off-by: Florian Forster <octo@collectd.org>
Signed-off-by: Florian Forster <octo@collectd.org>
perl plugin: Fix a race condition.
This hopefully fixes GitHub issue #9.
This hopefully fixes GitHub issue #9.
numa plugin: Add plugin for Non-Uniform Memory Access (NUMA).
Change-Id: I2610c7d8f73082154672114ad82001c6bd1b6f14
Change-Id: I2610c7d8f73082154672114ad82001c6bd1b6f14
Merge pull request #40 from octo/db/processes
Add support for processes with spaces in their names.
Add support for processes with spaces in their names.