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>
src/common.c: Add end-of-line characters to strsplit()
This fixes plugins that use it to break lines read using fgets()
and forget that "\n" is left at the buffer's end. At least
battery and wireless plugins is affected.
Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
This fixes plugins that use it to break lines read using fgets()
and forget that "\n" is left at the buffer's end. At least
battery and wireless plugins is affected.
Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
src/collectd.conf.in: Fix the NotificationExec example.
src/utils_dns.c: Fix version information for __NAMESER >= 19961001.
Thanks to Oleg for reporting this.
Resolves: #22
Thanks to Oleg for reporting this.
Resolves: #22
Replace all occurrences of `strcpy' with `sstrncpy', again.
This changes all files that are new in 4.4.
This changes all files that are new in 4.4.
Merge branch 'collectd-4.3' into collectd-4.4
src/collectd.h: Use `#pragma GCC poison' to disable evil functions.
libvirt plugin: Replace `strcat' with `strncat'.
Replace all occurrences of `strcpy' with `sstrncpy'.
nginx plugin: Use `strtok_r' instead of `strtok'.
Merge branch 'collectd-4.3' into collectd-4.4
wireless plugins: Interpret noise/power values >100 as (dBm + 256).
Hi list,
I currently develop an embedded statistics application and web interface
for OpenWrt Kamikaze based on Collectd and RRDTool.
While working with the wireless plugin I noticed some incompatibilities
with different drivers, namely the Broadcom proprietary driver and madwifi.
/proc/net/wireless on Broadcom:
Inter-| sta-| Quality | Discarded packets | Missed | WE
face | tus | link level noise | nwid crypt frag retry misc | beacon | 18
wl0: 0000 2. 179. 163. 0 0 8040 723 0 0
With the Broadcom proprietary driver you get the actual signal and noise
dbm units by substracting 255 from the values in /proc:
level: 179 - 255 = -76 dBm
noise: 163 - 255 = -92 dBm
/proc/net/wireless on Atheros SoC:
Inter-| sta-| Quality | Discarded packets | Missed | WE
face | tus | link level noise | nwid crypt frag retry misc | beacon | 22
ath0: 0004 21. -73. -94. 21841 0 0 0 0 0
Madwifi writes the actual dBm values into /proc.
So we have (at least for now) three possible types of values:
( x > 0.0 && x <= 100.0 ) current implementation: x is in percent (?)
( x > 100.0 && x <= 255.0 ) broadcom: range intersects with percents but
values below 100.0 (100.0 - 255.0 = -155.0 dBm)
are somewhat unlikely to occur
( x < 0.0 ) atheros: value is already in dBm
A patch which implements the two additional possibilities in collectd's wireless
plugin can be found in the OpenWrt Trac:
https://dev.openwrt.org/browser/packages/utils/collectd/patches/200-wireless-compat.patch
The patch was made against v4.4.0 of collectd but should work with v4.4.1 too.
It would be nice to have this in the next release or so :)
Greetings,
JoW
Hi list,
I currently develop an embedded statistics application and web interface
for OpenWrt Kamikaze based on Collectd and RRDTool.
While working with the wireless plugin I noticed some incompatibilities
with different drivers, namely the Broadcom proprietary driver and madwifi.
/proc/net/wireless on Broadcom:
Inter-| sta-| Quality | Discarded packets | Missed | WE
face | tus | link level noise | nwid crypt frag retry misc | beacon | 18
wl0: 0000 2. 179. 163. 0 0 8040 723 0 0
With the Broadcom proprietary driver you get the actual signal and noise
dbm units by substracting 255 from the values in /proc:
level: 179 - 255 = -76 dBm
noise: 163 - 255 = -92 dBm
/proc/net/wireless on Atheros SoC:
Inter-| sta-| Quality | Discarded packets | Missed | WE
face | tus | link level noise | nwid crypt frag retry misc | beacon | 22
ath0: 0004 21. -73. -94. 21841 0 0 0 0 0
Madwifi writes the actual dBm values into /proc.
So we have (at least for now) three possible types of values:
( x > 0.0 && x <= 100.0 ) current implementation: x is in percent (?)
( x > 100.0 && x <= 255.0 ) broadcom: range intersects with percents but
values below 100.0 (100.0 - 255.0 = -155.0 dBm)
are somewhat unlikely to occur
( x < 0.0 ) atheros: value is already in dBm
A patch which implements the two additional possibilities in collectd's wireless
plugin can be found in the OpenWrt Trac:
https://dev.openwrt.org/browser/packages/utils/collectd/patches/200-wireless-compat.patch
The patch was made against v4.4.0 of collectd but should work with v4.4.1 too.
It would be nice to have this in the next release or so :)
Greetings,
JoW
disk plugin: Use correct name under Linux 2.4
Hello everybody.
I have noticed that disk graphs are displayed by collection.cgi as
disk (71687000) instead of the correct disk name on 2.4.x linux
kernels.
The problem seems caused by the fact that the position of disk name of
/proc/partitions (used in 2.4 kernels) differs from /proc/diskstats
(used in 2.6 kernels).
I include as attachment a patch that seems to fix this problem.
I have tested it on 2.4.20 (REDHAT 9) and 2.6.24.4 (Debian Sid) systems.
Thanks a lot for Collectd. It is a _very_ useful program.
Alessandro
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Hello everybody.
I have noticed that disk graphs are displayed by collection.cgi as
disk (71687000) instead of the correct disk name on 2.4.x linux
kernels.
The problem seems caused by the fact that the position of disk name of
/proc/partitions (used in 2.4 kernels) differs from /proc/diskstats
(used in 2.6 kernels).
I include as attachment a patch that seems to fix this problem.
I have tested it on 2.4.20 (REDHAT 9) and 2.6.24.4 (Debian Sid) systems.
Thanks a lot for Collectd. It is a _very_ useful program.
Alessandro
Signed-off-by: Florian Forster <octo@huhu.verplant.org>