Andrés J. Díaz [Mon, 18 May 2009 12:09:11 +0000 (14:09 +0200)]
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.
Florian Forster [Mon, 18 May 2009 09:28:50 +0000 (11:28 +0200)]
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
Sebastian Harl [Tue, 12 May 2009 06:44:24 +0000 (08:44 +0200)]
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 ;-)
Sebastian Harl [Sun, 10 May 2009 17:15:37 +0000 (19:15 +0200)]
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).
Sebastian Harl [Sun, 10 May 2009 16:47:41 +0000 (18:47 +0200)]
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.
Florian Forster [Fri, 8 May 2009 14:55:05 +0000 (16:55 +0200)]
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.
Florian Forster [Wed, 6 May 2009 14:28:27 +0000 (16:28 +0200)]
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.
Doug MacEachern [Mon, 4 May 2009 17:22:43 +0000 (19:22 +0200)]
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.
Marco Chiappero [Fri, 1 May 2009 15:22:52 +0000 (17:22 +0200)]
iptables plugin: Add support for ip6tables.
Here is a stub but I have some trouble in making it work with "Chain6"
rules, maybe I don't know exactely how to deal with configuration keys.
I get "collectd[4887]: Plugin `iptables' did not register for value
`Chain6'". Is there something I'm forgetting?
There is another issue, the naming shema. I temporally changed the ipv6
vl.plugin to "ip6tables" in the meantime. Options are:
- different vl.plugin if possible (backward compatible)
- new vl.plugin_instance name schema with ip protocol (not backward
compatible)
- new vl.type "ip6t_packets" and "ip6t_bytes" (backward compatible but
taints the types.db with useless data)
A note about the code: I created two different submit_chain and
submit_match because using void pointers (and casting them afterwards)
in a single function it's a little bit obscure and complicated with no
real advantage. Sorry for some code duplication but in my opinion this
is smartest way.
fscache plugin: Add new plugin for Linux' file-system based caching framework.
Tried to submit the patch via "git send-mail" but I don't think it worked if
you already have the patch disregard the attachment.
Looking forward to your feedback, I am sure there are a few issues its been a
few years since I programmed in C. I have been running this in my test lab at
work for a few days now with no issues.
With 62 metrics I would like to modify the code to group them by their
classification and possibly add configuration support. If the changes are
finished this weekend is it ok to send an updated patch?
Thanks
Edward
Signed-off-by: Edward "Koko" Konetzko <konetzed@quixoticagony.com> Signed-off-by: Florian Forster <octo@leeloo.lan.home.verplant.org>
Amit Gupta [Fri, 1 May 2009 12:38:50 +0000 (14:38 +0200)]
apache plugin: Use the HTTP header to determine the server software.
On Wed, Apr 22, 2009 at 1:53 PM, Florian Forster <octo@verplant.org> wrote:
> I think we have two options left:
>
> - Set a header callback using the CURLOPT_HEADERFUNCTION option and
> look for the <91>Server<92> header field. If it contains <93>lighttpd<94>, assume
> lighttpd, Apache otherwise.
>
> - Let the user configure which server software he's using.
>
> The two could be combined, of course: Use the user's setting if he has
> given one, (try to) determine the server software automatically if not.
>
> What do you think?
yeah this sounds good. While I thought about parsing the headers
initially but then the server headers can easily be changed, so I
wasn't sure about this approach earlier. Combing this with the user
specified server configuration value seems like the best solution.
Do find the patch attached. I am using st->server_type variable which
will be set to APACHE or LIGHTTPD based on the following logic:
- If the user has specified Server element in the conf file and it is
"apache" or "lighttpd", then set st->server_type variable
appropriately, otherwise ignore the Server value
- Parse the headers (only if the Server element is NULL or invalid) to
determine the type and set the st->server_type variable accordingly
- if st->server_type is not set as yet, then default it to apache
Bruno Prémont [Mon, 20 Apr 2009 20:37:42 +0000 (22:37 +0200)]
php-collection: add basic support for meta-selections
Add support for new meta selections allowing addition of graphs
with wildcard behavior.
This adds support for @all selection which matches any values
for the given identifier part.
In addition those types for which meta graphs exist now also list the
individual type instances in addition to the meta graph key for separate
graphing.
In order to support such new groups the lookup code has been refactored
to use a single scanning function which recursively traveses the
collectd RRD output directory for hosts, plugins, types and passing the
discovered data to callback functions for use. The callbacks returns
true to indicate traversal should continue on to next depth level and
false to tell it to continue with next element.
e.g. true on a host means it should look for plugins for given host,
false to continue with next host.
Bruno Prémont [Mon, 20 Apr 2009 20:36:12 +0000 (22:36 +0200)]
php-collection: graph definition improvements for bind plugin
Add new dns_qtype_cached type for metagraph and switch memory metagraph
to line-based for bind plugin as the values from bind plugin are not
cumulative.
mysql plugin: Replace all `magic numbers' (static string lengths).
I saw you correct my patch to suppress 'magic numbers', as I copy/paste another
part I suppose you want to supress all off them, I dit it in this patch. This
patch correct the typo I made on my name.
configure.in, network plugin: Use all tests to decide about gcrypt support.
On Doug's OpenBSD machine I've seen:
configure: gcrypt CPPFLAGS: -I/usr/local/include -I/usr/local/include
checking gcrypt.h usability... yes
checking gcrypt.h presence... yes
checking for gcrypt.h... yes
configure: gcrypt LDFLAGS: -L/usr/local/lib
checking for gcry_md_hash_buffer in -lgcrypt... no
Because so far the network plugin only used the existence of the header
file to determine whether or not to enable `gcrypt' support, the build
fails. With this patch, the plugin will use a define that's only
available if *all* tests were successful.