title: Java-based monitoring application
body: <p>Imagine the next architecture:</p>
  
  <ol>
  <li>We have Java application over Spring framework (let's call it Manager).</li>
  <li>It accepts requests and can launch other applications to handle them (let's call them Containers). These Containers exists for a long time. They has rather complex structure and consist of several  different applications, but they have control part, written in C++ and bash scripts. Expected number is about 2000 on 8 CPU cores.</li>
  <li>We have monitoring Heartbeat application (also Java over Spring). Data be should somehow get from those Containers (on CPU, Memory, Bandwidth usage, versions) and from Manager and aggregated. Aggregated data are sent somewhere further by Heartbeat on regular basis.</li>
  </ol>
  
  <p>What are your advices on implementing such thing? Please, provide point-outs to some frameworks or open sources addressing similar problem or some general considerations from your experience.</p>
  
  <p>[UPDATE] </p>
  
  <ul>
  <li>Target OS: Solaris</li>
  <li>Mentioned 2000 processes are native applications. Each has its own chroot and runs logged in as a separate user.</li>
  </ul>