we have 2 nodes elk cluster running. on the client server side, we point some of the servers to node 1, some to node 2, so far I dont have way to see whether the distribution is balanced or not.
I suggest you point all Logstash instances to all ES instances. Recent Logstash versions will automatically distribute requests across the specified servers.
is there other ways to monitor the loading on each node?
Marvel? Plus system monitoring tools like collectd, of course. Note that all shards receiving data will carry out the same work, so if your two-node cluster has one replica of all indexes I don't see how it would make much difference which node you connect to. (Also, you do know that two-node clusters are prone to split brain situations unless you only allow one of the nodes to be master?)