title: Monitoring multiple java web applications and services
body: <p>We have multiple java web applications and processes that are deployed on a server. we would like to find a mean to easily monitor these applications and check their status remotely. by motoring we mean the following :</p>
  
  <ol>
  <li>Check if the websites are up, send notifications by email otherwise.</li>
  <li>Easily access or display logs in real-time that are located in different places on our servers. Send emails when exceptions occurred and are logged</li>
  <li>Issue commands and run scripts that are located on our servers. the os of the server is linux. commands could be like restart tomcat...</li>
  <li>? not sure if there are other ideas about monitoring</li>
  </ol>
  
  <p>My question is that is there any application that is already available that provide such functionalities or some of them? if not do you know what API can be used to build such applications (in JAVA).</p>
  
  <hr>
  
  <p><strong>UPDATE:</strong>
  The tool should be free</p>
  
  <p>Thanks in advance for any help!</p>