uname -aRHEL 6.5: 2.6.32-431.el6.x86_64 #1 SMP x86_64 x86_64 x86_64 GNU/Linux
RHEL 7.3: 3.10.0-514.el7.x86_64 #1 SMP x86_64 x86_64 x86_64 GNU/Linux
node_exporter --versionnode_exporter, version 0.14.0 (branch: master, revision: 840ba5dcc71a084a3bc63cb6063003c1f94435a6)
build user: root@bb6d0678e7f3
build date: 20170321-12:12:54
go version: go1.7.5
-web.listen-address=0.0.0.0:9100
no
start node_exporter
I was expecting node_exporter to listen on tcp4 & port 9100
node exporter is listening only on tcp6
Unlike the behavior described in https://github.com/prometheus/node_exporter/issues/264, I have to provide an actual ipv4 address to make node_exporter listen to ipv4 (like 127.0.0.1 which is useless for remote monitoring, or 192.168.0.21 which is not fun).
Please try -web.listen-address=:9100 instead. This seems to be an issue with golang and not node_exporter. I found https://github.com/golang/go/issues/9334 after a short look, there are more relevant issues.
@grobie thank you very much, it works just fine.
I have tried this way before, but netstat was reporting only tcp6 so I never actually tried to connect to the service.
tcp6 0 0 :::9100 :::* LISTEN 20486/node_exporter
Here is an explanation for that: https://unix.stackexchange.com/questions/237731/why-are-ipv4-tcp-connections-showing-as-tcp6/237747#237747
Most helpful comment
Please try
-web.listen-address=:9100instead. This seems to be an issue with golang and not node_exporter. I found https://github.com/golang/go/issues/9334 after a short look, there are more relevant issues.