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