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.
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.
We evaluate collectd for internal use in our global monitoring system. For that
we need to monitor mysql locks, so as collectd doesn't do this I wrote a little
patch. This patch is based on 4.6.2 version and modify only src/mysql.c, hope
you'll find it usefull. If this patch is acceptable please feel free to
integrate it in your next release.
memcache plugin: Make connecting via UNIX socket possible.
Hello,
As the bugtracker is broken, I'm sending you this patch against v4.6.2
It was done by one of my collegues (Franck Lombardi)
As Franck doesn't want his email address to go in the wild, I proposed
to send it for him.
It adds a new configuration option "Socket" for this pluggin
i'll try to upload my patch there once Mantis is back to normal
Cheers
Stéphane Loeuillet
Seulement dans collectd-4.6.2-fl/bindings: .perl-directory-stamp
Seulement dans collectd-4.6.2/src/libcollectdclient: lcc_features.h
Tomasz Pala [Tue, 31 Mar 2009 08:31:29 +0000 (10:31 +0200)]
conntrack plugin: Add plugin to collect the connection tracking table size.
Hello,
I've adapted entropy plugin to get nf_conntrack entries, which is
important on Linux routers. Attached patch.
BTW you may want to take a look at PLD Linux spec file at
http://cvs.pld-linux.org/cgi-bin/cvsweb/SPECS/collectd.spec or
http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/SPECS/collectd.spec
as it's much more complex than Fedora, RH or SLES ones which are shipped
in contrib.
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