16 years agosrc/collectd.h: Poison various insecure string functions only when debugging is enabled.
src/collectd.h: Poison various insecure string functions only when debugging is enabled.
Because the `poison' pragma complains about macros (which are then never
used), this feature does more harm than good in everyday use. So we'll
only activate it when building in debug mode, so hopefully authors of
new plugins will use this.
Because the `poison' pragma complains about macros (which are then never
used), this feature does more harm than good in everyday use. So we'll
only activate it when building in debug mode, so hopefully authors of
new plugins will use this.
Bumped version to 4.4.4; Updated ChangeLog.
contrib/exec-munin.px: Fix the folding markers..
src/utils_tail.c: Call `clearerr' before `fgets'.
Hopefully this will resolve problems under the dietlibc.
Hopefully this will resolve problems under the dietlibc.
src/Makefile.am: Fix a copy'n'paste typo.
types.db: Reintroduced the "spam_check" type.
This is used by the "email" plugin. Apparently, it got lost when converting
the plugin to the v4 interface: Instead of "spam_check", "email_check" had
been added to types.db. I did not remove "email_check" though as this would
introduce a regression - though very unlikely, somebody out there might be
using that type.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
This is used by the "email" plugin. Apparently, it got lost when converting
the plugin to the v4 interface: Instead of "spam_check", "email_check" had
been added to types.db. I did not remove "email_check" though as this would
introduce a regression - though very unlikely, somebody out there might be
using that type.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
collection.cgi: Added support for the "connection" type.
This is used e.g. by the "ipvs" plugin.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
This is used e.g. by the "ipvs" plugin.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
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.
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>
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>
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.
collection3/etc/collection.conf: Added some mysql stuff.
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>
Merge branch 'collectd-4.3' into collectd-4.4
processes plugin: Fix a format string.
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.
Merge branch 'collectd-4.3' into collectd-4.4
.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>
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>
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
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.
Merge branch 'collectd-4.3' into collectd-4.4
contrib/snmp-probe-host.px: Added script to semi-automatically create SNMP "host" blocks.
Details can be found in the inline documentation ("POD").
Details can be found in the inline documentation ("POD").
collectd-exec(5): Fix two typos.
src/plugin.c: Include the shared object when reporting errors with `lt_dlopen'.
memcached plugin: Remove an unused variable.
Oops.
Oops.
Merge branch 'collectd-4.3' into collectd-4.4
memcached plugin: Fix a possible file descriptor leak.
Not sure if this fixes the reported bug, but it might.. Feedback would be
welcome.
References: #26
Not sure if this fixes the reported bug, but it might.. Feedback would be
welcome.
References: #26
contrib/collection3: Added graph description for `ps_rss'.
contrib/collection3: Added the ability to `flush' data sets.
Both, bin/index.cgi and bin/graph.cgi can now send a FLUSH command to
the daemon via the Collectd::Unixsock module. For this to work you will
have to add the path to the UNIX socket of the `unixsock' plugin to the
configuration file `collection.conf'.
The configuration looks like this:
UnixSockAddr "/var/run/collectd-unixsock"
Both, bin/index.cgi and bin/graph.cgi can now send a FLUSH command to
the daemon via the Collectd::Unixsock module. For this to work you will
have to add the path to the UNIX socket of the `unixsock' plugin to the
configuration file `collection.conf'.
The configuration looks like this:
UnixSockAddr "/var/run/collectd-unixsock"
contrib/collection3: Remove an annoying debug message.
collectd.conf(5): Added documentation for the ipmi plugin.
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
src/common.h: Make sfree() usable like a function.
By putting the code into a "do { } while (0)" loop it is treated like a single
statement and does not break "if () sfree()" like constructs.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
By putting the code into a "do { } while (0)" loop it is treated like a single
statement and does not break "if () sfree()" like constructs.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
collectd(1), collectd{-exec,.conf}(5): Fixed some minor POD errors.
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.3' into collectd-4.4
build system: Automatically enable the swap plugin if the kvm library is found.
This fixes a bug introduced with the previous commit.
This fixes a bug introduced with the previous commit.
Merge branch 'collectd-4.3' into collectd-4.4
Merge branch 'collectd-4.3' of /var/lib/git/collectd into collectd-4.3
build system: Define which version of libkvm has been checked for.
The used `kvm_getswapinfo' is apparently an extension not all versions of the
kvm library support.
The used `kvm_getswapinfo' is apparently an extension not all versions of the
kvm library support.
tcpconns plugin: Fix another format string.
tcpconns plugin: Fix formatstrings.
snmp plugin: Fix a possible memory leak.
The result was not freed when `csnmp_instance_list_add' failed. This
rarely happens in 4.3, but later versions will be more strict in the
function, so this became a problem.
The result was not freed when `csnmp_instance_list_add' failed. This
rarely happens in 4.3, but later versions will be more strict in the
function, so this became a problem.
contrib/collection3: Added a couple more graph definitions.
contrib/collection3: Added the forgotten Collectd::Graph::Config module.
Merge branch 'collectd-4.3' into collectd-4.4
src/utils_threshold.c: Free allocated memory before returning..
..in an error condition.
..in an error condition.
memory plugin: The variable is named cache, not cached, at least on libstatgrab >= 0.16
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
configure.in: Look for ip_vs.h in the kernel sources.
Developers,
I am writing an updated ebuild for gentoo and I made this patch that allows
ip_vs.h to be located and the ipvs module to build. Normally I would include
this with the ebuild, but I thought it may be beneficial to send it to you.
Please review it and let me know what you think. I am still inexperienced with
autotools so the patch may not be well put together. If you would consider
applying it or a similar patch, please let me know so I can adjust the ebuild
accordingly.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Developers,
I am writing an updated ebuild for gentoo and I made this patch that allows
ip_vs.h to be located and the ipvs module to build. Normally I would include
this with the ebuild, but I thought it may be beneficial to send it to you.
Please review it and let me know what you think. I am still inexperienced with
autotools so the patch may not be well put together. If you would consider
applying it or a similar patch, please let me know so I can adjust the ebuild
accordingly.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
contrib/collection3: Add JavaScript code to unify the timespan of all graphs.
Using the new ``Set all images to this timespan'' button one can now easily
show the same timespan in all graphs. This allows to compare different graphs
much more easily.
Using the new ``Set all images to this timespan'' button one can now easily
show the same timespan in all graphs. This allows to compare different graphs
much more easily.
contrib/collection3: Update `json.cgi' to use the new config parsing function.
controb/collection3: Implement zooming using the mouse wheel.
Also you can now re-center the graph with a double click.
Also you can now re-center the graph with a double click.
contrib/collection3: Add a generic `instance' placeholder.
It will be replaced by either the type or plugin instance, depending on
which is defined.. This is handy for temperatures and stuff like that,
where sometimes the type instance doesn't exist.
It will be replaced by either the type or plugin instance, depending on
which is defined.. This is handy for temperatures and stuff like that,
where sometimes the type instance doesn't exist.
contrib/collection3: Move configuration logic into Collectd::Graph::Config.
contrib/collection3: Updated the `collection3' stuff in contrib/.
ChangeLog: Updated after the merge.
Merge branch 'collectd-4.3' into collectd-4.4
Bumped version to 4.4.2; Updated ChangeLog.
configfile.c: Fixed a typo.
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>
ipmi plugin: Fix a typo: sstrerror_r -> sstrerror.
snmp plugin: More format string fixes.
ntpd plugin: Use the standard types `uint8_t' etc. instead of `u_char' etc.
vserver plugin: Use `readdir_r' instead of `readdir'.
`readdir' is not thread safe, so use the (more thread safe) `readdir_r'.
Also, don't use the non-standard `d_type' member of the `dirent'
structure - it's not portable.
I'm aware that this plugin is very Linux specific and Linux most likely
will never use another C library than the GNU libc, but using this
member prevents me from compiling with the most restrictive `strict'
settings..
`readdir' is not thread safe, so use the (more thread safe) `readdir_r'.
Also, don't use the non-standard `d_type' member of the `dirent'
structure - it's not portable.
I'm aware that this plugin is very Linux specific and Linux most likely
will never use another C library than the GNU libc, but using this
member prevents me from compiling with the most restrictive `strict'
settings..
src/{collectd.h,perl.c}: Poison sprintf after perl.h has been included.
snmp plugin: Fix two format strings.
src/collectd.h: Don't include <pth.h>.
We don't use it, we don't check for it. Why on earth is it still in there..?
We don't use it, we don't check for it. Why on earth is it still in there..?
Merge branch 'collectd-4.3' into collectd-4.4
Conflicts:
src/ntpd.c
Conflicts:
src/ntpd.c
configure.in: Use pkg-config to detect the upsclient library.
The libupsclient-config script is gone in newer versions, so we use pkg-config
instead.
The libupsclient-config script is gone in newer versions, so we use pkg-config
instead.
ntpd plugin: Fix two format strings.
contrib/collection3: Add an basic, extensible, modular graphing front-end.
email plugin: Don't print `pthread_t'.
It may be a struct, so printing it is not portable.
It may be a struct, so printing it is not portable.
Merge branch 'collectd-4.3' into collectd-4.4
src/plugin.c: Initialize plugins before checking if read callbacks are available.
plugin_init_all() checks if any read callbacks are available before starting
the read threads. A few plugins register their read callback from their
init callback though. By initializing the plugins before that the read
threads are still started correctly if all plugins register the read
callback in the init callback.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
plugin_init_all() checks if any read callbacks are available before starting
the read threads. A few plugins register their read callback from their
init callback though. By initializing the plugins before that the read
threads are still started correctly if all plugins register the read
callback in the init callback.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
rrdtool plugin: Use a hack to case the `argv' pointers in a portable way.
ChangeLog: Recoded to UTF-8.
email plugin: Don't unlink the socket file on startup.
Usually, collectd runs as user root, thus making it an unsafe operation to
unconditionally remove the file even though one should be able to assume
that it "belongs" to collectd.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Usually, collectd runs as user root, thus making it an unsafe operation to
unconditionally remove the file even though one should be able to assume
that it "belongs" to collectd.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
src/common.c: Not enough memory is an error, not a debug message!
contrib/examples/: Be more verbose about how to handle types.
As suggested by Wolfgang Kroener.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
As suggested by Wolfgang Kroener.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>