Hi,
I've got a working Ganglia 3.1.7 deployment, but have run into some issues with
configuring the front-end. To paint a picture of my fairly complex setup, I
have a top-level gmetad/apache instance with ldap authentication (top-level
view) which uses several independent gmetad instances (production site tier) as
its data_source. Those gmetad instances also talk to another subset of gmetad
instances (application tier), which talk to another set of gmetad instances
(cluster tier), which talk to another set of gmetad instances (co-location
tier), which finally talk to various gmond aggregators (host tier) that receive
data (unicast) from hosts. Everything is working perfectly in a private
network, using internal ip addresses for the http authority value in the
gmetad.conf files.
My problems started when I decided to take this one-step further and make it
accessible from outside of the private network. I set up a standard tcp http
vip on an F5 BigIP that points to the top-level apache server. I am also
handling ssl certificates for this vip on the BigIP. I am able to access the
Ganglia server's index.php through the vip. I also had to go to all of my
gmetad.conf files and modify the http authority values to use the vip name
rather than the internal ip addresses. However, I noticed when I select a grid
from the "Choose a Source" drop-down, I am presented with the "Cannot find any
metrics for selected cluster...Check ganglia XML tree." My first thought was
that Ganglia assumed I was attempting to access a cluster rather than a grid,
which is incorrect. The web server logs showed this error - "PHP Notice:
Undefined index: XXX in /usr/share/ganglia/meta_view.php on line 71."
I then went to compare the url I was taken to (where I received the error) with
the url I get when everything worked before (with the internal network) and
noticed a significant difference. Using the drop-down internally gave me
"http://ganglia.internal.com/ganglia/gridname/?gw=fwd&gs=Techops%20Ganglia%40http%3A%2F%2Fganglia.internal.com%2Fganglia,"
while using the drop-down through the vip gave me
"https://ganglia.external.com/ganglia/gridname/?r=hour&s=descending&c=https%3A%2F%2Fganglia.external.com%2Fganglia%2Fgridname%2Fother_grid_name%2F."
A huge difference in the arguments that are passed to the server. In the
working internal example, the url knows that I am attempting to access a grid.
In the non-working external example, the url thinks that I am trying to access
a cluster.
I am trying to understand why fronting the web server with a physical
load-balancer and changing the http authority can have such damaging effects.
I tried looking at the php code a little and can only assume that Ganglia is
comparing some value it's receiving from the web server connection (via
headers, etc) and is getting the $context confused. Has anyone seen this
before or have any insight on how to debug? More specific config details can
be provided.
Thanks,
Scott
------------------------------------------------------------------------------
Beautiful is writing same markup. Internet Explorer 9 supports
standards for HTML5, CSS3, SVG 1.1, ECMAScript5, and DOM L2 & L3.
Spend less time writing and rewriting code and more time creating great
experiences on the web. Be a part of the beta today.
http://p.sf.net/sfu/beautyoftheweb
_______________________________________________
Ganglia-general mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ganglia-general