rrdcached plugin: Register write/flush only if DaemonAddress has been given.
Else, the write callback would remove itself on the first call. This
operation, however, is not thread-safe as access to the write list is not
synchronized. Thus, removing the callback at that point leads to random
segfaults.
Else, the write callback would remove itself on the first call. This
operation, however, is not thread-safe as access to the write list is not
synchronized. Thus, removing the callback at that point leads to random
segfaults.
rrdcached plugin: Handle configuration using a "complex config" callback.
This allows to handle all of the configuration in one go and execute some
action once after doing so.
This allows to handle all of the configuration in one go and execute some
action once after doing so.
threshold: Don't register missing/write callbacks unless we have thresholds.
The checking is fairly expensive, so don't do that unless really necessary.
The checking is fairly expensive, so don't do that unless really necessary.
avl tree: Report size of the tree and make that available in _get_size().
threshold plugin: Dont check for interesting values if there are no thresholds.
amqp plugin: Fixed format strings when printing 'interval_g'.
configure: Removed last traces of 'owniptc'.
E.g., autoconf still tried to generated src/owniptc/Makefile in AC_OUTPUT(),
which obviously fails if owniptc is no longer there.
E.g., autoconf still tried to generated src/owniptc/Makefile in AC_OUTPUT(),
which obviously fails if owniptc is no longer there.
collectd-nagios: Sort LISTVAL output.
Also, output the data for each host in a separate "section", printing the
hostname as the heading and leaving it out from any further output.
This way, the strings may directly be used as options for -H and -n.
Also, output the data for each host in a separate "section", printing the
hostname as the heading and leaving it out from any further output.
This way, the strings may directly be used as options for -H and -n.
libcollectdclient: Added `lcc_sort_identifiers()'.
This function may be used to sort an array of lcc_identifier_t objects.
This function may be used to sort an array of lcc_identifier_t objects.
collectd-nagios: Select a single host in LISTVAL output when -H has been used.
collectd-nagios: Let '-n LIST' list all available datasets.
iptables plugin: Remove the shipped version of libiptc.
Since libiptc is now publicly available as a shared library, we don't really
have any need to ship it with collectd anymore.
Since libiptc is now publicly available as a shared library, we don't really
have any need to ship it with collectd anymore.
Merge branch 'collectd-5.0'
ChangeLog: Add release date.
Merge branch 'collectd-4.10' into collectd-5.0
Conflicts:
ChangeLog
src/libvirt.c
src/plugin.c
src/plugin.h
version-gen.sh
Conflicts:
ChangeLog
src/libvirt.c
src/plugin.c
src/plugin.h
version-gen.sh
Bump version to 4.10.3; Update ChangeLog.
Merge branch 'collectd-4.9' into collectd-4.10
Conflicts:
ChangeLog
version-gen.sh
Conflicts:
ChangeLog
version-gen.sh
Bump version to 4.9.5; Update ChangeLog.
libvirt plugin: Correctly check the status code of virDomainGetVcpus().
The status code is less than zero on failure and the number of vCPUs
otherwise. Thanks to "JLPC" for pointing this problem out.
The status code is less than zero on failure and the number of vCPUs
otherwise. Thanks to "JLPC" for pointing this problem out.
Fix compilation error with plugin_register_shutdown
Compiling collectd-4.10.2 on an OpenSuSE 11.3 system causes the
following error:
snmp.c: In function ‘module_register’:
snmp.c:1620:3: error: passing argument 1 of ‘plugin_register_shutdown’ discards qualifiers from pointer target type
plugin.h:275:5: note: expected ‘char *’ but argument is of type ‘const char *’
Convert plugin_register_shutdown's name argument from 'char *' to
'const char *' in order to match the other plugin_register_*
functions.
Signed-off-by: Bruno Prémont <bonbons@linux-vserver.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Compiling collectd-4.10.2 on an OpenSuSE 11.3 system causes the
following error:
snmp.c: In function ‘module_register’:
snmp.c:1620:3: error: passing argument 1 of ‘plugin_register_shutdown’ discards qualifiers from pointer target type
plugin.h:275:5: note: expected ‘char *’ but argument is of type ‘const char *’
Convert plugin_register_shutdown's name argument from 'char *' to
'const char *' in order to match the other plugin_register_*
functions.
Signed-off-by: Bruno Prémont <bonbons@linux-vserver.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
.gitignore: Added collectdctl.
Merge branch 'collectd-4.10' into collectd-5.0
Merge branch 'collectd-4.9' into collectd-4.10
dispatch proper values in Python write plugin
Fixes the Python write callback so the appropriate value is dispatched to
Python. Previously, the code only looked at the first element of a data set
to determine which value type (GAUGE, COUNTER, etc) to dispatch. If your data
set consisted of multiple values of different types, then the Python write
plugin was receiving bad values for the elements at position n > 0 whose type
was not the same as that at position 0.
Fixes the Python write callback so the appropriate value is dispatched to
Python. Previously, the code only looked at the first element of a data set
to determine which value type (GAUGE, COUNTER, etc) to dispatch. If your data
set consisted of multiple values of different types, then the Python write
plugin was receiving bad values for the elements at position n > 0 whose type
was not the same as that at position 0.
snmp plugin: Improve error message.
Go to some length to make it possible to display the name of the
<host /> and <data /> block when complaining about an unknown ASN type.
Go to some length to make it possible to display the name of the
<host /> and <data /> block when complaining about an unknown ASN type.
Removed bogus checking in ut_config.
Since threshold is a plugin, the main config block (<Plugin "threshold">)
cannot contain only one keyword (as was mandatory in previous versions),
so checking must be removed.
Signed-off-by: Andres J. Diaz <ajdiaz@connectical.com>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Since threshold is a plugin, the main config block (<Plugin "threshold">)
cannot contain only one keyword (as was mandatory in previous versions),
so checking must be removed.
Signed-off-by: Andres J. Diaz <ajdiaz@connectical.com>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Fix buffer length in parse_identifier_vl function.
In parse_identifier_vl function (common.c), the value passed to
sstrncpy as buffer length is the sizeof a char pointer, which
is 4bytes for 32bit arch and 8bytes for 64 bit ones.
This patch fix the length and truncate the buffer to the same size as
destination buffer.
Signed-off-by: Andres J. Diaz <ajdiaz@connectical.com>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
In parse_identifier_vl function (common.c), the value passed to
sstrncpy as buffer length is the sizeof a char pointer, which
is 4bytes for 32bit arch and 8bytes for 64 bit ones.
This patch fix the length and truncate the buffer to the same size as
destination buffer.
Signed-off-by: Andres J. Diaz <ajdiaz@connectical.com>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Removed bogus checking in ut_config.
Since threshold is a plugin, the main config block (<Plugin "threshold">)
cannot contain only one keyword (as was mandatory in previous versions),
so checking must be removed.
Signed-off-by: Andres J. Diaz <ajdiaz@connectical.com>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Since threshold is a plugin, the main config block (<Plugin "threshold">)
cannot contain only one keyword (as was mandatory in previous versions),
so checking must be removed.
Signed-off-by: Andres J. Diaz <ajdiaz@connectical.com>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Fix buffer length in parse_identifier_vl function.
In parse_identifier_vl function (common.c), the value passed to
sstrncpy as buffer length is the sizeof a char pointer, which
is 4bytes for 32bit arch and 8bytes for 64 bit ones.
This patch fix the length and truncate the buffer to the same size as
destination buffer.
Signed-off-by: Andres J. Diaz <ajdiaz@connectical.com>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
In parse_identifier_vl function (common.c), the value passed to
sstrncpy as buffer length is the sizeof a char pointer, which
is 4bytes for 32bit arch and 8bytes for 64 bit ones.
This patch fix the length and truncate the buffer to the same size as
destination buffer.
Signed-off-by: Andres J. Diaz <ajdiaz@connectical.com>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
processes plugin: Call kvm_close() after kvm_geterr().
collectd.conf(5): Mention MySQL privileges required for repl stats.
collectd.conf(5): Be more verbose about how to access a notification daemon.
filter_chain: Use a complaint to report plugin_write()'s ENOENT error.
In most cases this is a permanent error, so using the complain mechanism
avoids spamming the logs.
In most cases this is a permanent error, so using the complain mechanism
avoids spamming the logs.
src/plugin.c: Print a more verbose error message if lt_dlopen() fails.
Since the Debian package doesn't depend on the libraries used by the
collectd plugins, some plugins may fail to load. ltdl reports this with
the very confusing error message "file not found". Since the plugin is
in fact available, many users don't realize a dependency is missing and
assume collectd is looking in the wrong directory -- and they are hardly
to blame for this.
This commit introduces a lengthy error message which hopefully points
users into the right direction.
Since the Debian package doesn't depend on the libraries used by the
collectd plugins, some plugins may fail to load. ltdl reports this with
the very confusing error message "file not found". Since the plugin is
in fact available, many users don't realize a dependency is missing and
assume collectd is looking in the wrong directory -- and they are hardly
to blame for this.
This commit introduces a lengthy error message which hopefully points
users into the right direction.
contrib/collection3: Set @INC at runtime, too.
Apparently the @INC variable is reset by mod_perl, which
causes later require()s to fail.
Apparently the @INC variable is reset by mod_perl, which
causes later require()s to fail.
contrib/collection3: Add basic compatibility to mod_perl.
Some data is cached between requests, which may increase
performance, especially if different timespans of the same
graph are requested.
Some data is cached between requests, which may increase
performance, especially if different timespans of the same
graph are requested.
swap plugin: Declare swap_submit_derive() only on Linux.
ChangeLog: Fix typo.
Merge branch 'collectd-5.0'
Merge branch 'collectd-4.10' into collectd-5.0
Merge branch 'collectd-4.9' into collectd-4.10
Merge remote branch 'origin/ff/modbus'
Merge branch 'ff/flush-rrdcached'
Merge branch 'ff/swap'
exec plugin: Remove useless preprocessor stuff.
Merge branch 'pw/exclude_regex'
varnish plugin: Use a DERIVE type for allocated and free bytes.
Each event is counted, so storing a GAUGE is not the right thing to do.
Thanks to Renaud Chaput for pointing this out.
N.B.: The total amount of allocated memory is tracked by
"bytes-outstanding" for many storage backends.
Each event is counted, so storing a GAUGE is not the right thing to do.
Thanks to Renaud Chaput for pointing this out.
N.B.: The total amount of allocated memory is tracked by
"bytes-outstanding" for many storage backends.
src/collectd.conf.in: Remove the "TranslateDevicename" option from the "hddtemp" plugin.
src/common.c: Include <netinet/in.h> before <arpa/inet.h>.
teamspeak2 plugin: Include <netinet/in.h> before <arpa/inet.h>.
rrdcached plugin: Pass FLUSHes on to the caching daemon.
configure.in: Using sysctl(3) for swap statistics is only possible under Mac OS X.
configure.in: Fix (de)activation of the Swap plugin for OpenBSD.
ntpd plugin: Report failures of "ntpd_do_query" as *errors*, not debug messages.
MySQL plugin: Update copyright header.
src/configfile.[ch]: Update copyright header.
src/configfile.c: cf_util_get_port_number: Gracefully handle number arguments as well.
Why force the user into using strings when it's not strictly
necessary..?
Why force the user into using strings when it's not strictly
necessary..?
src/utils_threshold.c: Fix creation of percentage notifications.
Joey Hess has reported a problem when creating notifications from
percentage thresholds. Because the (percentage) minimum value is
compared to the (raw) DS value, the following message is possible:
Message: Host XXX, plugin df type df (instance root): Data source
"free" is currently 1773072384.000000. That is above the warning
threshold of nan%.
A new section will handle this case correctly. In the inverted case, the
problem should not exist.
Joey Hess has reported a problem when creating notifications from
percentage thresholds. Because the (percentage) minimum value is
compared to the (raw) DS value, the following message is possible:
Message: Host XXX, plugin df type df (instance root): Data source
"free" is currently 1773072384.000000. That is above the warning
threshold of nan%.
A new section will handle this case correctly. In the inverted case, the
problem should not exist.
src/plugin.c: Free allocated data if plugin_insert_read() fails.
src/plugin.c: Move the error-checking code up.
This way the error message is much closer to the check and we save one
level of indentation for the "good" code.
This way the error message is much closer to the check and we save one
level of indentation for the "good" code.
plugin.c: prevent re-adding read functions
When multiple LoadPlugin options are used with a plugin, the plugin is
only loaded once, however the plugin's read function is invoked
multiple times at every interval. This in turn causes undesired
redundant data to be sent to the write plugins.
This patch prevents a plugin's read function from being re-added to
the read_heap and read_list during plugin registration.
Signed-off-by: Blaise Tarr <blaise.tarr@gmail.com>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
When multiple LoadPlugin options are used with a plugin, the plugin is
only loaded once, however the plugin's read function is invoked
multiple times at every interval. This in turn causes undesired
redundant data to be sent to the write plugins.
This patch prevents a plugin's read function from being re-added to
the read_heap and read_list during plugin registration.
Signed-off-by: Blaise Tarr <blaise.tarr@gmail.com>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
swap plugin: Implement the "ReportByDevice" for Linux.
configure.in: Unify status output.
libcollectdclient: Remove the "nonnull" attribute.
Some old versions of GCC don't know it and throw a warning.
Some old versions of GCC don't know it and throw a warning.
libcollectdclient: Remove lcc_strdup().
We use XSI anyway, so why go there?
We use XSI anyway, so why go there?
src/utils_dns.c: Make IPv6 support optional.
dns plugin: Disable the plugin if <pcap-bpf.h> is not available.
Apparently the AIX version of PCAP doesn't have this header file and is
thus missing a required struct definition.
Apparently the AIX version of PCAP doesn't have this header file and is
thus missing a required struct definition.
src/types.db: Clearly mark the legacy types.
The legacy MySQL types are reintroduced because they are required by the
v5 upgrade target.
The legacy MySQL types are reintroduced because they are required by the
v5 upgrade target.
src/types_list.c: Ignore lines which begin with a hash sign.
ChangeLog: Document the changes to the "modbus" plugin.
modbus plugin: Relicense under the LGPLv2.1.
modbus plugin: Implement signed integer register types.
Signed-off-by: Florian Forster <octo@noris.net>
Signed-off-by: Florian Forster <octo@noris.net>
contrib/migrate-4-5.px: Add options parsing and help output.
Merge branch 'collectd-4.10'
Merge branch 'collectd-4.9' into collectd-4.10
dns plugin: Include <pcap-bpf.h> if available.
curl_json plugin: Query the URL before trying to print it.
This resolved a segmentation fault.
This resolved a segmentation fault.
src/common.c: parse_identifier_vl: Don't pass NULL to sstrncpy().
swap plugin: Fix a comment.
src/collectd{ctl,-nagios}.c: Remove the standards-flags again.
Solaris and FreeBSD have problems with it for different reasons. The
huge NAN-block from "collectd.h" has been imported again, instead.
Solaris and FreeBSD have problems with it for different reasons. The
huge NAN-block from "collectd.h" has been imported again, instead.
zfs_arc plugin: Remove unused variables.
Build system: Check whether X/Open flags are required for strptime.
This hopefully resolved problems under Solaris, where X/Open compatibility
pulls in a long list of other standards you have to stick to. For example,
we don't want to force the user to use a C99 compiler.
This hopefully resolved problems under Solaris, where X/Open compatibility
pulls in a long list of other standards you have to stick to. For example,
we don't want to force the user to use a C99 compiler.
swap plugin: Deactivate the kstat-based code.
As discussed with Aurélien Reynaud on the mailing list.
As discussed with Aurélien Reynaud on the mailing list.
java plugin: Improve an error message.
src/configfile.c: Enable the "Globals" flag for the Perl and Python plugin.
This special handling hopefully saves the average user from ever getting
in contact with the "Globals" option.
This special handling hopefully saves the average user from ever getting
in contact with the "Globals" option.
README: Document the version of libmodbus used and update URL.
modbus plugin: Restore compatibility to libmodbus 2.0.3.
This is the current "stable" version.
This is the current "stable" version.
modbus plugin: Add support for libmodbus version 2.9.2.
This is the current "unstable" release. Hopefully the API won't
change too much in the future. All in all this new interface is
much nicer. The stable ("legacy") version of libmodbus is still
supported through preprocessor macros.
This is the current "unstable" release. Hopefully the API won't
change too much in the future. All in all this new interface is
much nicer. The stable ("legacy") version of libmodbus is still
supported through preprocessor macros.
modbus plugin: Restore compatibility to libmodbus 2.0.3.
This is the current "stable" version.
This is the current "stable" version.
src/utils_rrdcreate.c: Convert vl->interval to seconds when creating RRD files.
curl_json plugin: Fix handling of numbers which are returned as strings.
Also, the string handling function has been simplified. The obscure and
hardly documented sub-request for incomplete keys feature has been
removed.
Also, the string handling function has been simplified. The obscure and
hardly documented sub-request for incomplete keys feature has been
removed.
curl_json plugin: Use "parse_value" to handle JSON numbers.
curl_json plugin: Use the global config helper functions.
curl_json plugin: Fix handling of arrays.
contrib/migrate-4-5.px: Add a first version of the migration script.
unixsock plugin: Remove the "GETTHRESHOLD" command.
Bump version to 5.0.0; Update ChangeLog.
swap plugin: Complain if physical and virtual reporting have both been deactivated.
swap plugin: Implement virtual / physical reporting on Solaris.
Merge branch 'collectd-4.10'