"_cat/nodes" API reports "transport" IP instead of "http" IP

Hi,

I have a 2-nodes cluster with this setup for the networking configuration :

http.host: [_local_,_ens192_]
http.port: 9200

transport.host: [_ens161_]
transport.port: 9300

And here is my network setup :

# ip -br a
lo               UNKNOWN        127.0.0.1/8
ens161           UP             172.19.4.230/24
ens192           UP             172.19.3.230/24

When I query the CAT API for nodes I get this :

# curl "http://172.19.3.230:9200/_cat/nodes"
172.19.4.231 38 96 2 0.00 0.01 0.00 cdfhilmrstw - host01
172.19.4.230 19 97 3 0.01 0.08 0.08 cdfhilmrstw * host00

The reported IP addresses are for the "transport" network and not the "http" network.
It seems weird since the API is mostly used to understand the state of the cluster and it prevents sniffing for clients or monitoring.

Is it normal?
Is there a way to change this?

Thanks.

You can select the columns you want to display. See cat nodes API | Elasticsearch Guide [8.7] | Elastic

So here, use http:

curl "http://172.19.3.230:9200/_cat/nodes?v&h=n,http"

Thank you David for the solution.
Sorry for not noticing this myself in the docs.

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