0

We have a Kibana 5.5.2 installation on Centos 7 with many dashboards configured, all works great connecting to IP:5601.

A customer asked us to let his own dashboard be reachable under a specific hostname. We tried a lot of configurations trough Apache and Nginx proxy but we didn't succeed.

Here you are more details:

  • customer wants to go to something like http://dasboard.customer.com and see the dashboard in embedded mode (full screen). The url must stay "static" (no context or values appended behind .com)
  • we configured Apache to proxy this Virtual Host towards the specific "snapshot short url" given by Kibana (the one with the
    /goto/some-alphanumeric-code context), but we get lots of Kibana
    errors or 404 (maybe a lot of resources get lost and not remapped with that kind of proxyPass)

    ProxyPass / http://10.10.102.4:5601/goto/be563e821f356144222a28b348e48a2d?embed=true nocanon

Could someone give us any tip or example? Ask me if you need extra infos.

Thanks a lot!

2 Answers 2

0

So I had the same issue. We wanted to show some dashboards in a portal application that was exposed publicly but kibana sat in a private subnet that you could only access from that server the portal was on or via VPN if you were a user.

So my nginx config looked like

resolver 10.10.0.2;
set $kibana_endpoint https://kibana.prod.domain.com;

You needed the resolver line for the set to work if I remember correctly. That needs to be your dns server. Its probably not needed if you use IP and

We then created a URI for the dashboard we wanted to show which was

#
# allows non-vpn users to see API dashboard
location /view/platform/ {
    rewrite ^/view/platform/(.*) /$1 break;
    proxy_pass $kibana_endpoint;
}
3
  • Thanks Mike, I'll try that in the next few days. Just to clarify, how was the dashboard linked in your portal? I mean, which was the exposed URI to get to the dashboard? As I understand from nginx config, it was probably something like portal.domain.com/view/platform. I'm confused on how to refer to a specific dashboard only.
    – shortsteps
    Nov 26, 2017 at 9:13
  • ya if you hit portal.domain.com/view/platform it would then proxy back to the kibana dashboard and display it on the portal. If I remember we used an iframe for it to just show the dashboard embeded in the page.
    – Mike
    Nov 26, 2017 at 13:21
  • Ok, thanks. I would have preferred to hit portal.domain.com and get to the specific dashboard with the URI unchanged, but I don't know if it is even possible... Would it make sense to use location /? Anyway, I'll let you know. We've already tested the iframe possibility, and it would solv our issue, but some modern browsers complain about security in iframes. Isn't it?
    – shortsteps
    Nov 26, 2017 at 16:24
0

As @Mike suggested in his second comment, in the end I simply used an iframe exposed by Apache.

In /var/www/html/index.html:

<html>
<head>
  <style>
    body {
      margin: 0;
    }

    iframe {
      max-width: 100%;
      width: 100%;
      height: 100%;
      overflow: hidden;
      border: none;
      margin: auto;
    }
  </style>
</head>
<body>
  <iframe
    src="https://localhost:5601/goto/59a0cd9d5b20600031114818b6ac0dd5?embed=true"
    scrolling="yes"
  ></iframe>
</body>
</html>

If using CA signed SSL certificates (and no self-signed), browsers don't complain about iframes.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .