0

I have 2 kvm virtualised servers. Each has a internet-facing ens3 and a ens6 interface for a VLAN bet ween the hosts. I'm running Ubuntu 18.04.

I have configured the interfaces via netplan.

network:
  version: 2
  renderer: networkd
  ethernets:
    ens3:
      dhcp4: yes
    ens6:
      dhcp4: no
      addresses: [10.0.0.10/24]

The other machine has 10.0.0.20/24.

One machine runs multiple services and the other run runs Prometheus. I have setup node_exporter on both machines and listen on the privates networks ip address. I can ping from one machine to the other also connect via ssh between them. It seems connectivity works in general.

I can even curl the node_exporter from the second machine

curl http://10.0.0.10:9100 -v
* Rebuilt URL to: http://10.0.0.10:9100/
*   Trying 10.0.0.10...
* TCP_NODELAY set
* Connected to 10.0.0.10 (10.0.0.10) port 9100 (#0)
> GET / HTTP/1.1
> Host: 10.0.0.10:9100
> User-Agent: curl/7.58.0
> Accept: */*
> 
< HTTP/1.1 200 OK
< Date: Mon, 31 Dec 2018 09:00:42 GMT
< Content-Length: 150
< Content-Type: text/html; charset=utf-8
< 
<html>
            <head><title>Node Exporter</title></head>
            <body>
            <h1>Node Exporter</h1>
            <p><a href="/metrics">Metrics</a></p>
            </body>
* Connection #0 to host 10.0.0.10 left intact

The issue now comes when actually trying to pull the metrics:

curl http://10.0.0.10:9100/metrics -v
*   Trying 10.0.0.10...
* TCP_NODELAY set
* Connected to 10.0.0.10 (10.0.0.10) port 9100 (#0)
> GET /metrics HTTP/1.1
> Host: 10.0.0.10:9100
> User-Agent: curl/7.58.0
> Accept: */*
> 
^C

The connection simply hangs.

When doing the same curl command from the other machine itself, it works as expected. I also tried binding the node_exporter to 0.0.0.0. This also works, I can fetch the metrics through the servers public ip address.

I'm confused that a call to http://10.0.0.10:9100 works but not to http://10.0.0.10:9100/metrics. No errors or anything in my logs. Any idea what could be the reason for this?

soupdiver
  • 797
  • 2
  • 8
  • 26

1 Answers1

1

Depending on the VLAN implementation it can be that you need to lower your MTU.

Try to lower the MTU of the interfaces to 1400 like this:

ifconfig ens6 mtu 1400
knutsel
  • 136
  • 3