Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What is the best way for a Java program to monitor system health? [closed]

I would like to be able to monitor my major system health indicators from inside our Java-based system. Major points of interest include CPU temperature, motherboard temperature, fan speed, etc.

Is there a package available that:

  1. Makes this sort of data available to Java?
  2. Works on Windows or Linux or both?
  3. Is open / free / cheap?
like image 261
Bob Cross Avatar asked Sep 22 '08 19:09

Bob Cross


People also ask

What is monitoring in Java?

Monitor in Java Concurrency is a synchronization mechanism that provides the fundamental requirements of multithreading namely mutual exclusion between various threads and cooperation among threads working at common tasks. Monitors basically 'monitor' the access control of shared resources and objects among threads.

Which of the following is a Java monitoring tool?

JavaMelody JavaMelody is a free and open source APM tool designed to monitor Java or Java EE applications in QA and production environments.

How do you analyze Java performance?

Using VisualVM (jvisualvm) jvisualvm is a tool to analyse the runtime behavior of your Java application. It allows you to trace a running Java program and see its the memory and CPU consumption. You can also use it to create a memory heap dump to analyze the objects in the heap.


1 Answers

The closest thing you'll find is the Hyperic Sigar library:

http://www.hyperic.com/products/sigar.html

It doesn't get down to temperatures AFAIK but does show you a number of native stats like CPU, memory, disk I/O, network I/O, etc. It's ported to most of the architectures people are deploying Java on today. License is GPL although I think you can buy commercial licenses as well.

We use Sigar with Terracotta for cluster monitoring and have been very happy with it.

like image 127
Alex Miller Avatar answered Oct 19 '22 15:10

Alex Miller