Code

collectd.git
14 years agosrc/plugin.c: plugin_log: Print to stderr if no log plugin has been loaded.
Florian Forster [Thu, 1 Oct 2009 19:27:40 +0000 (21:27 +0200)]
src/plugin.c: plugin_log: Print to stderr if no log plugin has been loaded.

14 years agonetwork plugin: Change the license to LGPL 2.1.
Florian Forster [Wed, 16 Dec 2009 11:50:41 +0000 (12:50 +0100)]
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.

14 years agooracle plugin: Check the connection status and reconnect if required.
Florian Forster [Wed, 16 Dec 2009 09:45:54 +0000 (10:45 +0100)]
oracle plugin: Check the connection status and reconnect if required.

14 years agoMerge branch 'collectd-4.9'
Florian Forster [Tue, 15 Dec 2009 12:13:53 +0000 (13:13 +0100)]
Merge branch 'collectd-4.9'

14 years agoMerge branch 'collectd-4.8' into collectd-4.9
Florian Forster [Tue, 15 Dec 2009 12:11:51 +0000 (13:11 +0100)]
Merge branch 'collectd-4.8' into collectd-4.9

14 years agoping plugin: Add MaxMissed option.
Stefan Völkel [Tue, 15 Dec 2009 10:25:58 +0000 (10:25 +0000)]
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>
14 years agoMerge branch 'collectd-4.7' into collectd-4.8
Florian Forster [Tue, 15 Dec 2009 12:11:25 +0000 (13:11 +0100)]
Merge branch 'collectd-4.7' into collectd-4.8

14 years agoping plugin: Add MaxMissed option.
Stefan Völkel [Tue, 15 Dec 2009 10:25:58 +0000 (10:25 +0000)]
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>
14 years agomemory plugin: Fixed handling of >4G of memory on Mac OS X.
Florian Forster [Mon, 14 Dec 2009 16:58:55 +0000 (17:58 +0100)]
memory plugin: Fixed handling of >4G of memory on Mac OS X.

14 years agocontrib/collection3: Add Regexp::Common to the README.
Florian Forster [Sun, 13 Dec 2009 22:38:45 +0000 (23:38 +0100)]
contrib/collection3: Add Regexp::Common to the README.

14 years agoconfigure: Fixed copy&paste error in --with-libupsclient.
Sebastian Harl [Sun, 13 Dec 2009 18:01:41 +0000 (19:01 +0100)]
configure: Fixed copy&paste error in --with-libupsclient.

14 years agoFixed refcount error.
Sven Trenkel [Mon, 14 Dec 2009 17:49:02 +0000 (18:49 +0100)]
Fixed refcount error.

14 years agomemory plugin: Fixed handling of >4G of memory on Mac OS X.
Florian Forster [Mon, 14 Dec 2009 16:58:55 +0000 (17:58 +0100)]
memory plugin: Fixed handling of >4G of memory on Mac OS X.

14 years agocontrib/collection3: Add Regexp::Common to the README.
Florian Forster [Sun, 13 Dec 2009 22:38:45 +0000 (23:38 +0100)]
contrib/collection3: Add Regexp::Common to the README.

14 years agoconfigure: Fixed copy&paste error in --with-libupsclient. sh/collectd-4.7
Sebastian Harl [Sun, 13 Dec 2009 18:01:41 +0000 (19:01 +0100)]
configure: Fixed copy&paste error in --with-libupsclient.

14 years agoMerge branch 'collectd-4.9' of verplant.org:/var/lib/git/collectd into collectd-4.9
Florian Forster [Sat, 12 Dec 2009 22:36:07 +0000 (23:36 +0100)]
Merge branch 'collectd-4.9' of verplant.org:/var/lib/git/collectd into collectd-4.9

14 years agocurl, df and processes plugins: Updated copyright information.
Florian Forster [Sat, 12 Dec 2009 19:06:18 +0000 (20:06 +0100)]
curl, df and processes plugins: Updated copyright information.

14 years agocollectd.conf(5): If “MeasureResponseTime” is enabled, Match blocks are optional.
Florian Forster [Sat, 12 Dec 2009 10:55:08 +0000 (11:55 +0100)]
collectd.conf(5): If “MeasureResponseTime” is enabled, Match blocks are optional.

14 years agocollectd.conf.in: Added the Report{Reserved,Inodes} options to the df plugin.
Florian Forster [Sat, 12 Dec 2009 07:58:05 +0000 (08:58 +0100)]
collectd.conf.in: Added the Report{Reserved,Inodes} options to the df plugin.

14 years agocollectd-python(5): Remove trailing whitespace.
Florian Forster [Thu, 10 Dec 2009 11:11:34 +0000 (12:11 +0100)]
collectd-python(5): Remove trailing whitespace.

14 years agoReturn EINVAL instead of 0 on error.
Sven Trenkel [Wed, 9 Dec 2009 15:33:50 +0000 (16:33 +0100)]
Return EINVAL instead of 0 on error.

14 years agoAdded function to get a list of meta data entries.
Sven Trenkel [Wed, 9 Dec 2009 12:53:14 +0000 (13:53 +0100)]
Added function to get a list of meta data entries.

14 years agoAdded function to get the data type of a meta data entry.
Sven Trenkel [Wed, 9 Dec 2009 12:18:49 +0000 (13:18 +0100)]
Added function to get the data type of a meta data entry.

14 years agoCollectd.pm: Improved some debug messages.
Sebastian Harl [Tue, 8 Dec 2009 23:06:35 +0000 (00:06 +0100)]
Collectd.pm: Improved some debug messages.

Also, this fixes a "use of uninitialized" warning.

14 years agoNetApp documentation of tested filers.
Sven Trenkel [Wed, 9 Dec 2009 22:44:31 +0000 (23:44 +0100)]
NetApp documentation of tested filers.

14 years agonetapp: Better error messages.
Sven Trenkel [Wed, 9 Dec 2009 20:24:04 +0000 (21:24 +0100)]
netapp: Better error messages.

14 years agohashed match: Fix only-C90 compiler warning.
Florian Forster [Wed, 9 Dec 2009 18:52:10 +0000 (19:52 +0100)]
hashed match: Fix only-C90 compiler warning.

Apparently 2184401929 is bigger than a signed int or something …

14 years agoping plugin: Cleanup used variable names.
Stefan Völkel [Wed, 9 Dec 2009 18:42:40 +0000 (19:42 +0100)]
ping plugin: Cleanup used variable names.

Signed-off-by: Florian Forster <octo@huhu.verplant.org>
14 years agoChangeLog: Fix a typo.
Florian Forster [Wed, 9 Dec 2009 16:28:55 +0000 (17:28 +0100)]
ChangeLog: Fix a typo.

14 years agoChangeLog: Added changes for 4.9.0.
Florian Forster [Wed, 9 Dec 2009 16:27:50 +0000 (17:27 +0100)]
ChangeLog: Added changes for 4.9.0.

14 years agoMerge branch 'collectd-4.8'
Florian Forster [Wed, 9 Dec 2009 15:51:24 +0000 (16:51 +0100)]
Merge branch 'collectd-4.8'

14 years agoMerge branch 'collectd-4.7' into collectd-4.8
Florian Forster [Wed, 9 Dec 2009 15:50:42 +0000 (16:50 +0100)]
Merge branch 'collectd-4.7' into collectd-4.8

14 years agohashed match: Use a different (larger) prime number.
Florian Forster [Wed, 9 Dec 2009 15:30:10 +0000 (16:30 +0100)]
hashed match: Use a different (larger) prime number.

The previous prime number, 251, did not distribute good enough into
three groups.

14 years agoopenvz plugin: Remove `type' as first argument of `plugin_dispatch_values'.
Florian Forster [Wed, 9 Dec 2009 08:54:35 +0000 (09:54 +0100)]
openvz plugin: Remove `type' as first argument of `plugin_dispatch_values'.

14 years agomonitorus plugin: Updated for the new API.
Florian Forster [Wed, 9 Dec 2009 07:53:24 +0000 (08:53 +0100)]
monitorus plugin: Updated for the new API.

`type' is now part of the value list.

14 years agomonitorus plugin: Removed the log function.
Florian Forster [Wed, 9 Dec 2009 07:53:07 +0000 (08:53 +0100)]
monitorus plugin: Removed the log function.

14 years agosrc/plugin.c: Warn if plugin_register_*() overwrites an existing callback.
Sebastian Harl [Thu, 30 Jul 2009 15:34:24 +0000 (17:34 +0200)]
src/plugin.c: Warn if plugin_register_*() overwrites an existing callback.

14 years agosrc/plugin.c: Fixed a function name in an error message.
Sebastian Harl [Thu, 30 Jul 2009 15:33:43 +0000 (17:33 +0200)]
src/plugin.c: Fixed a function name in an error message.

14 years agoutils_heap: Fixed a typo: c_head_get_root() -> c_heap_get_root().
Sebastian Harl [Tue, 28 Jul 2009 20:23:26 +0000 (22:23 +0200)]
utils_heap: Fixed a typo: c_head_get_root() -> c_heap_get_root().

;-)

14 years agoping plugin: Added "SourceAddress" and "Device" configuration options.
Sebastian Harl [Wed, 22 Jul 2009 19:45:59 +0000 (21:45 +0200)]
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.

14 years agoMerge remote branch 'trenkel/master'
Florian Forster [Tue, 8 Dec 2009 18:58:59 +0000 (19:58 +0100)]
Merge remote branch 'trenkel/master'

14 years agoClarify how the ModulePath config option works.
Sven Trenkel [Tue, 8 Dec 2009 17:42:11 +0000 (18:42 +0100)]
Clarify how the ModulePath config option works.

14 years agoperl/…/Monitorus.pm: Added Perl-based plugin to query statistics from mon.itor.us.
Jeff Green [Tue, 8 Dec 2009 17:28:34 +0000 (18:28 +0100)]
perl/…/Monitorus.pm: Added Perl-based plugin to query statistics from mon.itor.us.

14 years agobindings/Makefile.am: Tie OpenVZ.pm into the build system.
Florian Forster [Tue, 8 Dec 2009 17:07:55 +0000 (18:07 +0100)]
bindings/Makefile.am: Tie OpenVZ.pm into the build system.

14 years agoperl/…/OpenVZ.pm: Added Perl-based plugin to gather OpenVZ statistics.
Jonathan Kolb [Tue, 8 Dec 2009 17:07:02 +0000 (18:07 +0100)]
perl/…/OpenVZ.pm: Added Perl-based plugin to gather OpenVZ statistics.

14 years agobindings/perl: Move the files into the default directory structure for ExtUtils:...
Florian Forster [Tue, 8 Dec 2009 16:57:51 +0000 (17:57 +0100)]
bindings/perl: Move the files into the default directory structure for ExtUtils::MakeMaker.

14 years agoMerge branch 'ms/aix'
Florian Forster [Tue, 8 Dec 2009 14:43:47 +0000 (15:43 +0100)]
Merge branch 'ms/aix'

14 years agoprocesses plugin: Moved the declaration of variables closer to where they are used.
Florian Forster [Tue, 8 Dec 2009 14:42:23 +0000 (15:42 +0100)]
processes plugin: Moved the declaration of variables closer to where they are used.

14 years agoconfigure.in: Reports status of libperfstat.
Florian Forster [Tue, 8 Dec 2009 14:31:07 +0000 (15:31 +0100)]
configure.in: Reports status of libperfstat.

14 years agocollectd.conf(5): Add a short stub for the python plugin.
Florian Forster [Tue, 8 Dec 2009 14:19:00 +0000 (15:19 +0100)]
collectd.conf(5): Add a short stub for the python plugin.

14 years agopython plugin: Add MIT license header to all source files.
Florian Forster [Tue, 8 Dec 2009 14:10:16 +0000 (15:10 +0100)]
python plugin: Add MIT license header to all source files.

14 years agoconfigure.in: Check the flags reported by Python.
Florian Forster [Tue, 8 Dec 2009 13:36:43 +0000 (14:36 +0100)]
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.

14 years agoMerge branch 'st/python'
Florian Forster [Tue, 8 Dec 2009 12:28:10 +0000 (13:28 +0100)]
Merge branch 'st/python'

14 years agoconfigure.in: Be more verbose when the python configuration fails.
Florian Forster [Tue, 8 Dec 2009 12:27:47 +0000 (13:27 +0100)]
configure.in: Be more verbose when the python configuration fails.

14 years agosrc/pyvalues.c: Don't use Py_ssize_t - it's new in Python 2.5.
Florian Forster [Tue, 8 Dec 2009 11:49:15 +0000 (12:49 +0100)]
src/pyvalues.c: Don't use Py_ssize_t - it's new in Python 2.5.

14 years agoMerge branch 'st/python'
Florian Forster [Tue, 8 Dec 2009 11:26:28 +0000 (12:26 +0100)]
Merge branch 'st/python'

14 years agopython plugin: Try to avoid casting errors with Sun's cc.
Florian Forster [Tue, 8 Dec 2009 11:25:03 +0000 (12:25 +0100)]
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

14 years agosrc/pyconfig.c: Make document strings non-const.
Florian Forster [Tue, 8 Dec 2009 11:14:56 +0000 (12:14 +0100)]
src/pyconfig.c: Make document strings non-const.

pyconfig.c:147: warning: initialization discards qualifiers from pointer target type

14 years agoMerge branch 'st/python'
Florian Forster [Tue, 8 Dec 2009 10:59:45 +0000 (11:59 +0100)]
Merge branch 'st/python'

14 years agosrc/cpython.h: Apparently Python 2.3 doesn't have the Py_RETURN_NONE macro.
Florian Forster [Tue, 8 Dec 2009 10:59:22 +0000 (11:59 +0100)]
src/cpython.h: Apparently Python 2.3 doesn't have the Py_RETURN_NONE macro.

14 years agopython plugin: Cast pointer to `void *' to work around strict aliasing problems.
Florian Forster [Tue, 8 Dec 2009 10:53:10 +0000 (11:53 +0100)]
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

14 years agopython plugin: Fix some typos in the inline documentation.
Florian Forster [Tue, 8 Dec 2009 10:49:14 +0000 (11:49 +0100)]
python plugin: Fix some typos in the inline documentation.

14 years agocollectd-python(5): Fixed the AUTHOR section.
Florian Forster [Tue, 8 Dec 2009 10:44:28 +0000 (11:44 +0100)]
collectd-python(5): Fixed the AUTHOR section.

14 years agoMerge branch 'st/python'
Florian Forster [Tue, 8 Dec 2009 10:26:37 +0000 (11:26 +0100)]
Merge branch 'st/python'

Conflicts:
README
configure.in
src/owniptc/libiptc.c
src/types.db

14 years agocollectd-python(5): Some more formatting and typo fixes.
Florian Forster [Tue, 8 Dec 2009 10:04:11 +0000 (11:04 +0100)]
collectd-python(5): Some more formatting and typo fixes.

14 years agocollectd-python(5): Improve formatting of the classes.
Florian Forster [Tue, 8 Dec 2009 09:55:42 +0000 (10:55 +0100)]
collectd-python(5): Improve formatting of the classes.

14 years agocollectd-python(5): Fix some formatting.
Florian Forster [Tue, 8 Dec 2009 09:33:56 +0000 (10:33 +0100)]
collectd-python(5): Fix some formatting.

14 years agoREADME: Added the python plugin.
Florian Forster [Tue, 8 Dec 2009 09:23:11 +0000 (10:23 +0100)]
README: Added the python plugin.

14 years agoAUTHORS: Sven +python.
Florian Forster [Tue, 8 Dec 2009 09:17:27 +0000 (10:17 +0100)]
AUTHORS: Sven +python.

14 years agosrc/plugin.c: Add libtool 1 compatibility code.
Florian Forster [Tue, 8 Dec 2009 09:12:58 +0000 (10:12 +0100)]
src/plugin.c: Add libtool 1 compatibility code.

14 years agosrc/pyvalues.c: Cast `void *' to a int that's guaranteed to be big enough.
Florian Forster [Mon, 7 Dec 2009 14:39:43 +0000 (15:39 +0100)]
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.

14 years agoMerge branch 'ff/routeros'
Florian Forster [Mon, 7 Dec 2009 10:59:32 +0000 (11:59 +0100)]
Merge branch 'ff/routeros'

14 years agoMerge branch 'mc/openvpn'
Florian Forster [Mon, 7 Dec 2009 10:53:08 +0000 (11:53 +0100)]
Merge branch 'mc/openvpn'

14 years agoopenvpn plugin: Added comments and vim formatting line.
Florian Forster [Mon, 7 Dec 2009 10:50:36 +0000 (11:50 +0100)]
openvpn plugin: Added comments and vim formatting line.

14 years agoopenvpn plugin: Remove one level of indentation in the read functions.
Florian Forster [Mon, 7 Dec 2009 10:50:02 +0000 (11:50 +0100)]
openvpn plugin: Remove one level of indentation in the read functions.

14 years agoopenvpn plugin: Rename the arguments of the submit functions.
Florian Forster [Mon, 7 Dec 2009 10:48:16 +0000 (11:48 +0100)]
openvpn plugin: Rename the arguments of the submit functions.

"Type" is being used for something different, don't use that argument
name here.

14 years agoClean up exceptions in places where we don't care about them.
Sven Trenkel [Sun, 6 Dec 2009 18:29:17 +0000 (19:29 +0100)]
Clean up exceptions in places where we don't care about them.

14 years agoThis should have been in the last commit.
Sven Trenkel [Sun, 6 Dec 2009 18:10:19 +0000 (19:10 +0100)]
This should have been in the last commit.

14 years agoBetter unicode support.
Sven Trenkel [Sun, 6 Dec 2009 01:20:05 +0000 (02:20 +0100)]
Better unicode support.

14 years agoFixed build system bug.
Sven Trenkel [Sat, 5 Dec 2009 19:22:47 +0000 (20:22 +0100)]
Fixed build system bug.

14 years agoRemoves the __name__ from callback identifiers. It was useless and made things way...
Sven Trenkel [Sat, 5 Dec 2009 15:27:49 +0000 (16:27 +0100)]
Removes the __name__ from callback identifiers. It was useless and made things way more complicated and confusing than necessary.

14 years agoAdded collectd-python man page.
Sven Trenkel [Sat, 5 Dec 2009 01:48:34 +0000 (02:48 +0100)]
Added collectd-python man page.

14 years agoAdded write method to Values.
Sven Trenkel [Sat, 5 Dec 2009 01:10:20 +0000 (02:10 +0100)]
Added write method to Values.

14 years agoDon't log stuff while holding the GIL!
Sven Trenkel [Thu, 3 Dec 2009 01:19:59 +0000 (02:19 +0100)]
Don't log stuff while holding the GIL!

14 years agoSome signal dodging stuff.
Sven Trenkel [Wed, 2 Dec 2009 22:47:34 +0000 (23:47 +0100)]
Some signal dodging stuff.

14 years agoBuild system: Add the python plugin.
Florian Forster [Wed, 2 Dec 2009 15:21:24 +0000 (16:21 +0100)]
Build system: Add the python plugin.

14 years agosrc/configfile.c: Fix a typo in two error messages.
Florian Forster [Tue, 1 Dec 2009 11:18:05 +0000 (12:18 +0100)]
src/configfile.c: Fix a typo in two error messages.

14 years agoopenvpn plugin: Implement the “ImprovedNamingSchema” config option.
Marco Chiappero [Tue, 1 Dec 2009 11:09:51 +0000 (12:09 +0100)]
openvpn plugin: Implement the “ImprovedNamingSchema” config option.

I'm attaching a new version that includes this config key. By default the old
naming schema is used, while for the single mode the new naming schema is
always used since there's no backward compatibility to be preserved. You can
use the previous file[1] for the 5.0 branch where only the new naming schema
will be used. A new man page text is still lacking, maybe I'll write it in the
next days.

14 years agorouteros plugin: Add two “Collect*” config options.
Florian Forster [Tue, 1 Dec 2009 11:07:57 +0000 (12:07 +0100)]
routeros plugin: Add two “Collect*” config options.

14 years agosrc/configfile.[ch]: Add “cf_util_get_boolean”.
Florian Forster [Tue, 1 Dec 2009 11:07:07 +0000 (12:07 +0100)]
src/configfile.[ch]: Add “cf_util_get_boolean”.

14 years agocollectd.conf(5): openvpn plugin: Document the "Compression" option.
Florian Forster [Fri, 25 Sep 2009 10:14:11 +0000 (12:14 +0200)]
collectd.conf(5): openvpn plugin: Document the "Compression" option.

14 years agoAUTHORS: Update Marco's entry.
Florian Forster [Fri, 25 Sep 2009 10:11:45 +0000 (12:11 +0200)]
AUTHORS: Update Marco's entry.

14 years agoopenvpn plugin: single_read: Remove one level of indentation.
Florian Forster [Fri, 25 Sep 2009 10:10:10 +0000 (12:10 +0200)]
openvpn plugin: single_read: Remove one level of indentation.

14 years agoopenvpn plugin: Use tabs for indentation only.
Florian Forster [Fri, 25 Sep 2009 09:58:50 +0000 (11:58 +0200)]
openvpn plugin: Use tabs for indentation only.

Whitespace-only commit.

14 years agoopenvpn plugin: multi1_read: Replace a hard to read for-loop with a while-loop.
Florian Forster [Fri, 25 Sep 2009 09:49:45 +0000 (11:49 +0200)]
openvpn plugin: multi1_read: Replace a hard to read for-loop with a while-loop.

14 years agoopenvpn plugin: Improve “version_detect”.
Florian Forster [Fri, 25 Sep 2009 09:39:02 +0000 (11:39 +0200)]
openvpn plugin: Improve “version_detect”.

Remove “fscanf” with used the insecure “%s” format string. Pass the
filename rather than the file handle to the function.

14 years agoopenvpn plugin: Remove trailing whitespace.
Florian Forster [Fri, 25 Sep 2009 07:28:11 +0000 (09:28 +0200)]
openvpn plugin: Remove trailing whitespace.

14 years agoopenvpn plugin: Don't use negated config options.
Florian Forster [Fri, 25 Sep 2009 07:27:50 +0000 (09:27 +0200)]
openvpn plugin: Don't use negated config options.

“NoCompression” → “Compression”.

14 years agoopenvpn plugin: Add forgotten frees.
Marco Chiappero [Fri, 25 Sep 2009 07:20:56 +0000 (09:20 +0200)]
openvpn plugin: Add forgotten frees.
Florian Forster ha scritto:
> Hi Marco,

Hi Florian,

> I'm too tired to have a look at this now, I hope to have some time in
> the next few days. I'll come back to you asap.

That's fine :)
But sorry, I forgot to recheck a small part of the code after adding and
moving some stuff around, please apply this patch too.

Regards,
Marco

14 years agoopenvpn plugin: Add support for more versions of the “status file” (and more).
Marco Chiappero [Fri, 25 Sep 2009 07:18:02 +0000 (09:18 +0200)]
openvpn plugin: Add support for more versions of the “status file” (and more).

Hi all,

I have some news regarding the Openvpn plugin.
I recently upgraded to 4.7.2 and enabled the new (to me) openvpn plugin,
but unfortunately it didn't work and I couldn't understand why. So had a
look at the code and applied some changes. Here a list of things
added:

- support for multiple vpn/status files
- support for single endpoint status file and for multicontext version
1,3 (currently every status file type is supported)
- status file type auto-detection
- collection of overhead and compression stats for single mode status files
- "NoCompression" option to disable compression statistics collection
- new file naming schema correcting the previous wrong one
- debug and error output

The plugin has already been tested with my own openvpn setup and many
different files found on the net, but two major aspects have to be taken
into consideration. The first one is the new overhead collection and the
change in the compression statistics (now data is stored as they are
[1]). However, due to a bug in the previous code, no compression
collection was working and so the new one is not going to brake backward
compatibility. Unfortunately backward compatibility is broken by the
new naming schema, more collectd compliant (and necessary with multiple
conf/status files support). So plugin_istance is now the status file
name (or the status entry number), while the plugin_type is now the
hostname when in multicontext mode or the traffic and overhead when in
single.
About the plugin_instance value, I started using numbers like the cpu
plugin does, but I prefer to use the self explanatory file name, helping
in finding the right vpn and avoiding to mess things up when adding a
new status file. The downside is that filenames have to be unique (man
pages should mention this [2]), therefore I added a check. Nonetheless I
think it's very unlikely to happen, it is quite rare to find many vpn on
the same system and it's really hard to have the same log filename
stored in different dirs rather than the opposite; usually to different
tunnels should already correspond different status log name.
However, Florian, feel free to choose the other method if you prefer, I
can send you a patch to revert to the number based schema.
Hope you like the code.

Regards,
Marco

[1] This allows to retrieve multiple informations, not just the pure
compression ratio. For example we can now calculate the pure compression
ratio, the global compression level, the byte saved (eg. for a
overhead vs. saved bytes graph) and so on.

[2] Man pages should be updated as well, but I haven't written anything yet.