How to setup external access to my Azure VM running Kibana on port 5601?

I am currently running a Azure VM on which I have installed ElasticSearch, Kibana and Filebeat. The idea is to have a reporting/dashboarding capability for log files which are also stored on the same VM.

Installation of the VM and this part of the ELK stack has been successful. I have also configured the Azure connectivity so that the Kibana 5601 is accessible externally (or at least that's what I think ;)). When running a Azure diagnostics it shows a green light for the connectivity to the VMs IP adrress and 5601 port. I also believe I have I have configured the Elastic and Kibana config files the right way:

  • For both Elastic Search and Kibana I am running version 7.6.2.
  • Elastic has not been changed from the standard and shows a local host address.
  • Kibana shows the 5601 port and public IP address that was given by the Azure Portal.
  • Within Azure I have 'connected' the puplic IP address to the private IP address of the network adapter.

When I try to access Kibana through a RDP session on the VM's Chrome browser, all is fine. Obviously I use the local IP address and port within the RDP environment. When I try to log in on on an external device using the public IP address and Kibana port 5601 there is no connection.

Does anybody have an idea how to solve this issues, which seems to be connectivity related?

What are you using in the kibana.yml as server.host?
You should use the IP address that Azure has given you. if you're using localhost you should change it to 0.0.0.0 which is routable afaik and check the port forwarding settings in your Azure config (haven't used it until now, so can't really give you pointers on where to look there)

I have tried both the private IP address from Azure and the 0.0.0.0 address. Both didn't work.
Or are you suggesting I should use the public address?

0.0.0.0 should work and then you should be able to access it from the public IP. That's how it works on EC2, so it should be the same for Azure. You can try accessing something else, like a nginx server to check that your publicip works properly..

And can you please confirm the other settings:

elasticsearch.yml

  • network.host: "localhost"
  • http.port: 9200
  • cluster.initial_master_nodes: ["10.0.0.4"]

Note: The setting for the cluster.initial_master_nodes variable I got from the blog: https://logz.io/blog/install-elk-stack-azure/. The IP address is the private IP address.

kibana.yml:

That looks good to me. Kibana should be able to communicate with ES via the local connection.

Have now checked everything a couple of times on both the Azure VM side, ES and Kibana. I must be overlooking somehting as I can't reach the port 5601 on the Azure public address. And internally the public IP is connected to the private IP of the NIC.
Do you maybe have any other suggestions?

OK. This was too silly and think good to mention. I solved the issue with opening the 5601 port on the Azure firewall. Very basic and overlooked...

1 Like

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.