Merge branch 'collectd-4.6' into collectd-4.7
Merge branch 'collectd-4.5' into collectd-4.6
rrdtool plugin: Make absolutely sure two local variables are initialized.
To make the compiler happy.
To make the compiler happy.
Build system: Add the --enable-standards configure option.
Merge branch 'collectd-4.6' into collectd-4.7
Conflicts:
src/filter_chain.c
src/meta_data.c
src/target_notification.c
src/target_replace.c
src/target_set.c
Conflicts:
src/filter_chain.c
src/meta_data.c
src/target_notification.c
src/target_replace.c
src/target_set.c
bind plugin: Fixes for FreeBSD 7.1
X/Open is needed for strptime,
sys/select.h is needed for some libcurl versions, and
mktime is the POSIX variant of timegm (+ localization).
X/Open is needed for strptime,
sys/select.h is needed for some libcurl versions, and
mktime is the POSIX variant of timegm (+ localization).
Various: Remove strict standards compliance defines.
ntpd plugin: Fix dereference of type-punned pointer.
Merge branch 'collectd-4.5' into collectd-4.6
processes plugin: Comment out nonexistent struct members.
We should reintroduce those values eventually.
We should reintroduce those values eventually.
memory plugin: Fix a formatstring error.
email plugin: Don't assume `pthread_t' is a `unsigned long'.
ChangeLog: Added information about mysql lock statistics.
AUTHORS: Added Rodolphe.
AUTHORS: Added Marco.
iptables plugin: Use the same enum everywhere.
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.
Let me know your opinion, thank you.
Regards,
Marco
Signed-off-by: Florian Forster <octo@leeloo.lan.home.verplant.org>
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.
Let me know your opinion, thank you.
Regards,
Marco
Signed-off-by: Florian Forster <octo@leeloo.lan.home.verplant.org>
ChangeLog: Updated the change log for 4.7.
Merge branch 'collectd-4.6'
Conflicts:
src/memcached.c
Conflicts:
src/memcached.c
Merge branch 'collectd-4.5' into collectd-4.6
irq plugin: Force 32bit wrap-around.
battery plugin: Fix a typo.
Merge branch 'ek/fscache'
AUTHORS: Added Edward “Koko” Konetzko.
fscache plugin: Simplyfied the parsing code.
configure: Fixed the check for broken Perl_load_module().
Do not initialize AC_CACHE_CHECK cache-id's - that'd be the same as having the
initial value in the cache. This was introduced in commit 61c19cc1.
Do not initialize AC_CACHE_CHECK cache-id's - that'd be the same as having the
initial value in the cache. This was introduced in commit 61c19cc1.
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>
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>
Merge branch 'ag/apache'
apache plugin: Be more verbose when automatically determine the server software.
apache plugin: Replace C++-style comments.
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
Regards
Amit
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
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
Regards
Amit
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Add _XOPEN_SOURCE=600 to all .c files with standards compliance defines.
This should hopefully give us strerror_r and strdup and similar neat
functions.
This should hopefully give us strerror_r and strdup and similar neat
functions.
Merge branch 'ff/auth'
collectd.conf(5): Add some information about the AuthFile format.
network plugin: Defines for non-gcrypt-code.
collectd.conf(5): Document the new authentication stuff.
network plugin: Some fixed to get encryption up and running again.
Wow, that was easy!
Wow, that was easy!
Merge branch 'master' into ff/auth
Conflicts:
src/network.c
Conflicts:
src/network.c
network plugin: Move towards a user/password based solution.
src/utils_fbhash.c: Implementation of a file-backed hash.
This is going to be used for password files on the server.
This is going to be used for password files on the server.
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.
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
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.
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
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.
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
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.
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
php-collection: New graph toolbox
This patch creates a new toolbox which can be show on a per-graph base
by clicking on a graph.
This box allows changing the displayed period of the selected graph
as well as toggle the logarithmic scale and legend details flags.
The graph reordering, refresh and delete tools have been moved from
right graph edge to this new toolbox.
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
This patch creates a new toolbox which can be show on a per-graph base
by clicking on a graph.
This box allows changing the displayed period of the selected graph
as well as toggle the logarithmic scale and legend details flags.
The graph reordering, refresh and delete tools have been moved from
right graph edge to this new toolbox.
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
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.
Regards
--
Rodolphe Quiedeville
www.bearstech.com
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.
Regards
--
Rodolphe Quiedeville
www.bearstech.com
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.
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.
mysql plugin: Use `strlen ("Table_locks_")' rather than `12'.
mysql plugin: Add `lock' statistics.
Hi,
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.
Regards,
--
Rodolphe Quiedeville
www.bearstech.com
Hi,
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.
Regards,
--
Rodolphe Quiedeville
www.bearstech.com
src/libcollectdclient/: Specify _XOPEN_SOURCE=600.
irq plugin: Parse interrupt counters as unsigned long long.
Hello,
attached patch fixes accounting of most frequent interrupts (like NICs
on routers). E.g. in my case:
213: 76266 76357 76250 76397 2408617852 2411844062 2411642538 2411814531 PCI-MSI-edge eth1
214: 2621368360 2621463385 2621343444 2621386931 2349184 28 35 32 PCI-MSI-edge eth0
Here LONG_MAX (2147483647L) overflows in 10 days uptime and strtol()
returns the same value.
As all the values (including counter_t) are unsigned long long int, the
fix is trivial (for now there's no need to check for irq_value overflow;>).
--
Tomasz Pala <gotar@pld-linux.org>
Signed-off-by: Florian Forster <octo@leeloo.lan.home.verplant.org>
Hello,
attached patch fixes accounting of most frequent interrupts (like NICs
on routers). E.g. in my case:
213: 76266 76357 76250 76397 2408617852 2411844062 2411642538 2411814531 PCI-MSI-edge eth1
214: 2621368360 2621463385 2621343444 2621386931 2349184 28 35 32 PCI-MSI-edge eth0
Here LONG_MAX (2147483647L) overflows in 10 days uptime and strtol()
returns the same value.
As all the values (including counter_t) are unsigned long long int, the
fix is trivial (for now there's no need to check for irq_value overflow;>).
--
Tomasz Pala <gotar@pld-linux.org>
Signed-off-by: Florian Forster <octo@leeloo.lan.home.verplant.org>
irq plugin: Parse interrupt counters as unsigned long long.
Hello,
attached patch fixes accounting of most frequent interrupts (like NICs
on routers). E.g. in my case:
213: 76266 76357 76250 76397 2408617852 2411844062 2411642538 2411814531 PCI-MSI-edge eth1
214: 2621368360 2621463385 2621343444 2621386931 2349184 28 35 32 PCI-MSI-edge eth0
Here LONG_MAX (2147483647L) overflows in 10 days uptime and strtol()
returns the same value.
As all the values (including counter_t) are unsigned long long int, the
fix is trivial (for now there's no need to check for irq_value overflow;>).
--
Tomasz Pala <gotar@pld-linux.org>
Signed-off-by: Florian Forster <octo@leeloo.lan.home.verplant.org>
Hello,
attached patch fixes accounting of most frequent interrupts (like NICs
on routers). E.g. in my case:
213: 76266 76357 76250 76397 2408617852 2411844062 2411642538 2411814531 PCI-MSI-edge eth1
214: 2621368360 2621463385 2621343444 2621386931 2349184 28 35 32 PCI-MSI-edge eth0
Here LONG_MAX (2147483647L) overflows in 10 days uptime and strtol()
returns the same value.
As all the values (including counter_t) are unsigned long long int, the
fix is trivial (for now there's no need to check for irq_value overflow;>).
--
Tomasz Pala <gotar@pld-linux.org>
Signed-off-by: Florian Forster <octo@leeloo.lan.home.verplant.org>
Merge branch 'master' into ag/apache
Conflicts:
src/apache.c
Conflicts:
src/apache.c
apache plugin: Remove the `connect' variable: It wasn't really being used.
apache plugin: Replace C++-style comments.
apache plugin: Add support for lighttpd's scoreboard metrics.
Hi,
Do find the patch for lighttpd scoreboard attached. Let me know if
this patch looks okay.
Regards
Amit
Signed-off-by: Florian Forster <octo@leeloo.lan.home.verplant.org>
Hi,
Do find the patch for lighttpd scoreboard attached. Let me know if
this patch looks okay.
Regards
Amit
Signed-off-by: Florian Forster <octo@leeloo.lan.home.verplant.org>
apache plugin: Check if an URL was given at configuration time.
apache plugin: Use boolean members for "verify_{peer,host}".
apache plugin: Use the "complex read" interface.
csv plugin: Update copyright information.
Various plugins: Update copyright information.
gmond plugin: Update copyright notice.
Merge branch 'fl/memcached'
memcached plugin: Improve coding style a bit.
memory plugin: Fix the order of the #ifdef's.
Linux has sysctl too. I'm using the same order as in the CPU plugin here,
i. e.:
* Linux
* kstat
* sysctl
Linux has sysctl too. I'm using the same order as in the CPU plugin here,
i. e.:
* Linux
* kstat
* sysctl
apache plugin: Fix the signature of the curl callback function.
memcached plugin: Fix indentation: Indent all lines using tabs.
memcached plugin: List Franck Lombardi as copyright holder.
memcached plugin: Remove trailing whitespace.
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
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
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
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
configure.in: Active the memory plugin if sysctl(3) is available.
memory plugin: Update copyright notice and AUTHORS.
memory plugin: Check `pagesize' when initializing, not when reading.
memory plugin: Added support for OpenBSD and possibly other *BSDs.
Signed-off-by: Simon Kuhnle <simon@blarzwurst.de>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Signed-off-by: Simon Kuhnle <simon@blarzwurst.de>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
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.
--
Tomasz Pala <gotar@pld-linux.org>
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.
--
Tomasz Pala <gotar@pld-linux.org>
Merge branch 'collectd-4.6'
Conflicts:
src/mysql.c
src/ping.c
Conflicts:
src/mysql.c
src/ping.c
Merge branch 'collectd-4.5' into collectd-4.6
Conflicts:
src/cpu.c
Conflicts:
src/cpu.c
src/libcollectdclient/: Check if EILSEQ is defined.
And fall back to EPROTO or EINVAL if it is not, e. g. under FreeBSD.
And fall back to EPROTO or EINVAL if it is not, e. g. under FreeBSD.
interface, memory, ping plugins: Update copyright information.
openvpn plugin: Correct copyright information.
cpu plugin: Updated copyright information.
network plugin: Compatibility fixes with old versions of libgcrypt.
mysql plugin: Fix a typo in my previous patch.
D'oh!
D'oh!
mysql plugin: Updated copyright information.
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>
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>
Merge branch 'ag/apache'
apache plugin: Prepare for parallel reading of instances.
Do find the patch attached. I have moved apache_buffer and friends to the
apache_t structure and set the plugin_instance if there. There are other
changes as well like freeing up the lci->values etc. Have a look at the patch
and let me know if this looks okay to you.
Regards
Amit
Do find the patch attached. I have moved apache_buffer and friends to the
apache_t structure and set the plugin_instance if there. There are other
changes as well like freeing up the lci->values etc. Have a look at the patch
and let me know if this looks okay to you.
Regards
Amit
network plugin: Updated signature handling.
This is a preparation for being able to handle mixed signed/unsigned
data in one packet. The signature verifying code uses a recursive
structure now, just like the decryption code.
This is a preparation for being able to handle mixed signed/unsigned
data in one packet. The signature verifying code uses a recursive
structure now, just like the decryption code.
network plugin: Fix compile ifndef HAVE_GCRYPT_H
Signed-off-by: Doug MacEachern <Doug.MacEachern@hyperic.com>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Signed-off-by: Doug MacEachern <Doug.MacEachern@hyperic.com>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
uptime plugin: Removed some blank lines and reformatted some comments.
uptime plugin: Calculate the boot time under Linux.
Hi Florian,
[...]
About the uptime plugin:
New code attached, it should be fine now (different linux behaviour and some
minor changes). As soon as I can I'll send to you a plotting code sample (with
lots of stuff and RPN expressions) to be added in the contributions dir, if you
like, and edit the wiki page.
Regards,
Marco
Hi Florian,
[...]
About the uptime plugin:
New code attached, it should be fine now (different linux behaviour and some
minor changes). As soon as I can I'll send to you a plotting code sample (with
lots of stuff and RPN expressions) to be added in the contributions dir, if you
like, and edit the wiki page.
Regards,
Marco
apache plugin: Replace C++-style comments.
apache plugin: Remove unused variables.
apache plugin: Fix whitespace: Indent using tab, remove trailing.
apache plugin: Added Amit to list of copyright holders.
apache plugin: Add support for multiple servers.
Hi,
Based on Bruno/Florian input, I have changed the apache code to support
the following configuration structure:
<Plugin apache>
<Instance "instance_name">
URL ....
Host ... # optional and defaults to hostname_g
</Instance>
URL ...
</Plugin>
I have defined Instance as a block and not Host because the idea here is to
monitor multiple apache instances on the same machine. For apache instances on
remote machines, one could specify Host within the Instance block (which is
optional and default is hostname_g). For legacy configuration, I am converting
the legacy block to <Instance ""> which defaults to apache.
Do find the patch attached. I am not very familiar with git format-patch
and send-email functionalities as yet, so I am attaching a diff -ur
output as mentioned in the submitting-patches.shtml page.
The things which haven't been done as yet:
- I haven't used plugin_register_complex_read as yet. The main reason
being I am working on 4.6.1 version and I can't seem to find the
function plugin_register_complex_read in the code base. I believe it
is being added only in 4.6.2
- lighttpd scoreboard is not yet handled. This would probably be my next
task.
Question:
Given that this plugin can be used by both apache and lighttpd, how do
we find out if the server is lighttpd or apache?. It will be good to
have different rrd file names for apache and lighttpd which could only
be done if we set different vl.type for both the servers. One way I can
think of is to rely on the differences of the mod_status output of the
two servers or perhaps we could have a generic type as "httpd". (which
can be done only in the next major release if you folks are planning to
change the plugin name to httpd in the next major release)
Regards
Amit
Hi,
Based on Bruno/Florian input, I have changed the apache code to support
the following configuration structure:
<Plugin apache>
<Instance "instance_name">
URL ....
Host ... # optional and defaults to hostname_g
</Instance>
URL ...
</Plugin>
I have defined Instance as a block and not Host because the idea here is to
monitor multiple apache instances on the same machine. For apache instances on
remote machines, one could specify Host within the Instance block (which is
optional and default is hostname_g). For legacy configuration, I am converting
the legacy block to <Instance ""> which defaults to apache.
Do find the patch attached. I am not very familiar with git format-patch
and send-email functionalities as yet, so I am attaching a diff -ur
output as mentioned in the submitting-patches.shtml page.
The things which haven't been done as yet:
- I haven't used plugin_register_complex_read as yet. The main reason
being I am working on 4.6.1 version and I can't seem to find the
function plugin_register_complex_read in the code base. I believe it
is being added only in 4.6.2
- lighttpd scoreboard is not yet handled. This would probably be my next
task.
Question:
Given that this plugin can be used by both apache and lighttpd, how do
we find out if the server is lighttpd or apache?. It will be good to
have different rrd file names for apache and lighttpd which could only
be done if we set different vl.type for both the servers. One way I can
think of is to rely on the differences of the mod_status output of the
two servers or perhaps we could have a generic type as "httpd". (which
can be done only in the next major release if you folks are planning to
change the plugin name to httpd in the next major release)
Regards
Amit
battery plugin: Don't complain about missing /proc/acpi/battery each interval.
Instead, complain once when the read callback is called for the first time.
Instead, complain once when the read callback is called for the first time.
network plugin: Enable mixing encrypted and unencrypted data.
Unencrypted stuff may now follow encrypted blocks. They are only
handled, if ‘SecurityLevel’ ist set to ‘None’, of course.
Also, use ‘size_t’ for the buffer size.
Unencrypted stuff may now follow encrypted blocks. They are only
handled, if ‘SecurityLevel’ ist set to ‘None’, of course.
Also, use ‘size_t’ for the buffer size.
network plugin: Use an initialization vector when encrypting packets.
network plugin: Talk about “HMAC-SHA-256” in the documentation and error messages.
network plugin: Use libgcrypt's HMAC implementation rather than rolling our own.
The previously implemented method is simple enough, but apparently pront
to attacks.
The previously implemented method is simple enough, but apparently pront
to attacks.
network plugin: Use SHA-1 instead of SHA-224 to check integrity.
SHA-224 is not supported by older versions of libgcrypt (i. e. the
version included in Debian Etch), so lets take this more conservative
alternative instead.
Also, the padding bytes have been moved to the beginning of the packet
and will be filled with randomness, so they serve as some kind of IV.
It is, however, not guaranteed that any padding bytes exist at all, so
in theory two identical packets could be encrypted in the same way.
SHA-224 is not supported by older versions of libgcrypt (i. e. the
version included in Debian Etch), so lets take this more conservative
alternative instead.
Also, the padding bytes have been moved to the beginning of the packet
and will be filled with randomness, so they serve as some kind of IV.
It is, however, not guaranteed that any padding bytes exist at all, so
in theory two identical packets could be encrypted in the same way.