JMX - именно то, что вы хотите.
Что касается количества клиентов, к которым вы можете подключиться, я думаю, что для его частей мониторинга вам действительно нужно будет получать данные от удаленных клиентов не чаще, чем каждые несколько секунд, верно?
Я не уверен, существует ли уже решение, которое позволит вам контролировать N клиентов, а также контролировать их, так что вы, вероятно, захотите что-то разработать самостоятельно - взаимодействие с удаленными MBean-компонентами с помощью кода JMX кажется тривиальным, что затем превращает это в упражнение в возможности написать программу, которая может одновременно успешно взаимодействовать с 400 узлами.