Kemp load master and blank page


(Francis Kayiwa) #1

Not sure if this is a a graylog2 problem or a kemp loadmaster one but hope someone can point me in the right direction. We have the following set up.

vm{0,1,2}

  • graylog-server
  • elasticsearch
  • mongo

When we run a reverse proxy on
vm2
We are able to get to the graylog web server UI.

We would like to have all these behind a kemp load balancer. When we get to the landing page in this case the page is blank. Is there a way to debug on graylog to determine where things are failing?

This is the result from httpie

awstest master % http https://our.domain.edu
HTTP/1.1 200 OK
Content-Encoding: gzip
Content-Type: text/html
Date: Wed, 22 Mar 2017 17:27:15 GMT
Host: $http_host;
Transfer-Encoding: chunked
X-Forwarded-For: $proxy_add_x_forwarded_for;
X-Graylog-Node-ID: 096b0c21-ba0f-47ec-bf51-69714245c40e
X-Graylog-Server-URL: https://our.domain.edu/api;
X-UA-Compatible: IE=edge

<!DOCTYPE html>
<html>
  <head>
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="robots" content="noindex, nofollow">
    <meta charset="UTF-8">
    <title>Graylog Web Interface</title>
    <link rel="shortcut icon" href="/assets/favicon.png">

  </head>
  <body>
    <script src="/config.js"></script>
    <script src="/assets/vendor.js"></script>

    <script src="/assets/polyfill.9f581fc7167d550338b4.js"></script>

    <script src="/assets/plugin/org.graylog.plugins.pipelineprocessor.ProcessorPlugin/plugin.org.graylog.plugins.pipelineprocessor.PipelineProcessorPlugin.b14de9060a6b59e4c9f6.js"></script>

    <script src="/assets/plugin/org.graylog.plugins.map.MapWidgetPlugin/plugin.org.graylog.plugins.map.MapWidgetPlugin.9cb90c0c3262cbaf9ced.js"></script>

    <script src="/assets/plugin/org.graylog.plugins.enterprise_integration.EnterpriseIntegrationPlugin/plugin.org.graylog.plugins.enterprise_integration.EnterpriseIntegrationPlugin.dd00af144416875ab3e1.js"></script>

    <script src="/assets/plugin/org.graylog.plugins.collector.CollectorPlugin/plugin.org.graylog.plugins.collector.CollectorPlugin.4f37aff8ef1a3be6ccde.js"></script>

    <script src="/assets/app.9f581fc7167d550338b4.js"></script>

  </body>
</html>

The kemp loadbalancer does layer7 which we felt would need to closely mirror HAProxy examples.


(Jochen) #2

Are there any errors in the Developer Console of your web browser when opening https://our.domain.edu?



https://msdn.microsoft.com/library/en-us/gg589530(v=vs.85).aspx


(Francis Kayiwa) #3

I get this error on Mozilla FF

SyntaxError: expected expression, got '<'[Learn More]  config.js:1
SyntaxError: expected expression, got '<'[Learn More]  vendor.js:1
SyntaxError: expected expression, got '<'[Learn More]  polyfill.9f581fc7167d550338b4.js:1

and similar one on Chromium

config.js:1 Uncaught SyntaxError: Unexpected token <
vendor.js:1 Uncaught SyntaxError: Unexpected token <
plugin.org.graylog.plugins.pipelineprocessor.PipelineProcessorPlugin.b14de9060a6b59e4c9f6.js Failed to load resource: net::ERR_EMPTY_RESPONSE
polyfill.9f581fc7167d550338b4.js:1 Uncaught SyntaxError: Unexpected token <
plugin.org.graylog.plugins.map.MapWidgetPlugin.9cb90c0c3262cbaf9ced.js Failed to load resource: net::ERR_EMPTY_RESPONSE
plugin.org.graylog.plugins.enterprise_integration.EnterpriseIntegrationPlugin.dd00af144416875ab3e1.js Failed to load resource: net::ERR_EMPTY_RESPONSE
plugin.org.graylog.plugins.collector.CollectorPlugin.4f37aff8ef1a3be6ccde.js Failed to load resource: net::ERR_EMPTY_RESPONSE
app.9f581fc7167d550338b4.js:1 Uncaught SyntaxError: Unexpected token <

Thank you!


(Jochen) #4

The Host: $http_host; header looks wrong and the X-Graylog-Server-URL header should be added to the HTTP requests, not to the responses.

Please refer to http://docs.graylog.org/en/2.2/pages/configuration/web_interface.html for a working nginx configuration.


(Francis Kayiwa) #5

Thanks again for catching the header problems. I’ve made your suggested changes with no change in the developer console error.

docnow master % http https://our.domain.edu
HTTP/1.1 200 OK
Content-Encoding: gzip
Content-Type: text/html
Date: Fri, 24 Mar 2017 13:24:33 GMT
Transfer-Encoding: chunked
X-Graylog-Node-ID: 8256cfed-bef0-4668-9bf9-46e1486c8cd5
X-UA-Compatible: IE=edge

As I suspected it is something on the loadmaster appliance.


(Jochen) #6

What’s the content of https://our.domain.edu/config.js?


(Francis Kayiwa) #7

hey thanks. Not sure I understand your question, but it renders a blank page which is impossible to view source on.


(Jochen) #8

This hints to problems with your load balancer (or proxy server). You should check its (their?) configuration again.

Also make sure that Graylog works without load balancer (or proxy server) in front.


(Francis Kayiwa) #9

heya,

thanks. Illness and travel has kept me from responding. Connecting directly to the node on https://node1.domain.edu:9000/api/ results in

{"cluster_id":"f55288a6","node_id":"8256cf","version":"2.2.3+7adc951","tagline":"Manage your logs in the dark and have lasers going and make it look like you're from space!"}

Thanks for any help you can provide. From the Load Balancer traffic we see succesful handshake and even see app data being passed between the load balancer and node. It just seems to send back CSS to render the pages.

Cheers


(Francis Kayiwa) #10

The backend needed

HEAD /api/system/lbstatus

I had GET.