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