postgresql plugin: Add a couple of PQclear() calls.
The postgresql plugin is missing a couple of PQclear() calls
Thanks to Admin <collectd-info@internode.com.au> for pointing this out.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
The postgresql plugin is missing a couple of PQclear() calls
Thanks to Admin <collectd-info@internode.com.au> for pointing this out.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
src/Makefile.am: Use $mkinstalldirs instead of $(INSTALL) -D.
Some systems (e.g. Solaris 8) do not support the -D option.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Some systems (e.g. Solaris 8) do not support the -D option.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
collectd.conf: Added a sample <Plugin> section in the perl config.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Merge branch 'collectd-4.4' into collectd-4.5
src/utils_cache.c: Fix a serious memory leak.
Whenever a data set went missing, the its name (the `key'; up to (5*64)+4
bytes) was not free'd.
Thanks to Niraj Tolia for reporting this :)
Whenever a data set went missing, the its name (the `key'; up to (5*64)+4
bytes) was not free'd.
Thanks to Niraj Tolia for reporting this :)
src/configfile.c: Fix a minor memory leak.
Thanks to Niraj Tolia for reporting this :)
Thanks to Niraj Tolia for reporting this :)
network plugin: Fix a minor memory leak.
Thanks to Niraj Tolia for reporting this :)
Thanks to Niraj Tolia for reporting this :)
collectd-nagios(1): Make the documentation easier to read, more correct and fix errors.
configure.in: Correct the `--enable-<plugin>' code.
The new behavior is documented in the `README' file, too.
The new behavior is documented in the `README' file, too.
configure.in: Let configure bail out on missing dependencies
The patch below adds check in AC_PLUGIN() that verifies if the
dependencies are met for any enabled plugin.
In case some dependency is missing (default is disabled and enabled
is selected) configure will fail after dumping summary so all
dependency issues are visible in a single configure pass.
A later addition would be to list requirements (dependencies, OS/Kernel
restrictions) for all plugins in an easily accessible location (e.g.
INSTALL file)
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
The patch below adds check in AC_PLUGIN() that verifies if the
dependencies are met for any enabled plugin.
In case some dependency is missing (default is disabled and enabled
is selected) configure will fail after dumping summary so all
dependency issues are visible in a single configure pass.
A later addition would be to list requirements (dependencies, OS/Kernel
restrictions) for all plugins in an easily accessible location (e.g.
INSTALL file)
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
src/collectd-nagios.c: Improve handling of lines returned from `GETVAL'.
Then selecting only certain data sources with the `-d' option, the program
would try to read more lines from the server than the server reports, resulting
in the communication never finishing.
This patch resolves that problem and introduces a couple other error handling
blocks.
Thanks to Fabian Linzberger for pointing this out.
Then selecting only certain data sources with the `-d' option, the program
would try to read more lines from the server than the server reports, resulting
in the communication never finishing.
This patch resolves that problem and introduces a couple other error handling
blocks.
Thanks to Fabian Linzberger for pointing this out.
netlink plugin: Fix an incorrect format string.
Merge branch 'collectd-4.4' into collectd-4.5
Conflicts:
src/utils_ignorelist.c
Conflicts:
src/utils_ignorelist.c
src/utils_ignorelist.c: Fix an off-by-one errror when adding regular expressions.
Resolves: #20
Resolves: #20
collectdmon: Do not block SIGCHLD.
There is no reason to do so as we do not need to synchronize any waitpid()
calls. In fact, doing so was wrong because waitpid() should then return with
an error according to POSIX. This was still working so far since waitpid()
would not return until all children terminated and this is all we really care
about.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
There is no reason to do so as we do not need to synchronize any waitpid()
calls. In fact, doing so was wrong because waitpid() should then return with
an error according to POSIX. This was still working so far since waitpid()
would not return until all children terminated and this is all we really care
about.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
collectd.conf(5): Briefly document "OKAY"-notifications.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
ipvs plugin: Use sizeof() instead of a constant.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
iptables plugin, utils_ignorelist: Fixed an off-by-one error each.
Those were introduced when unifying the string handling in commit 5f9ec13b in
cases where the exact length of the string to be copied is passed to sstrncpy
instead of the size of the destination buffer.
In case of the iptables plugin this prevented the table or chain name to match
correctly as the user configuration was truncated. In case of the ignorelist a
given regex was truncated.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Those were introduced when unifying the string handling in commit 5f9ec13b in
cases where the exact length of the string to be copied is passed to sstrncpy
instead of the size of the destination buffer.
In case of the iptables plugin this prevented the table or chain name to match
correctly as the user configuration was truncated. In case of the ignorelist a
given regex was truncated.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Merge branch 'collectd-4.4' into collectd-4.5
build.sh: Check for more (all?) programs needed.
collection.cgi: Added support for the memcached-specific types.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
perl plugin: Disable plugin after fatal configuration errors.
Currently, the only such case is the failure to bootstrap the Perl interpreter
and Collectd module. This fixes a segfault that happened when trying to
configure Perl plugins in that case.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Currently, the only such case is the failure to bootstrap the Perl interpreter
and Collectd module. This fixes a segfault that happened when trying to
configure Perl plugins in that case.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
src/plugin.c: Increase the plugin_log() message buffer to 1024 bytes.
512 bytes is not enough for some perl error messages.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
512 bytes is not enough for some perl error messages.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
perl plugin: Log the perl error messages if bootstrapping Collectd failed.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
contrib/collection3: Added graphs for `apache_{bytes,requests}'.
contrib/collection3: Use `instance' rather than `plugin_instance'
for all the `disk_*' graphs.
for all the `disk_*' graphs.
snmp plugin: Improve parsing of strings to values.
The ``strings'' returned by the Net-SNMP library may not be null
terminated. What the fuck were those guys thinking? At least there's a
`val_len' member in `struct variable_list' we can use to determine the
amount of bytes we need to copy.
The ``strings'' returned by the Net-SNMP library may not be null
terminated. What the fuck were those guys thinking? At least there's a
`val_len' member in `struct variable_list' we can use to determine the
amount of bytes we need to copy.
collection3/etc/collection.conf: Added some mysql stuff.
AUTHORS: Fixed typo.
collectd.conf(5): Fixed typo.
collectd.conf(5): Changed the default socket paths of the powerdns plugin.
powerdns plugin: Use `LOCALSTATEDIR' instead of "/var".
I was working on updating Gentoo's ebuild and I noticed that localstatedir was
not used in certain places. Please review these patches and consider them.
Boian Berberov
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
I was working on updating Gentoo's ebuild and I noticed that localstatedir was
not used in certain places. Please review these patches and consider them.
Boian Berberov
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
configure: Allow `--with-libperl=/path/to/binary', too.
That way one can specify an alternative path, without setting the global
`CFLAGS' and `LDFLAGS' variables.
That way one can specify an alternative path, without setting the global
`CFLAGS' and `LDFLAGS' variables.
configure: Get the check for libperl in sync with the way it's used.
* Define PERL_NO_GET_CONTEXT.
* Use the API functions without the Perl_ prefix.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
* Define PERL_NO_GET_CONTEXT.
* Use the API functions without the Perl_ prefix.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Merge branch 'collectd-4.4'
Merge branch 'collectd-4.3' into collectd-4.4
processes plugin: Fix a format string.
apple_sensors plugin: Add a missing semicolon.
Bumped version to 4.5.0.
Merge branch 'collectd-4.4'
Conflicts:
ChangeLog
Conflicts:
ChangeLog
ChangeLog: Added an entry about the ability to configure Perl plugins.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
ChangeLog: Be slightly more specific about the features of the PostgreSQL plugin.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Bumped version to 4.4.3; Updated ChangeLog.
Merge branch 'collectd-4.3' into collectd-4.4
Conflicts:
ChangeLog
version-gen.sh
Conflicts:
ChangeLog
version-gen.sh
ChangeLog: Entry for 4.3.4: Bring plugins in alphabetical order.
Bumped version to 4.3.3; Updated ChangeLog.
filecount plugin: s/\<strncpy\>/sstrncpy/g
Collectd::Unixsock: Update `putnotif', fix a bug in `getval', better debug output.
The `putnotif' method now handles identifiers and options with spaces
correctly. The `getval' plugin now reads the returned data line wise,
which is the right thing to do anyway. The new `_debug' function prints
debugging output if the (module)global $Debug variable is set.
The `putnotif' method now handles identifiers and options with spaces
correctly. The `getval' plugin now reads the returned data line wise,
which is the right thing to do anyway. The new `_debug' function prints
debugging output if the (module)global $Debug variable is set.
unixsock plugin: Improve two debug messages.
collectd-{exec,unixsock}(5): Documented how to pass identifiers with spaces.
src/utils_cmd_putnotif.[ch]: Change parsing to allow quoted strings.
This completes all the commands, now quoted strings should be accepted
anywhere.
This completes all the commands, now quoted strings should be accepted
anywhere.
src/utils_parse_option.c: Null-terminate parsed quoted strings.
src/Makefile.am: Link the exec plugin with utils_parse_option.
src/utils_cmd_listval.[ch]: Use the new parsing mechanism here, too.
src/utils_cmd_putval.[ch]: Allow identifiers to include spaces.
snmp plugin: Fix an off by one error.
The last character of an table instance was truncated. Fortunately empty
strings were caught, so that uninitialized memory was never accessed.
This patch also reverts f782b378: If returning with an error when a string
is empty causes the entire read to fail.
The last character of an table instance was truncated. Fortunately empty
strings were caught, so that uninitialized memory was never accessed.
This patch also reverts f782b378: If returning with an error when a string
is empty causes the entire read to fail.
src/utils_cmd_getval.[ch]: Fix handling of identifiers with spaces.
The getval handler now uses the `parse_string' function in
`utils_parse_option' to handle quoted strings correctly.
The getval handler now uses the `parse_string' function in
`utils_parse_option' to handle quoted strings correctly.
src/utils_parse_option.[ch]: Add `parse_string'.
This function can be used by the command handlers to parse simple string
arguments. It's used by `parse_option', too, to avoid redundand code.
Signed-off-by: Florian Forster <octo@noris.net>
This function can be used by the command handlers to parse simple string
arguments. It's used by `parse_option', too, to avoid redundand code.
Signed-off-by: Florian Forster <octo@noris.net>
src/collectd.conf.in: Add the filecount plugin.
Merge branch 'collectd-4.4'
Merge branch 'collectd-4.3' into collectd-4.4
collectd.conf(5): onewire plugin: Added a note about working chips.
collectd.conf(5): onewire plugin: Mark the `Device' option as required.
onewire plugin: Remove the "Alias" config option.
It's not implemented and not documented and it's easy enough to add back
in when somebody cares to implement it.
It's not implemented and not documented and it's easy enough to add back
in when somebody cares to implement it.
onewire plugin: Imported the code for DS2409 hubs.
collectd.conf(5), README: Added a note that the onewire plugin is experimental.
ChangeLog: Added the onewire plugin.
It's marked as experimental.
It's marked as experimental.
postgresql plugin: Check for and report query redefinitions.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
postgresql plugin: Check for and report MinPGVersion > MaxPGVersion.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
postgresql plugin: Disable queries that do not include an SQL query string.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
collectd.conf(5): Documented the postgresql {Min,Max}PGVersion options.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
postgresql_default.conf: Split "queries" query into two versions.
The "n_tup_hot_upd" column has been added in 8.3. The two versions of the
"queries" query now take that into account by defining different SQL queries
for versions up to 8.2.99 and versions starting with 8.3.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
The "n_tup_hot_upd" column has been added in 8.3. The two versions of the
"queries" query now take that into account by defining different SQL queries
for versions up to 8.2.99 and versions starting with 8.3.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
postgresql_default.conf: Limit query "table_states" to versions >= 8.3.
The "n_live_tup" and "n_dead_tup" columns of the pg_stat_tables view were not
available before that version.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
The "n_live_tup" and "n_dead_tup" columns of the pg_stat_tables view were not
available before that version.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
postgresql plugin: Added {Min,Max}PGVersion configuration options.
Those options may be used to specify the minimum and maximum version of
PostgreSQL which is required for some query. This may be used to automatically
configure the plugin for a heterogeneous environment while using the same
configuration file on all hosts.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Those options may be used to specify the minimum and maximum version of
PostgreSQL which is required for some query. This may be used to automatically
configure the plugin for a heterogeneous environment while using the same
configuration file on all hosts.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
postgresql plugin: Renamed config_set() to config_set_s().
The latter name includes the type (string) of the data being handled and,
thus, allows functions handling other types to be named in a consistent way.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
The latter name includes the type (string) of the data being handled and,
thus, allows functions handling other types to be named in a consistent way.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
.gitignore: Added collectd-nagios, collectdmon and perl stuff.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
collectd.conf.in: Moved logging plugins to the top of the file.
This will make all logging output of all other plugins available.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
This will make all logging output of all other plugins available.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
ChangeLog: Added the changes to the perl plugin.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
collectd-perl(5): Document the <Plugin> configuration block.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
perl plugin: Added "<Plugin>" configuration block.
Similar to the global "<Plugin>" blocks this may be used to configure Perl
plugins. The oconfig_item_t object is converted to a Perl hash which will be
passed on to the registered configuration callback. A configuration
callback is registered using the TYPE_CONFIG identifier.
The Perl representation of the oconfig_item_t object looks like this:
{
'key' => '<key>',
'values' => [ '<val1>', '<val2>', ... ],
'children' => [ { ... }, { ... }, ... ]
}
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Similar to the global "<Plugin>" blocks this may be used to configure Perl
plugins. The oconfig_item_t object is converted to a Perl hash which will be
passed on to the registered configuration callback. A configuration
callback is registered using the TYPE_CONFIG identifier.
The Perl representation of the oconfig_item_t object looks like this:
{
'key' => '<key>',
'values' => [ '<val1>', '<val2>', ... ],
'children' => [ { ... }, { ... }, ... ]
}
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
perl plugin: Re-get the perl interpreter after parsing each configuration option.
The current perl interpreter might change while parsing the configuration
(e.g. the first interpreter is created by the "LoadPlugin" option), so this is
to make sure that we're using the right interpreter at all times.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
The current perl interpreter might change while parsing the configuration
(e.g. the first interpreter is created by the "LoadPlugin" option), so this is
to make sure that we're using the right interpreter at all times.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
configure.in: Add the filecount plugin to the status output.
configure.in, filecount.c: Removed all left-over occurrences of "qmail".
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
contrib/snmp-probe-host.px: Don't fail silently, but outupt an empty config.
contrib/snmp-probe-host.px: Work-around for Windows systems.
They don't return an error, but `success' and a string stating
NOSUCHOBJECT.
Just great.
They don't return an error, but `success' and a string stating
NOSUCHOBJECT.
Just great.
contrib/snmp-probe-host.px: Fix for `table' data without instance.
Collectd::Unixsock: Allow passing of `Interval' to `PUTVAL'.
collectd.conf(5): Fix an example for the tail plugin.
Resolves: #27
Resolves: #27
Merge branch 'master' of /var/lib/git/collectd
memcached plugin: Wait for a *little* longer for the memcached to answer.
poll(2) takes a timeout in milliseconds, not seconds. Multiply
`interval_g' by 1000 before passing it to `poll'.
Thanks to Joost Cassee <joost at cassee.net> for helping debug this.
poll(2) takes a timeout in milliseconds, not seconds. Multiply
`interval_g' by 1000 before passing it to `poll'.
Thanks to Joost Cassee <joost at cassee.net> for helping debug this.
TODO: Added what is left to do for 4.5.
filecount plugin: Make absolutely sure `status' is never read uninitialized.
ChangeLog: Updated for 4.5.0.
README: Added the filecount plugin.
collectd.conf(5): Documented the filecount plugin.
Build system: Renamed the qmail plugin to filecount.
filecount plugin: Substitute slashes with underscores.
Not dashes. Somehow I now like underscores better.
Not dashes. Somehow I now like underscores better.
filecount plugin: Renamed the `qmail' plugin to `filecount'.
qmail plugin: Made the counting of files more generalized.
src/common.[ch]: Pass user data to `walk_directory'.
`walk_directory' in turn passes the directory name and the user data
back to the callback functions.
`walk_directory' in turn passes the directory name and the user data
back to the callback functions.