Listening on Mulitple IPs
Hi,
My Xymon server has 3 IP addresses that I want to spread out my incoming status messages on. I did not use the --listen so that xymond would come up to use 0.0.0.0:1984 and netstat shows it listening on 0.0.0.0:1984, but when I look at the network traffic 99.9% of it is on eth0.
My client servers are using the dns entry of the Xymon server and dns has all 3 IP addresses of the Xymon server associated correctly.
Any suggestions of what I may be doing wrong on the client or server?
Christopher Ahrens Macy's Systems & Technology Off: (440) 233-7162 x3122 chris.ahrens at macys.com
On Fri, Nov 4, 2011 at 5:23 AM, Chris Ahrens <chris.ahrens at macys.com> wrote:
My Xymon server has 3 IP addresses that I want to spread out my incoming status messages on. I did not use the --listen so that xymond would come up to use 0.0.0.0:1984 and netstat shows it listening on 0.0.0.0:1984, but when I look at the network traffic 99.9% of it is on eth0.
Is that incoming or outgoing or both? I believe outgoing traffic will route via the "primary" interface regardless of the interface on which it arrived, unless you have policy routes in place. So you might have a spread of incoming packets among interfaces, but all outbound packets from a single interface.
My client servers are using the dns entry of the Xymon server and dns has all 3 IP addresses of the Xymon server associated correctly.
Is it possible that your resolver is configured to deliver round-robin records in fixed order? Try an "nslookup" a few times and see if the order of the 3 IP addresses is changing. Also look at the TTL of the records, to see if it's large, because clients might use the same record for a period of time based on the TTL. Also, try "getent hosts <record>" a few times to see if the order is changing, as this will indicate what the stub resolver is giving to resolver clients (such as the Xymon client).
DNS round-robin is very poor for load-balancing. It's not that great for fault-tolerance either. You might try using some kind of interface-based traffic sharing, such as bonding.
Cheers Jeremy
Jeremy Laidman <jlaidman at rebel-it.com.au> wrote on 11/13/2011 10:32:21 PM:
From:
Jeremy Laidman <jlaidman at rebel-it.com.au>
To:
Chris Ahrens <chris.ahrens at macys.com>
Cc:
Xymon at xymon.com
Date:
11/13/2011 10:32 PM
Subject:
Re: [Xymon] Listening on Mulitple IPs
On Fri, Nov 4, 2011 at 5:23 AM, Chris Ahrens <chris.ahrens at macys.com> wrote:
My Xymon server has 3 IP addresses that I want to spread out my incoming status messages on. I did not use the --listen so that xymond would come up to use 0.0.0.0:1984 and netstat shows it listening on 0.0.0.0:1984, but when I look at the network traffic 99.9% of it is on eth0.
Is that incoming or outgoing or both? I believe outgoing traffic will route via the "primary" interface regardless of the interface on which it arrived, unless you have policy routes in place. So you might have a spread of incoming packets among interfaces, but all outbound packets from a single interface.
It was the incoming that wasn't being split up on the different interfaces that I was looking for.
My client servers are using the dns entry of the Xymon server and dns has all 3 IP addresses of the Xymon server associated correctly.
Is it possible that your resolver is configured to deliver round-robin records in fixed order? Try an "nslookup" a few times and see if the order of the 3 IP addresses is changing. Also look at the TTL of the records, to see if it's large, because clients might use the same record for a period of time based on the TTL. Also, try "getent hosts <record>" a few times to see if the order is changing, as this will indicate what the stub resolver is giving to resolver clients (such as the Xymon client).
DNS round-robin is very poor for load-balancing. It's not that great for fault-tolerance either. You might try using some kind of interface-based traffic sharing, such as bonding.
Cheers Jeremy
The DNS was round-robining just fine to all three IP addresses. The server setup is a hot failover and therefore has virtual IP addresses. The admin that built the server had setup all the virutal IPs to eth0 which is why all incoming traffic was showing on that interface. Bonding the interfaces would probably be the best idea but I was just configuring Xymon and couldn't get the person building the server to bond the interfaces.
Thank You, Christopher Ahrens Macy's Systems & Technology chris.ahrens at macys.com
participants (2)
-
chris.ahrens@macys.com
-
jlaidman@rebel-it.com.au