_nodes/http info missing lots of info

0

The Elasticsearch client for golang uses info derived from the follow ES api call:

GET /_node/http
https://www.elastic.co/guide/en/elasticsearch/reference/current/cluster-nodes-info.html

Normally this call returns lot of information about the node including IP address but when making the call to the AWS service this information is missing. This causes the golang client to fail to be able to discover any nodes. Here are two examples which highlight the problem:

regular node i have running locally:
curl "http://localhost:9200/_nodes/http?pretty"
{
"_nodes" : {
"total" : 1,
"successful" : 1,
"failed" : 0
},
"cluster_name" : "docker-cluster",
"nodes" : {
"hnsnurlLTG2-XbBQFyYg9w" : {
"name" : "16c3f8d15864",
"transport_address" : "172.25.0.4:9300",
"host" : "172.25.0.4",
"ip" : "172.25.0.4",
"version" : "7.8.0",
"build_flavor" : "default",
"build_type" : "docker",
"build_hash" : "757314695644ea9a1dc2fecd26d1a43856725e65",
"roles" : [
"data",
"ingest",
"master",
"ml",
"remote_cluster_client",
"transform"
],
"attributes" : {
"ml.machine_memory" : "25225474048",
"xpack.installed" : "true",
"transform.node" : "true",
"ml.max_open_jobs" : "20"
},
"http" : {
"bound_address" : [
"0.0.0.0:9200"
],
"publish_address" : "172.25.0.4:9200",
"max_content_length_in_bytes" : 104857600
}
}
}
}

AWS equivalent:
curl -XGET https://vpc-address....amazonaws.com/_nodes/http?pretty
{
"_nodes" : {
"total" : 3,
"successful" : 3,
"failed" : 0
},
"cluster_name" : "XXX",
"nodes" : {
"8oxT_9maSMif5iXoQptpKA" : {
"name" : "d026e0070020663bdd93028c2c801292",
"version" : "7.7.0",
"build_flavor" : "oss",
"build_type" : "tar",
"build_hash" : "unknown",
"roles" : [ "ingest", "master", "data", "remote_cluster_client" ]
},
"8joBdfy6Q-aULryA3aP00w" : {
"name" : "3992f18f3b80c28fbb6d5b5624c4bdfe",
"version" : "7.7.0",
"build_flavor" : "oss",
"build_type" : "tar",
"build_hash" : "unknown",
"roles" : [ "ingest", "master", "data", "remote_cluster_client" ]
},
"2v572nbWQK6zrXmwGUiRmQ" : {
"name" : "41d42ffdc2fdaf9c7a425e29c6ba92d6",
"version" : "7.7.0",
"build_flavor" : "oss",
"build_type" : "tar",
"build_hash" : "unknown",
"roles" : [ "ingest", "master", "data", "remote_cluster_client" ]
}
}
}

Obviously there are going to be some differences local Vs AWS with things like plugins but returning the actually http information seems pretty fundemental no?

biffta
已提问 3 年前272 查看次数
1 回答
0

The information is deliberately hidden because the IPs are private and as such would not be useful to any clients trying to retrieve them. Most cloud providers, including AWS, provide a loadbalancer instead. More information here:

https://www.elastic.co/blog/elasticsearch-sniffing-best-practices-what-when-why-how

biffta
已回答 3 年前

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则