I am trying to use elasticsearch for search functionality in my website. I have setup elasticsearch in my local development environment and it works fine.
I have setup the elasticsearch on Ubuntu Linux machine as given here
I have opened endpoints (ports) 9200 and 9300 on the Linux elasticsearch server.
I have created a virtual network and my website and this elasticsearch server are in the same virtual network.
I am able to connect to my Linux elasticsearch server from my local machine using a public IP.
I could not connect to Linux elasticsearch server from my Azure website either from internal IP like 10.0.0.4 and configured public IP.
I want to check whether connecting to elasticsearch port 9200 from Azure website is possible or not? Also please suggest a way to check existing configuration to troubleshoot the Azure website to elasticsearch connectivity issue.
It is definitely possible. We do it for audit logging and event logging from both azure websites and cloud services.
In the above article I mentioned, it says it is not possible, I tried but could not connect. There is something called hybrid connection but that can be setup only for windows servers. Here is the line that is mentioned in this article
http://code972.com/blog/2014/07/74-the-definitive-guide-for-elasticsearch-on-windows-azure
"Unfrotunately, Azure Websites do not currently support running on a Virtual Network, meaning you can only deploy websites as a Cloud Service if you want them to access the cluster this way."
I checked few more blog posts and found such comments. So, I have given up using Linux server and taken a Windows 2012R2 searver, configured elasticsearch and was able to access elasticsearch cluster now.
If anybody has a solid information on how to connect Azure website to Linux VM please give me links or steps.
Related
I am working on a task to deploy ElasticSearch as an azure cloud service with 3 Master + Data Nodes and Kibana 4 as an Azure Website. The ES (2.3.1) service is active and I get the green health status on Chrome sense on retreiving health of ES cluster.
I have used the Kibana 4 binaries in https://github.com/iremmats/kibana4-azure-website for creating a json application that can be deployed as Azure website. The json application that I have created along with configuration for server.js, kibana.yml runs successfully on local VS using node.exe and I am able to discover my ES instance indices on it. However, the moment I deploy this nodejs application to Azure Website and attempt to browse Kibana 4 on Azure website I get Kibana: Bad Gateway exception. Looking into the network timeline of azure website hit, it throws HTTP 502 error on attempting to connect with ElasticSearch cloud service instance.
Below is network timeline screen shot.The IP address mentioned is the IP address of ES cloud service.
Kibana Bad Gateway error and network timeline
It seems that the issue was caused by Azure virtual network configuration for your ElasticSearch cloud service.
I think you may try to do two ways below for the configuration.
Adding a new endpoint for the cloud services to allow the inbound access for port 9200 at the endpoint setting on Azure portal.
Following the article How to manage NSGs using the Azure portal to configure the access rules for subnets in your virtual network between the website and cloud services.
However, I think it's not necessary for integrating the independency Kibana instance with the ElasticSearch instances. In fact, Azure has supplied the Elasticsearch and Kibana integration environment in the Azure Marketplace that you can directly create without any additional configuration. Please try to access the url https://ms.portal.azure.com/#blade/Microsoft_Azure_Marketplace/GalleryFeaturedMenuItemBlade/selectedMenuItemId/home/searchQuery/Elasticsearch%20and%20Kibana/resetMenuId/ to see it, or search the words "Elasticsearch and Kibana" in the search bar of Azure Marketplace to find it.
Any concern, please feel free to let me know.
I have a cassandra cluster on Azure and a nodejs websites using "node-cassandra-cql" package. It works with on my local machine. When i deploy the nodejs website to Azure websites - I get PoolConnectionError.
Can I access cassandra on some port from Azure Web Sites or I am restricted to using the managed databases there?
when you say local machine, do you mean your nodejs site is on your local machine and it is able to connect to your cassandra cluster on azure?
Please let us know your azure website name.
I have an Azure Website and it is required to consume an elastic search service that's running on a VM.
Although I need to be able to lock the access to elastic search down so only the Azure Website can access it, I can't seem to work out how to do this using the endpoint configuration on the VM.
Am I looking in the wrong place?
Thanks
Carl
You will need to setup a Hybrid Connection between your Web Site and the VM:
Hybrid Connections create a safe tunnel between your Web Site and a VM for example. The screenshot shows the integration between a Web Site and the corporate network, but this also works for VMs running in Azure.
The only requirement is that you install the Hybrid Connection Manager on your VM. More information:
http://azure.microsoft.com/en-us/documentation/articles/integration-hybrid-connection-overview/
I am trying to setup an ElasticSearch cluster on Azure.
I can access it from localhost, but not from any other machine. What do i have to set my configuration to (in either Azure or ElasticSearch config) to allow another cloud app to connect to my instance?
It turns out that Windows Firewall was blocking my port (9200) on the VM.
Going into windows firewall and enabling it fixed the problem.
Hi guys,
i created sql server database in windows azure. after i integrate this database with my application its working fine.i want to move my application also windows azure virtual machine.i created required Environment(means install java and tomcat) for this.and also allow the ip address in azure sql server database also.but it showing
Connect open connection error
while connecting database.i also allow the port number in wirewall settings but still i am not able to connect database.
please give any suggestions.
From your question it is a little bit unclear which database you're using -
If you're using 'Windows Azure SQL Database' (i.e. the PaaS version), than you need to ensure that your server's firewall, through the Windows Azure Management Portal, is configured to allow Windows Azure Services and then, of course, you need to use the fully qualified name of the server when trying to connect (i.e. ABCD.database.windows.net)
If you have deployed SQL Server as a VM on IaaS you have two options - either define an endpoint for the VM to open port 1433 (or any other port mapped to 1433 for that matter) to the outside world and then use the cloud service's DNS entry to connect to the database or define a virtual network onto which you will deploy both your database VM and your application VM. if you do the latter you will be able to refer to the database using it's private IP.
this might be somewhat useful