src/utils_cache.c: Update GETVAL output when missing state.
Hi
I think that I've found a bug when use unixsock plugin. The problem is
releate with missing state, when no value is received by daemon for a
while in the cache is marked as MISSING, but the last value is still
showing even when machine is not reporting in a GETVAL and LISTVAL
commands. Some utlities like collectd-nagios does not work correctly,
and report an OKAY value when host is not reporting from a long time.
I attach a patch with check the state value of an cache entry in
uc_get_names and in uc_get_rate_by_name. This patch works for me, but
it's not very tested yet, and I not very sure about if it's a good way
to check the problem. The patch is tested on 4.7.2 release version.
BTW a GETSTATE command will be an useful feature too :P
Regards,
Andres
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Hi
I think that I've found a bug when use unixsock plugin. The problem is
releate with missing state, when no value is received by daemon for a
while in the cache is marked as MISSING, but the last value is still
showing even when machine is not reporting in a GETVAL and LISTVAL
commands. Some utlities like collectd-nagios does not work correctly,
and report an OKAY value when host is not reporting from a long time.
I attach a patch with check the state value of an cache entry in
uc_get_names and in uc_get_rate_by_name. This patch works for me, but
it's not very tested yet, and I not very sure about if it's a good way
to check the problem. The patch is tested on 4.7.2 release version.
BTW a GETSTATE command will be an useful feature too :P
Regards,
Andres
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
src/plugin.c: Make `plugin_unregister_read' functional again.
network plugin: Fix an incorrectly used configuration variable.
The `CacheFlush' option was assigned to the `TTL' variable. Ouch.
Version 4.6 and earlier are not effected.
The `CacheFlush' option was assigned to the `TTL' variable. Ouch.
Version 4.6 and earlier are not effected.
src/collectd.conf.in: Fix a typo.
ChangeLog: Fix a typo.
Bumped version to 4.7.2; Updated ChangeLog.
Merge branch 'collectd-4.6' into collectd-4.7
Conflicts:
ChangeLog
version-gen.sh
Conflicts:
ChangeLog
version-gen.sh
Bumped version to 4.6.4; Updated ChangeLog.
Merge branch 'collectd-4.6' into collectd-4.7
Conflicts:
src/memcached.c
Conflicts:
src/memcached.c
src/configfile.c: Warn if an unexpected block is found.
If the `snmp' plugin isn't loaded (but a configuration exists), no
warning is printed because there are only blocks in the SNMP
configuration..
If the `snmp' plugin isn't loaded (but a configuration exists), no
warning is printed because there are only blocks in the SNMP
configuration..
build.sh, version-gen.sh: Remove bashisms.
Thanks to Peter Bray for pointing them out.
Thanks to Peter Bray for pointing them out.
src/utils_cache.c: `ce' *is* written to in `c_avl_remove'.
Therefore we should definitely free it.
Therefore we should definitely free it.
src/utils_cache.c: uc_check_timeout: Don't free a `ce' from the previous iteration.
This may habe been a cause of the reported assertion failure, too.
This may habe been a cause of the reported assertion failure, too.
src/utils_cache.c: Add a missing `continue'.
tokkee on IRC & I think we found a bug with utils_cache.c. The uc_check_timeout
function is missing a continue after the "uninteresting" service check, that
causes a key to be null.
This probably caused an assertion failure in cache_compare as reported by
Mariusz.
tokkee on IRC & I think we found a bug with utils_cache.c. The uc_check_timeout
function is missing a continue after the "uninteresting" service check, that
causes a key to be null.
This probably caused an assertion failure in cache_compare as reported by
Mariusz.
cpu plugin: Fix a typo.
memcached plugin: Pass `ai_hints' to `getaddrinfo'.
Merge branch 'collectd-4.6' into collectd-4.7
bindings/java/Makefile.am: Fully support $DESTDIR.
src/Makefile: Link the ping plugin against libm.
The plugin now uses sqrt() which is provided by the math lib.
The plugin now uses sqrt() which is provided by the math lib.
collectd2html.pl: Added --recursive command line option.
This option may be used to recursively scan the specified directory for RRD
files. This way, the script works reasonably well with collectd 4.
Thanks to 'ABL <abl@xxx.lt>' for providing an initial patch in Debian bug
#482185.
This option may be used to recursively scan the specified directory for RRD
files. This way, the script works reasonably well with collectd 4.
Thanks to 'ABL <abl@xxx.lt>' for providing an initial patch in Debian bug
#482185.
collectd2html.pl: Allow for --imgformat to be passed to rrdtool.
This was reported as Debian bug #482185.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
This was reported as Debian bug #482185.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
gmond plugin: Use `strtoull' to parse counter values.
Instead of `strtoll'.
Instead of `strtoll'.
src/common.c: More reliable error reporting in `parse_values'.
configure.in: Add -rpath to JAVA_LDFLAGS.
Merge branch 'collectd-4.6' into collectd-4.7
src/utils_cache.c: Try to improve code readability.
Unfortunately, there is quite some magic going on there :/
Unfortunately, there is quite some magic going on there :/
src/utils_cache.c: Fix OKAY notifications for missing values.
src/Makefile.am: Link the `sensors' plugin against libsensors.
This regression was introduced in 451d75ba.
This regression was introduced in 451d75ba.
dns plugin: Improve debug message.
libcollectdclient/client.c: Made sstrerror() static.
This is a private helper function only.
This is a private helper function only.
Bumped version to 4.7.1; Updated ChangeLog.
Merge branch 'collectd-4.6' into collectd-4.7
Conflicts:
ChangeLog
src/collectd.conf.pod
version-gen.sh
Conflicts:
ChangeLog
src/collectd.conf.pod
version-gen.sh
Bumped version to 4.6.3; Updated ChangeLog.
configure: Include libganglia in the configuration summary.
ChangeLog: Fixed sorting of entries.
configfile.c: Fixed Include'ing empty files.
When including empty files, a typo prevented that the "Include" child (of the
config parse tree) was removed correctly, leaving behind garbage which in turn
led to a segfault if the Include option was not the last element of the config
file.
Also, another Include option following the inclusion of an empty file used to
be ignored. This has been fixed as well.
When including empty files, a typo prevented that the "Include" child (of the
config parse tree) was removed correctly, leaving behind garbage which in turn
led to a segfault if the Include option was not the last element of the config
file.
Also, another Include option following the inclusion of an empty file used to
be ignored. This has been fixed as well.
java plugin: Replace dots ('.') with slashes ('/') when loading a class.
Thanks to Randy Rizun for pointing this out:
Hi!
just wanted to point out an issue in cjni_config_load_plugin
the call to FindClass passes the "Name" verbatim from the LoadPlugin directive
one might intuitively say LoadPlugin "com.foobar.Plugin"
whereas FindClass wants to see it as "com/foobar/Plugin"
so I guess either (a) document LoadPlugin to say to use slashes or (b)
subst / for . in cjni_config_load_plugin or (c) something else?!?
of course, everything works fine if my plugin is in the 'default' java
package (i.e., no package name) =)
either way, thanks a lot for the great work!!
-Randy
Thanks to Randy Rizun for pointing this out:
Hi!
just wanted to point out an issue in cjni_config_load_plugin
the call to FindClass passes the "Name" verbatim from the LoadPlugin directive
one might intuitively say LoadPlugin "com.foobar.Plugin"
whereas FindClass wants to see it as "com/foobar/Plugin"
so I guess either (a) document LoadPlugin to say to use slashes or (b)
subst / for . in cjni_config_load_plugin or (c) something else?!?
of course, everything works fine if my plugin is in the 'default' java
package (i.e., no package name) =)
either way, thanks a lot for the great work!!
-Randy
java plugin: Use slashes rather than dots to lookup classes.
there are three (3) invocations of FindClass that use "." periods
instead of "/" slashes
java.lang.Long
java.lang.Double
org.collectd.api.DataSet
those need to be fixed up to use "/" slashes
Thanks!
there are three (3) invocations of FindClass that use "." periods
instead of "/" slashes
java.lang.Long
java.lang.Double
org.collectd.api.DataSet
those need to be fixed up to use "/" slashes
Thanks!
Merge branch 'collectd-4.6' into collectd-4.7
collectd.conf(5): Fixed alphabetic sorting of plugins.
collectd.conf(5): Mark {Min,Max}PGVersion as deprecated.
Instead, document the {Min,Max}Version options.
Instead, document the {Min,Max}Version options.
collectd.conf: Added a sample ipmi config block.
rrdtool plugin: If `flush' cannot find the requested file, issue an `INFO'.
... and not a `WARNING' - this may happen under perfectly fine conditions.
(I. e. file exists but isn't updated anymore.)
... and not a `WARNING' - this may happen under perfectly fine conditions.
(I. e. file exists but isn't updated anymore.)
src/utils_cache.c: Fix incorrect checking of persistent thresholds.
I attached a patch to solve a problem related with notifications. When a value
is missing for a while (2 intervals), a FAILURE notification is raised, and if
Persist is false, the notification is repeated each interval, but man page
says:
If set to false (the default) then a notification is only generated if a
value is out of range but the previous value was okay.
So, I think that is a bug, if not I'm sorry for the noise :)
Regards,
Andres
P.S.: The problem is only a mixing in if conditions into uc_check_timeout
function.
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
I attached a patch to solve a problem related with notifications. When a value
is missing for a while (2 intervals), a FAILURE notification is raised, and if
Persist is false, the notification is repeated each interval, but man page
says:
If set to false (the default) then a notification is only generated if a
value is out of range but the previous value was okay.
So, I think that is a bug, if not I'm sorry for the noise :)
Regards,
Andres
P.S.: The problem is only a mixing in if conditions into uc_check_timeout
function.
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Disable LFS flags to avoid 32-bit solaris sys/swap.h error
configure.in: Add libmemcached to Configuration/Libraries output.
Signed-off-by: Doug MacEachern <dougm@hyperic.com>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Signed-off-by: Doug MacEachern <dougm@hyperic.com>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Merge branch 'collectd-4.6' into collectd-4.7
build system: (Hopefully) added support for libtool 1.5 _and_ 2.2.
The macro LT_PACKAGE_VERSION (which appeared in libtool 2.2) is used to check
weather we're using libtool 2.2.
The macro LT_PACKAGE_VERSION (which appeared in libtool 2.2) is used to check
weather we're using libtool 2.2.
Merge branch 'collectd-4.6' into collectd-4.7
rrdtool plugin: Make sure the initialization is run only once.
Thanks to Amit Gupta for reporting this bug!
Thanks to Amit Gupta for reporting this bug!
src/plugin.c: Initiate the threshold checking again.
Hi,
I have the same problem in my instalation, exactly the same scenario, I found a
possible explanation in the plugin.c module. While in the 4.5 branch exists a
callback to function ut_check_threshold (defined in utils_threshold.c), in the
4.6.2 (and also in 4.6.1, I think), the callback is missing, so threshold
checking never runs.
In fact, a grep -r ut_check_threshold over src dir, only show the definition of
the function in ut_check_threshold module.
I'm not sure if it's really a bug, but when I patched my code, it works fine
for me :) I'm using the 4.6.2 version from tar.gz.
Best regards,
Andrés
The regression was introduced in 65954d9b.
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Hi,
I have the same problem in my instalation, exactly the same scenario, I found a
possible explanation in the plugin.c module. While in the 4.5 branch exists a
callback to function ut_check_threshold (defined in utils_threshold.c), in the
4.6.2 (and also in 4.6.1, I think), the callback is missing, so threshold
checking never runs.
In fact, a grep -r ut_check_threshold over src dir, only show the definition of
the function in ut_check_threshold module.
I'm not sure if it's really a bug, but when I patched my code, it works fine
for me :) I'm using the 4.6.2 version from tar.gz.
Best regards,
Andrés
The regression was introduced in 65954d9b.
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
configure.in: Be more verbose if libperl exists but doesn't support ithreads.
configure.in, java plugin: Instruct `find' to return files only.
Hopefully this solves this problem:
/home/hudson/jdk/sample/javac -d "." "./org/collectd/api"/*.java
/bin/sh: /home/hudson/jdk/sample/javac: is a directory
Hopefully this solves this problem:
/home/hudson/jdk/sample/javac -d "." "./org/collectd/api"/*.java
/bin/sh: /home/hudson/jdk/sample/javac: is a directory
src/Makefile.am: Added missing backslash before newline.
The list of manpages is split into several lines. One of those lines was
missing the backslash which caused the list to be cut after collectd-java.5,
i.e. several of the manpages would have not been built at all.
Thanks to 'dh_install --fail-missing' for catching that ;-)
The list of manpages is split into several lines. One of those lines was
missing the backslash which caused the list to be cut after collectd-java.5,
i.e. several of the manpages would have not been built at all.
Thanks to 'dh_install --fail-missing' for catching that ;-)
Merge remote branch 'tokkee/sh/collectd-4.7' into collectd-4.7
bindings/java/Makefile.am: Install to $pkgdatadir/java/.
And don't use $(builddir): It may be an empty string, making handling of this
variable cumbersome.
And don't use $(builddir): It may be an empty string, making handling of this
variable cumbersome.
collectd.conf: Added a sample config for the memcachec plugin.
... copied from the manpage.
... copied from the manpage.
collectd.conf: Added missing whitespace in sample table configuration.
WTF happened there? ...
WTF happened there? ...
configure: Added support for --enable-<plugin>=force.
This may be used to force a plugin to be built, no matter what the dependency
check yielded. I.e. this is basically the same --enable-<plugin> before commit
9276a81328091fdebc833eb10580d53bc51659db (configure.in: Let configure bail out
on missing dependencies).
This may be used to force a plugin to be built, no matter what the dependency
check yielded. I.e. this is basically the same --enable-<plugin> before commit
9276a81328091fdebc833eb10580d53bc51659db (configure.in: Let configure bail out
on missing dependencies).
configure: Added the --enable-all-plugins option.
This option may be used to enable or disable all plugins by default. The
default may be overwritten by explicitly enabling or disabling a plugin using
the --enable-<plugin> option.
This option may be used to enable or disable all plugins by default. The
default may be overwritten by explicitly enabling or disabling a plugin using
the --enable-<plugin> option.
memcachec plugin: Fixed a typo in a comment.
Build system: Build and install .java files in bindings/java/ automatically.
collectd.conf(5): Add documentation for the memcachec plugin.
README: Fix a typo.
bindings/Makefile: Include java/ subdir in the dist tarball.
contrib/README: Added a short description for collectd-{network,unixsock}.py.
README: Added missing plugins and libraries.
That is, the fscache, memcachec, table and uptime plugins and libganglia,
libgcrypt and libmemcached.
That is, the fscache, memcachec, table and uptime plugins and libganglia,
libgcrypt and libmemcached.
collectd.conf: Added fscache, memcachec, table and ted plugins.
configure: Sort plugins alphabetically in the summary output.
ChangeLog: Changed date to May 11th; Updated version.
Merge branch 'collectd-4.6' into collectd-4.7
Conflicts:
ChangeLog
Conflicts:
ChangeLog
Merge branch 'collectd-4.5' into collectd-4.6
Conflicts:
ChangeLog
version-gen.sh
Conflicts:
ChangeLog
version-gen.sh
Bumped version to 4.5.4; Updated ChangeLog.
Merge branch 'collectd-4.6' into collectd-4.7
Merge branch 'collectd-4.5' into collectd-4.6
configure.in: Hint towards the CFLAGS instead of using $CC.
configure.in: Add hint for building solaris 64-bit binary.
Signed-off-by: Doug MacEachern <dougm@hyperic.com>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Signed-off-by: Doug MacEachern <dougm@hyperic.com>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
configure.in: Check libgcrypt minimum version 1.2.0.
Signed-off-by: Doug MacEachern <dougm@hyperic.com>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Signed-off-by: Doug MacEachern <dougm@hyperic.com>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
swap module: Include <vm/anon.h> on Solaris.
Signed-off-by: Doug MacEachern <dougm@hyperic.com>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Signed-off-by: Doug MacEachern <dougm@hyperic.com>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
configure.in: Check for `mysql_get_server_version' in libmyql.
Signed-off-by: Doug MacEachern <dougm@hyperic.com>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Signed-off-by: Doug MacEachern <dougm@hyperic.com>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
configure.in: Use AC_HEADER_STDBOOL
Signed-off-by: Doug MacEachern <dougm@hyperic.com>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Signed-off-by: Doug MacEachern <dougm@hyperic.com>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
README: Document how to build the Java plugin.
configure.in: Simplified configuration of the Java plugin.
The configure script now uses `find' to search the JAVA_HOME directory for the
files `jni.h', `jni_md.h', and `libjvm.so'. Not nice, but I don't know how else
to solve this problem.
The configure script now uses `find' to search the JAVA_HOME directory for the
files `jni.h', `jni_md.h', and `libjvm.so'. Not nice, but I don't know how else
to solve this problem.
Merge branch 'collectd-4.5' into collectd-4.6
Conflicts:
src/Makefile.am
Conflicts:
src/Makefile.am
Build system: Straighten up building of the DF plugin.
In rare cases, e. g. Solaris, getmntent is available but neither the one nor
the two argument version could be recognized. This lead to `cu_mount_getlist'
returning NULL without an error, leading to the df plugin fail without notice.
While at it I re-implemented the dependency checking of the DF plugin to match
the proprocessor logic in utils_mount.c.
In rare cases, e. g. Solaris, getmntent is available but neither the one nor
the two argument version could be recognized. This lead to `cu_mount_getlist'
returning NULL without an error, leading to the df plugin fail without notice.
While at it I re-implemented the dependency checking of the DF plugin to match
the proprocessor logic in utils_mount.c.
libcollectdclient: Fix a typo.
network plugin: Fix use of a uninitialized variable.
This only happened if debugging was enabled.
This only happened if debugging was enabled.
Merge branch 'collectd-4.6' into collectd-4.7
Merge branch 'collectd-4.5' into collectd-4.6
uuid plugin: Pass `int' to `isxdigit'.
Fixes compilation on NetBSD and possibly other systems.
Signed-off-by: Doug MacEachern <dougm@hyperic.com>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Fixes compilation on NetBSD and possibly other systems.
Signed-off-by: Doug MacEachern <dougm@hyperic.com>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
tcpconns plugin: Compilation fixes for NetBSD.
Signed-off-by: Doug MacEachern <dougm@hyperic.com>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Signed-off-by: Doug MacEachern <dougm@hyperic.com>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Merge branch 'collectd-4.6' into collectd-4.7
libcollectdclient: Copy `sstrerror' from src/common.c.
I don't want to simply include common.h, since that pulls in a lot of
other daemon-related headers..
I don't want to simply include common.h, since that pulls in a lot of
other daemon-related headers..
Restructure the --enable-standards option.
On Debian GNU/Linux (testing) this works. Let's see how other
systems hold up.
On Debian GNU/Linux (testing) this works. Let's see how other
systems hold up.
src/Makefile.am: Add standards.h to the sources.
iptables plugin: Initialize ip_version.
iptables.c: In function 'iptables_config':
iptables.c:99: warning: 'ip_version' is used uninitialized in this function
Signed-off-by: Florian Forster <octo@leeloo.lan.home.verplant.org>
iptables.c: In function 'iptables_config':
iptables.c:99: warning: 'ip_version' is used uninitialized in this function
Signed-off-by: Florian Forster <octo@leeloo.lan.home.verplant.org>
Merge branch 'collectd-4.6' into collectd-4.7
Set process vmem_size and stack_size on FreeBSD
Fixes:
processes.c: In function 'ps_read':
processes.c:328: warning: 'pse.vmem_size' is used uninitialized in this function
processes.c:1300: note: 'pse.vmem_size' was declared here
processes.c:330: warning: 'pse.stack_size' is used uninitialized in this function
processes.c:1300: note: 'pse.stack_size' was declared here
Signed-off-by: Doug MacEachern <dougm@hyperic.com>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Cherry-picked *again* because the initial commit to the collectd-4.5
branch was incorrect. collectd-4.6 is the branch this should be in.
Conflicts:
src/processes.c
Fixes:
processes.c: In function 'ps_read':
processes.c:328: warning: 'pse.vmem_size' is used uninitialized in this function
processes.c:1300: note: 'pse.vmem_size' was declared here
processes.c:330: warning: 'pse.stack_size' is used uninitialized in this function
processes.c:1300: note: 'pse.stack_size' was declared here
Signed-off-by: Doug MacEachern <dougm@hyperic.com>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Cherry-picked *again* because the initial commit to the collectd-4.5
branch was incorrect. collectd-4.6 is the branch this should be in.
Conflicts:
src/processes.c
Merge branch 'collectd-4.6' into collectd-4.7
Merge branch 'collectd-4.5' into collectd-4.6