Querying Elasticsearch Remotely


(Ninjada) #1

Have recently updated to latest ES along with Logstash & Kibana latest. I was previously running a script from an external server that would search an IP list in elasticsearch. Since updating the script hasn't been able to connect properly and I can't seem to troubleshoot it.

the ES port 9200 is firewalled down to two servers, but im only receiving the following:

curl -XGET http://myserver.com:9200/_count?pretty
curl: (52) Empty reply from server

The same works fine to the old server eg.

curl -XGET http://myserver.old:9200/_count?pretty
{
"count" : 198372412,
"_shards" : {
"total" : 33,
"successful" : 33,
"failed" : 0
}
}

I assumed it might be an elasticsearch config option such as the network.bind.host or network.publish.host but I've tried every combo of network.bind.host and the latter seems to be cluster specific and I only have a single node.

What needs to be set for elasticsearch 2.x to respond remotely to search queries?


(Mark Walkom) #2

Check out Connectivity issues with a new/upgraded 2.X cluster? Read here first :)


(Ninjada) #3

thanks man. was using the ec2 discovery stuff for network.bind.host: ec2:ipv4 -- seems this should now be network.bind_host: ec2:ipv4

it works remotely but then elasticsearch cant connect locally. unfortunately, I can't seem to get elasticsearch to work locally & remotely at the same time, ie. localhost and be queryable remotely via it's eth0/public IP

can't workout the config setting for this?


(Mark Walkom) #4

Try network.host: 0.0.0.0.


(Ninjada) #5

oh doh! that works, thanks man!


(system) #6