Merge branch 'collectd-4.9'
Conflicts:
configure.in
Conflicts:
configure.in
Merge branch 'collectd-4.8' into collectd-4.9
configure.in: Put conditionals around <inttypes.h>, too, for consistency's sake.
Solaris 8 fixes: Check for <stdint.h> before inclusion.
Solaris 8 fixes: Fall back to putenv(3).
collectd-nagios.c: Output performance data with the "%f" format string.
Apparently the parser used by nagios is dumb as bread. Thanks to Lao Wai
for pointing this out. For more information, see:
<http://nagiosplug.sourceforge.net/developer-guidelines.html#AEN201>
Apparently the parser used by nagios is dumb as bread. Thanks to Lao Wai
for pointing this out. For more information, see:
<http://nagiosplug.sourceforge.net/developer-guidelines.html#AEN201>
src/collectd.c: Fix initialization of the "timeout_g" variable.
The default value is "2", not "10".
The default value is "2", not "10".
collectd.conf(5): Document the "Timeout" option.
Timeout for missing values
Hi!
I attach here a patch which adds Timeout option in configuration file.
This option is global (i.e. at the same level as Interval) and it's
the max number of intervals that a package can be missed before a
missing notification would be raised. By dafault collectd wait 2
intervals and it's a hardcoded value AFAIK, if plugin cannot get data
for more than 2 intervals, then (if it's an interesting value),
collectd send a missing notification. Setting Timeout to an high value
you can be more tolerant with that missing.
It's usefull on large networks. In my case, the company LAN is
distributed on distant locations and sometimes (due to network issues)
UDP packages are lost, I use the Timeout to be more tolerant to this
networks fails. For example setting Internval to 10 and Timeout to 6,
a missing notification will be raised only if none data was reported
in last 60s.
I hope that things explained well enough, and (who knows!) maybe this
could be usefull to anybody ;)
Regards,
Andrés
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Hi!
I attach here a patch which adds Timeout option in configuration file.
This option is global (i.e. at the same level as Interval) and it's
the max number of intervals that a package can be missed before a
missing notification would be raised. By dafault collectd wait 2
intervals and it's a hardcoded value AFAIK, if plugin cannot get data
for more than 2 intervals, then (if it's an interesting value),
collectd send a missing notification. Setting Timeout to an high value
you can be more tolerant with that missing.
It's usefull on large networks. In my case, the company LAN is
distributed on distant locations and sometimes (due to network issues)
UDP packages are lost, I use the Timeout to be more tolerant to this
networks fails. For example setting Internval to 10 and Timeout to 6,
a missing notification will be raised only if none data was reported
in last 60s.
I hope that things explained well enough, and (who knows!) maybe this
could be usefull to anybody ;)
Regards,
Andrés
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
python plugin: Try to work around a "dereferencing type-punned pointer" warning.
Merge branch 'collectd-4.9'
Bumped version to 4.9.2; Updated ChangeLog.
Merge branch 'collectd-4.8' into collectd-4.9
Conflicts:
ChangeLog
Conflicts:
ChangeLog
Bumped version to 4.8.5; Updated ChangeLog.
Merge remote branch 'trenkel/st/python'
Merge branch 'collectd-4.9'
Merge branch 'collectd-4.8' into collectd-4.9
Conflicts:
ChangeLog
Conflicts:
ChangeLog
python: Added documentation and an example on how to handle SIGCHLD.
python: Fix a metadata memleak and a missing include (for some versions of python)
src/plugin.c: plugin_log: Append newline to message …
… even when no log-plugin was loaded.
… even when no log-plugin was loaded.
modbus plugin: Adapt for the new "plugin_register_complex_read" interface.
network plugin: Don't access values in an already freed array.
contrib/exec-nagios.px: Whitespace and POD fixes.
network plugin: Add the "network:username" meta data.
Bumped version to 4.8.2; Updated ChangeLog.
Merge branch 'collectd-4.9'
Merge branch 'collectd-4.8' into collectd-4.9
network plugin: Fix a severe memory leak.
A couple of bytes were leaked with every encrypted packet received.
A couple of bytes were leaked with every encrypted packet received.
rrdtool plugin: Correctly free the cache when shutting down.
network plugin: Be more strict when checking the return value of "setsockopt".
network plugin: Be more strict when checking the return value of "setsockopt".
network plugin: Print a warning when setting the interface on a unicast socket is not possible.
Build system: Check for the "if_indextoname" function.
Use this information rather than hard-coding "if Linux …"
Use this information rather than hard-coding "if Linux …"
Build system: Check for "struct ip_mreqn".
Use this rather than hard-coding "if Linux …"
Use this rather than hard-coding "if Linux …"
network plugin: Interface option moved to Server/Listen block
Hello list!
On Tue, Mar 09, 2010 at 06:17:35PM +0100, Florian Forster wrote:
[...]
> On Fri, Feb 26, 2010 at 12:49:02PM +0100, Max Henkel wrote:
[...]
> > @@ -2842,6 +2929,8 @@ static int network_config (oconfig_item_t *ci) /* {{{ */
> > network_config_add_server (child);
> > else if (strcasecmp ("TimeToLive", child->key) == 0)
> > network_config_set_ttl (child);
> > + else if (strcasecmp ("Interface", child->key) == 0)
> > + network_config_set_interface (child);
> > else if (strcasecmp ("MaxPacketSize", child->key) == 0)
> > network_config_set_buffer_size (child);
> > else if (strcasecmp ("Forward", child->key) == 0)
>
> Starting with the signing and encryption option, we have <Server> and
> <Listen> blocks that take socket specific options. It'd be kind of
> inconsistent with the "TimeToLive" and other options, but maybe adding
> this to those blocks would be even better. It would enable to forward
> data from one multicast group on interface-0 to the *same* multicast
> group on interface-1, which I guess could be useful. But maybe it's an
> academic case, I dunno.. Thoughts, anyone?
[...]
This patch provides the configuration possibility inside the
Server/Listen-block, but I'm unsure if the "int interface" is
located properly inside the sockent_t.
Best regards,
Max
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Hello list!
On Tue, Mar 09, 2010 at 06:17:35PM +0100, Florian Forster wrote:
[...]
> On Fri, Feb 26, 2010 at 12:49:02PM +0100, Max Henkel wrote:
[...]
> > @@ -2842,6 +2929,8 @@ static int network_config (oconfig_item_t *ci) /* {{{ */
> > network_config_add_server (child);
> > else if (strcasecmp ("TimeToLive", child->key) == 0)
> > network_config_set_ttl (child);
> > + else if (strcasecmp ("Interface", child->key) == 0)
> > + network_config_set_interface (child);
> > else if (strcasecmp ("MaxPacketSize", child->key) == 0)
> > network_config_set_buffer_size (child);
> > else if (strcasecmp ("Forward", child->key) == 0)
>
> Starting with the signing and encryption option, we have <Server> and
> <Listen> blocks that take socket specific options. It'd be kind of
> inconsistent with the "TimeToLive" and other options, but maybe adding
> this to those blocks would be even better. It would enable to forward
> data from one multicast group on interface-0 to the *same* multicast
> group on interface-1, which I guess could be useful. But maybe it's an
> academic case, I dunno.. Thoughts, anyone?
[...]
This patch provides the configuration possibility inside the
Server/Listen-block, but I'm unsure if the "int interface" is
located properly inside the sockent_t.
Best regards,
Max
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
network plugin: Bind to device for unicast
Hello list!
On Tue, Mar 09, 2010 at 06:17:35PM +0100, Florian Forster wrote:
[...]
> On Fri, Feb 26, 2010 at 12:49:02PM +0100, Max Henkel wrote:
[...]
> > + if (! IN_MULTICAST (ntohl (addr->sin_addr.s_addr)))
> > + return (0);
>
> Doesn't it make sense to be able to set the interface in unicast mode,
> too? For example if the host has multiple default gateways. The
> socket(7) option "SO_BINDTODEVICE" could be used for this I guess.
[...]
Thus this patch binds the socket to a specific interface for unicast
traffic, too. But, as Sebastian already mentioned, the behaviour is
Linux specific.
Best regards,
Max
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Hello list!
On Tue, Mar 09, 2010 at 06:17:35PM +0100, Florian Forster wrote:
[...]
> On Fri, Feb 26, 2010 at 12:49:02PM +0100, Max Henkel wrote:
[...]
> > + if (! IN_MULTICAST (ntohl (addr->sin_addr.s_addr)))
> > + return (0);
>
> Doesn't it make sense to be able to set the interface in unicast mode,
> too? For example if the host has multiple default gateways. The
> socket(7) option "SO_BINDTODEVICE" could be used for this I guess.
[...]
Thus this patch binds the socket to a specific interface for unicast
traffic, too. But, as Sebastian already mentioned, the behaviour is
Linux specific.
Best regards,
Max
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
network plugin: Added Interface option
Hello list!
Again I'm providing an interface option for the network plugin for
the manual selection of an incoming or outgoing interface,
incorporating the changes proposed by Florian and Sebastian.
Please look through it and feedback or suggest new changes! :-)
Best regards,
Max
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Hello list!
Again I'm providing an interface option for the network plugin for
the manual selection of an incoming or outgoing interface,
incorporating the changes proposed by Florian and Sebastian.
Please look through it and feedback or suggest new changes! :-)
Best regards,
Max
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Merge branch 'ff/modbus'
README: Fix a typo.
README: Add information about the modbus plugin.
Merge branch 'schmurfy/re_invert'
collectd.conf(5): Document the new "Invert" option …
… of the Regex match.
… of the Regex match.
Regex match: Whitespace fixes.
now using cf_util_get_boolean
Merge commit 'tokkee/sh/collectd-4.8' into collectd-4.8
postgresql plugin: Relicensed to (2-clause) BSD license.
All (most?) of PostgreSQL is licensed under a BSD license …
Florian, the only other copyright holder, agreed with this.
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
All (most?) of PostgreSQL is licensed under a BSD license …
Florian, the only other copyright holder, agreed with this.
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
collectd.conf.in: Change the basename of the Perl plugin to "Collectd::Plugins".
collectd-perl(5): Fix the synopsis.
I think this is a left-over from a switch from "Collectd::Plugin" to
"Collectd::Plugins". Thanks to Denis Yagofarov for reporting the bug and
Michael Shigorin for relaying it to me.
I think this is a left-over from a switch from "Collectd::Plugin" to
"Collectd::Plugins". Thanks to Denis Yagofarov for reporting the bug and
Michael Shigorin for relaying it to me.
target_scale: Fixed a `break strict-aliasing rules' compiler warning.
… identified by GCC 4.4.3 using -O3.
… identified by GCC 4.4.3 using -O3.
configure: In the summary, say which plugins have been disabled by the user.
postgresql plugin: Let the read callback fail if all queries failed.
csv plugin: Use the value list's interval when outputting to STDOUT.
utils_db_query: Added support for custom plugin intervals.
The interval is specified when calling udb_query_prepare_result(). A value
less than or equal to zero may be used to let udb use the default
(interval_g).
The dbi, oracle, and postgresql plugins have been updated accordingly.
The interval is specified when calling udb_query_prepare_result(). A value
less than or equal to zero may be used to let udb use the default
(interval_g).
The dbi, oracle, and postgresql plugins have been updated accordingly.
utils_db_query: Introduced the query & result preparation areas.
These objects are used to store the temporary data needed during execution of
a query, which was previously stored in the query object itself. This allows
the query object to be used read-only, making it possible to use it from
multiple threads in parallel.
The dbi, oracle and postgresql plugins have been updated to use that
(mandatory) new feature.
These objects are used to store the temporary data needed during execution of
a query, which was previously stored in the query object itself. This allows
the query object to be used read-only, making it possible to use it from
multiple threads in parallel.
The dbi, oracle and postgresql plugins have been updated to use that
(mandatory) new feature.
added an "Invert" option for regex
modbus plugin: Downgrade to use the libmodbus 1.2.5 API.
The API of the library changes every other month, so be conservative and
use the "stable" version, released in May 2008, and hope *that* API is
somewhat stable.
The API of the library changes every other month, so be conservative and
use the "stable" version, released in May 2008, and hope *that* API is
somewhat stable.
postgresql plugin: Don't abort read(), if a query's version doesn't match.
There is no reason to skip unrelated queries because of that.
There is no reason to skip unrelated queries because of that.
postgresql plugin: Use the "right" `interval' when passing a param to a query.
… i.e., use the database specific interval, if configured.
… i.e., use the database specific interval, if configured.
postgresql plugin: Added the ``Interval'' config option.
This option may be used to specify the read interval with which to query a
database.
This option may be used to specify the read interval with which to query a
database.
configure, src/Makefile: Check for nanosleep() in libposix4 as well.
On, e.g., Solaris 2.6, nanosleep() is only available from that library.
Thanks to Vincent McIntyre for reporting this and providing an initial patch.
On, e.g., Solaris 2.6, nanosleep() is only available from that library.
Thanks to Vincent McIntyre for reporting this and providing an initial patch.
postgresql plugin: Use the "complex read" mechanism.
This way, multiple databases are queried in parallel (depending on the number
of read threads).
This way, multiple databases are queried in parallel (depending on the number
of read threads).
postgresql plugin: Connect to the database in the read function.
… rather than the init function. This way, we don't need access to some global
list of databases in the init function and it's done in preparation to using
the "complex read" system.
… rather than the init function. This way, we don't need access to some global
list of databases in the init function and it's done in preparation to using
the "complex read" system.
README: Fix typo.
README: Fix typo.
plugin: Introduced a concept of ``read groups''.
Using a new parameter added to plugin_register_complex_read(), it's now
possible to specify a group name for the registered callback. This name may
later be used to unregister *all* callbacks belonging to that group using the
newly added function plugin_unregister_read_group().
This might come in handy for plugins that register multiple read callbacks but
do not want to keep track of all of them in order to be able to unregister
them.
Using a new parameter added to plugin_register_complex_read(), it's now
possible to specify a group name for the registered callback. This name may
later be used to unregister *all* callbacks belonging to that group using the
newly added function plugin_unregister_read_group().
This might come in handy for plugins that register multiple read callbacks but
do not want to keep track of all of them in order to be able to unregister
them.
utils_llist: Added `llist_search_custom()'.
This function may be used for lookups using a custom compare function, i.e.
lookups that are not necessarily based on the name of the registered list
entry but some information specific to the used data-type.
This function may be used for lookups using a custom compare function, i.e.
lookups that are not necessarily based on the name of the registered list
entry but some information specific to the used data-type.
src/utils_format_json.c: Use a format string to add strings to the buffer.
While I hope that DS names can be trusted, I'm feeling more comfortable this
way nonetheless.
While I hope that DS names can be trusted, I'm feeling more comfortable this
way nonetheless.
utils_format_json: include ds names and types in json output.
Make it easier for external systems (i.e. those without visibility into
types.db) to interpret collectd json data.
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Make it easier for external systems (i.e. those without visibility into
types.db) to interpret collectd json data.
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
src/utils_format_json.c: Convert all data source types to rates except GAUGE.
This is basically the same fix as previously done for the write_http plugin.
This is basically the same fix as previously done for the write_http plugin.
write_http: make StoreRates work for JSON format, too.
StoreRates for write_http was inconsistent in that it only functioned
for WH_FORMAT_COMMAND. Extend StoreRates so that it works when using
WH_FORMAT_JSON, too.
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
StoreRates for write_http was inconsistent in that it only functioned
for WH_FORMAT_COMMAND. Extend StoreRates so that it works when using
WH_FORMAT_JSON, too.
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
write_http plugin: Fix the store rates option.
Convert all data source types to rates except GAUGE. Also, fixes some
indentation.
Convert all data source types to rates except GAUGE. Also, fixes some
indentation.
memcachec plugin: Add the "ExcludeRegex" config option.
curl plugin: Add the "ExcludeRegex" config option.
Introduces ExcludeRegexp to the tail plugin
Hi Florian
Florian Forster wrote:
> On Fri, Mar 19, 2010 at 06:13:14PM +0100, Peter Warasin wrote:
>> I'm searching for something like "ExcludeRegExp".
>
> no, something like that doesn't exist yet. I like the idea though, so
> I've added it to the [[Roadmap]] wiki page.
Attached is a patch which implements this.
The patch is against 4.9.1
Please tell me if you want me to rebase it to current svn
kind regards,
peter
--
:: e n d i a n
:: open source - open minds
:: peter warasin
:: http://www.endian.com :: peter@endian.com
Adds ExcludeRegex to the tail-match plugin
With this keyword it is possible to exclude a line from a match.
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Hi Florian
Florian Forster wrote:
> On Fri, Mar 19, 2010 at 06:13:14PM +0100, Peter Warasin wrote:
>> I'm searching for something like "ExcludeRegExp".
>
> no, something like that doesn't exist yet. I like the idea though, so
> I've added it to the [[Roadmap]] wiki page.
Attached is a patch which implements this.
The patch is against 4.9.1
Please tell me if you want me to rebase it to current svn
kind regards,
peter
--
:: e n d i a n
:: open source - open minds
:: peter warasin
:: http://www.endian.com :: peter@endian.com
Adds ExcludeRegex to the tail-match plugin
With this keyword it is possible to exclude a line from a match.
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
snmp plugin: Fix a format string.
modbus plugin: Set the interval when dispatching values.
collectd.conf(5): Improve the synopsis for the "modbus" plugin.
collectd.conf(5): Add documentation for the "modbus" plugin.
modbus plugin: Add some folding markers.
modbus plugin: Implement dispatching of values.
Merge branch 'master' into ff/modbus
Merge branch 'fs/openvpn'
Conflicts:
src/collectd.conf.pod
src/openvpn.c
Conflicts:
src/collectd.conf.pod
src/openvpn.c
Merge branch 'collectd-4.9'
openvpn plugin: Fix a copy'n'paste error in the "new naming schema".
collectd.conf(5): Document the "ImprovedNamingSchema" option of the OpenVPN plugin.
collectd.conf(5): Document the "Collect{IndividualUsers,UserCount}" options of the OpenVPN plugin.
openvpn plugin: Rename the "OnlyAggregateUsers" option to "CollectIndividualUsers".
The semantic is inverted: When true (default) statistics for individual
users will be collected.
The "AggregateUsers" is now named "CollectUserCount" and a new name for
"Compression", "CollectCompression", has been added. This makes the names
of the config options consistent with one another.
The module global configuration variables have been changed to _Bool
while I was at it.
The semantic is inverted: When true (default) statistics for individual
users will be collected.
The "AggregateUsers" is now named "CollectUserCount" and a new name for
"Compression", "CollectCompression", has been added. This makes the names
of the config options consistent with one another.
The module global configuration variables have been changed to _Bool
while I was at it.
openvpn plugin: Added copyright notice for Fabian Schuh.
src/openvpn.c: Re-indent the entire file.
Bugfix that made collectd inflooping if no openvpn connection
Name changes - removed transfer statistics (doesn't make sense here)
Added Users Counter
fixed typo
Bugfix with multiple files
[openvpn] new feature 'SumOverAllUsers'
netapp plugin: Fix a syntax error in an error message.
Thanks to facade from IRC for the hint.
Thanks to facade from IRC for the hint.
modbus plugin: Actually get into a working state.
Build system: Add the "modbus" plugin.
configure.in: Add checks for libmodbus.
Merge branch 'master' into ff/modbus