collectd.conf(5): Document the cURL-XML plugin.
README: Add the curl_xml plugin.
curl_xml plugin: Replace the AVL-tree with a linked list.
This makes iterating over all elements more efficient. The CX_KEY_MAGIC hack is
also removed. Last but not least, “plugin_get_ds” is now called only once.
This makes iterating over all elements more efficient. The CX_KEY_MAGIC hack is
also removed. Last but not least, “plugin_get_ds” is now called only once.
curl_xml plugin: Rename "Instance" and "Values" to "*From" for consistency.
curl_xml plugin: Don't use a hyphen to separate instance prefix and value.
This way the plugin behaves more like the SNMP plugin.
This way the plugin behaves more like the SNMP plugin.
curl_xml plugin: Documented the type-instance behavior a bit better.
curl_xml plugin: Break up “cx_submit_xpath_values” into smaller functions.
curl_xml plugin: Move the setting of type_instance to a separate function.
curl_xml plugin: Make absolutely certain “instance_node_obj” is freed.
curl_xml plugin: Check the return value of “cx_evaluate_xpath”.
curl_xml plugin: Change C++-style comments into C-style comments.
curl_xml plugin: Clear type_instance if it is not set.
curl_xml plugin: Adapted copyright for 2010.
AUTHORS: Added curl_xml plugin to Amit.
curl_xml plugin: Replace cx_config_add_string and cx_config_set_boolean by their global versions.
curl_xml plugin: Reorder functions and remove forward declarations.
curl_xml plugin: New plugin to fetch and parse XML files.
Do find the curl_xml.c source file attached. The implementation is done as I
suggested in my previous mail.
The supported configuration is as follows:
<xpath "/path/to/node(s)">
InstancePrefix "test" # optional
Instance "path/to/textnode" # optional if base xpath expression returns
single result i.e one matching node
Values "path/to/textnode1" "path/to/textnode2"
Type "magic_level"
</xpath>
I have done some level of testing to make sure plugin is working. If someone
is interested in testing/trying the plugin, do the following:
- apply the attached patch on the 4.9.0 branch
- copy the attached curl_xml.c to the collectd-4.9.0/src
- run autconf to generate new configure script containing changes to build
curl_xml plugin
- build and install collectd (make && make install)
Do let me know if anyone has problem building/running the plugin.
Any comments/suggestions are welcome.
Regards
Amit
Do find the curl_xml.c source file attached. The implementation is done as I
suggested in my previous mail.
The supported configuration is as follows:
<xpath "/path/to/node(s)">
InstancePrefix "test" # optional
Instance "path/to/textnode" # optional if base xpath expression returns
single result i.e one matching node
Values "path/to/textnode1" "path/to/textnode2"
Type "magic_level"
</xpath>
I have done some level of testing to make sure plugin is working. If someone
is interested in testing/trying the plugin, do the following:
- apply the attached patch on the 4.9.0 branch
- copy the attached curl_xml.c to the collectd-4.9.0/src
- run autconf to generate new configure script containing changes to build
curl_xml plugin
- build and install collectd (make && make install)
Do let me know if anyone has problem building/running the plugin.
Any comments/suggestions are welcome.
Regards
Amit
Merge commit 'tokkee/sh/collectd-4.9' into collectd-4.9
Merge branch 'collectd-4.8' into collectd-4.9
rrdtool plugin: Correctly initialize the ->random_variation member.
This lead to huge negative values in that member, causing values to be only
written to upon exit. D'oh!
This lead to huge negative values in that member, causing values to be only
written to upon exit. D'oh!
14 years agoapache plugin: Fix a segmentation fault in the config handling of VerifyPeer / Verify...
apache plugin: Fix a segmentation fault in the config handling of VerifyPeer / VerifyHost.
Hello,
Today I upgraded a machine from 4.5.2 to 4.9.0. Everything went fine, but
the new version segfaults immediately at startup. With some help from gdb
I tracked down the problem to the apache module. It will occur if one
tries to use the VerifyPeer/VerifyHost options (I guess few people use
these as I don't see complaints?)
When the plugin attempts to read the value of a boolean option, instead of
using the pre-parsed int value, it misdetects the type of the option
(seems a mechanical mistake) and tries to use the string pointer, which is
actually NULL.
I'm sending a patch, it's actually shorter than the description ;)
Thanks to all developers and maintainers of collectd for working on it.
Have a nice holidays.
Hello,
Today I upgraded a machine from 4.5.2 to 4.9.0. Everything went fine, but
the new version segfaults immediately at startup. With some help from gdb
I tracked down the problem to the apache module. It will occur if one
tries to use the VerifyPeer/VerifyHost options (I guess few people use
these as I don't see complaints?)
When the plugin attempts to read the value of a boolean option, instead of
using the pre-parsed int value, it misdetects the type of the option
(seems a mechanical mistake) and tries to use the string pointer, which is
actually NULL.
I'm sending a patch, it's actually shorter than the description ;)
Thanks to all developers and maintainers of collectd for working on it.
Have a nice holidays.
Monitorus.pm: Put the plugin into the "Collectd::Plugins" namespace.
… rather than "Collectd::Plugin".
… rather than "Collectd::Plugin".
bindings/Makefile: Added Monitorus.pm to EXTRA_DIST.
src/collectd.conf: Added missing plugins and config options.
collectd.conf: Added "LoadPlugin Monitorus/OpenVZ" in the "perl" config.
README: Added missing plugins.
src/collectd.conf.in: Added an example config for the python plugin.
src/collectd.conf.in: Added an example config for the netapp plugin.
src/collectd.conf.in: Add example config for the routeros plugin.
routeros plugin: Use the node name for the "host" field.
Using hostname_g doesn't make much sense when you can define multiple routers,
so this is a bug because it doesn't allow specifying multiple routers as documented.
Using hostname_g doesn't make much sense when you can define multiple routers,
so this is a bug because it doesn't allow specifying multiple routers as documented.
collectd-snmp(5): Comma fixes.
Annoying signal documentation.
Merge branch 'collectd-4.8' into collectd-4.9
Conflicts:
ChangeLog
Conflicts:
ChangeLog
Bumped version to 4.8.2; Updated ChangeLog.
Merge branch 'collectd-4.7' into collectd-4.8
Network plugin license change with Aman Gupta's permission.
Conflicts:
ChangeLog
version-gen.sh
Network plugin license change with Aman Gupta's permission.
Conflicts:
ChangeLog
version-gen.sh
Bumped version to 4.7.5; Updated ChangeLog.
src/plugin.c: plugin_log: Print to stderr if no log plugin has been loaded.
network plugin: Change the license to LGPL 2.1.
This is done with Amit Gupta's consent. He did write changes for later versions
of the plugin.
This is done with Amit Gupta's consent. He did write changes for later versions
of the plugin.
oracle plugin: Check the connection status and reconnect if required.
Merge branch 'collectd-4.8' into collectd-4.9
ping plugin: Add MaxMissed option.
Any host not replying to consecutive MaxMissed PING packets will get
it's name re-resolved via DNS.
This enables the use of dynamic DNS services (like dyndns.org) with the
ping plugin. Prior to this patch, hostnames were resolved once on daemon
start.
The default is -1 (disabled).
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Any host not replying to consecutive MaxMissed PING packets will get
it's name re-resolved via DNS.
This enables the use of dynamic DNS services (like dyndns.org) with the
ping plugin. Prior to this patch, hostnames were resolved once on daemon
start.
The default is -1 (disabled).
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Merge branch 'collectd-4.7' into collectd-4.8
Fixed refcount error.
memory plugin: Fixed handling of >4G of memory on Mac OS X.
contrib/collection3: Add Regexp::Common to the README.
configure: Fixed copy&paste error in --with-libupsclient.
Merge branch 'collectd-4.9' of verplant.org:/var/lib/git/collectd into collectd-4.9
curl, df and processes plugins: Updated copyright information.
collectd.conf(5): If “MeasureResponseTime” is enabled, Match blocks are optional.
collectd.conf.in: Added the Report{Reserved,Inodes} options to the df plugin.
collectd-python(5): Remove trailing whitespace.
Collectd.pm: Improved some debug messages.
Also, this fixes a "use of uninitialized" warning.
Also, this fixes a "use of uninitialized" warning.
NetApp documentation of tested filers.
netapp: Better error messages.
hashed match: Fix only-C90 compiler warning.
Apparently 2184401929 is bigger than a signed int or something …
Apparently 2184401929 is bigger than a signed int or something …
ping plugin: Cleanup used variable names.
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
ChangeLog: Fix a typo.
ChangeLog: Added changes for 4.9.0.
Merge branch 'collectd-4.8'
Merge branch 'collectd-4.7' into collectd-4.8
hashed match: Use a different (larger) prime number.
The previous prime number, 251, did not distribute good enough into
three groups.
The previous prime number, 251, did not distribute good enough into
three groups.
openvz plugin: Remove `type' as first argument of `plugin_dispatch_values'.
monitorus plugin: Updated for the new API.
`type' is now part of the value list.
`type' is now part of the value list.
monitorus plugin: Removed the log function.
src/plugin.c: Warn if plugin_register_*() overwrites an existing callback.
src/plugin.c: Fixed a function name in an error message.
utils_heap: Fixed a typo: c_head_get_root() -> c_heap_get_root().
;-)
;-)
ping plugin: Added "SourceAddress" and "Device" configuration options.
As the name suggests, these options may be used to set the source address and
the outgoing device for ICMP_ECHO requests, just like oping's -I and -D
options.
As the name suggests, these options may be used to set the source address and
the outgoing device for ICMP_ECHO requests, just like oping's -I and -D
options.
Merge remote branch 'trenkel/master'
Clarify how the ModulePath config option works.
perl/…/Monitorus.pm: Added Perl-based plugin to query statistics from mon.itor.us.
bindings/Makefile.am: Tie OpenVZ.pm into the build system.
perl/…/OpenVZ.pm: Added Perl-based plugin to gather OpenVZ statistics.
bindings/perl: Move the files into the default directory structure for ExtUtils::MakeMaker.
Merge branch 'ms/aix'
processes plugin: Moved the declaration of variables closer to where they are used.
configure.in: Reports status of libperfstat.
collectd.conf(5): Add a short stub for the python plugin.
python plugin: Add MIT license header to all source files.
configure.in: Check the flags reported by Python.
On several platforms, we have observed bogus information provided by
Python. Double check those flags and only enable the Python plugin if it
is *really* possible to build anything with the library.
On several platforms, we have observed bogus information provided by
Python. Double check those flags and only enable the Python plugin if it
is *really* possible to build anything with the library.
Merge branch 'st/python'
configure.in: Be more verbose when the python configuration fails.
src/pyvalues.c: Don't use Py_ssize_t - it's new in Python 2.5.
Merge branch 'st/python'
python plugin: Try to avoid casting errors with Sun's cc.
"python.c", line 534: warning: argument #1 is incompatible with prototype:
prototype: pointer to void : "python.c", line 470
argument : pointer to function(pointer to const char, pointer to function(..) returning void, pointer to struct user_data_s {pointer to void data, pointer to function(..) returning void free_func}) returning int
"python.c", line 534: warning: argument #2 is incompatible with prototype:
prototype: pointer to void : "python.c", line 470
argument : pointer to function(int, pointer to const char, pointer to struct user_data_s {pointer to void data, pointer to function(..) returning void free_func}) returning void
"python.c", line 534: warning: argument #1 is incompatible with prototype:
prototype: pointer to void : "python.c", line 470
argument : pointer to function(pointer to const char, pointer to function(..) returning void, pointer to struct user_data_s {pointer to void data, pointer to function(..) returning void free_func}) returning int
"python.c", line 534: warning: argument #2 is incompatible with prototype:
prototype: pointer to void : "python.c", line 470
argument : pointer to function(int, pointer to const char, pointer to struct user_data_s {pointer to void data, pointer to function(..) returning void free_func}) returning void
src/pyconfig.c: Make document strings non-const.
pyconfig.c:147: warning: initialization discards qualifiers from pointer target type
pyconfig.c:147: warning: initialization discards qualifiers from pointer target type
Merge branch 'st/python'
src/cpython.h: Apparently Python 2.3 doesn't have the Py_RETURN_NONE macro.
python plugin: Cast pointer to `void *' to work around strict aliasing problems.
python.c: In function `cpy_write_callback':
python.c:349: warning: dereferencing type-punned pointer will break strict-aliasing rules
python.c: In function `cpy_notification_callback':
python.c:368: warning: dereferencing type-punned pointer will break strict-aliasing rules
python.c: In function `cpy_oconfig_to_pyconfig':
python.c:842: warning: dereferencing type-punned pointer will break strict-aliasing rules
python.c: In function `cpy_config':
python.c:887: warning: dereferencing type-punned pointer will break strict-aliasing rules
python.c:888: warning: dereferencing type-punned pointer will break strict-aliasing rules
python.c:889: warning: dereferencing type-punned pointer will break strict-aliasing rules
python.c: In function `cpy_write_callback':
python.c:349: warning: dereferencing type-punned pointer will break strict-aliasing rules
python.c: In function `cpy_notification_callback':
python.c:368: warning: dereferencing type-punned pointer will break strict-aliasing rules
python.c: In function `cpy_oconfig_to_pyconfig':
python.c:842: warning: dereferencing type-punned pointer will break strict-aliasing rules
python.c: In function `cpy_config':
python.c:887: warning: dereferencing type-punned pointer will break strict-aliasing rules
python.c:888: warning: dereferencing type-punned pointer will break strict-aliasing rules
python.c:889: warning: dereferencing type-punned pointer will break strict-aliasing rules
python plugin: Fix some typos in the inline documentation.
collectd-python(5): Fixed the AUTHOR section.
Merge branch 'st/python'
Conflicts:
README
configure.in
src/owniptc/libiptc.c
src/types.db
Conflicts:
README
configure.in
src/owniptc/libiptc.c
src/types.db
collectd-python(5): Some more formatting and typo fixes.
collectd-python(5): Improve formatting of the classes.
collectd-python(5): Fix some formatting.
README: Added the python plugin.
AUTHORS: Sven +python.
src/plugin.c: Add libtool 1 compatibility code.
src/pyvalues.c: Cast `void *' to a int that's guaranteed to be big enough.
For some weird reason `int' is only 4 bytes long on x86_64, so casting
`void *' to `int' results in compiler warnings / errors.
For some weird reason `int' is only 4 bytes long on x86_64, so casting
`void *' to `int' results in compiler warnings / errors.
Merge branch 'ff/routeros'