8

I have been asked to investigate Oracle Java Mission Control, so that server-side Java applications may be monitored and actions taken (e.g., alerts emitted and logged, flight recordings saved) under certain conditions. Java Mission Control's trigger system, where you specify conditions and actions, meets our needs, but it seems to depend on the GUI application ("Oracle Java Mission Control") being running, implying that triggers are not the monitored JMX server's responsibility. Is this the case? There are a number of servers usually accessed via terminal...

Is there a way of running Java Mission Control as a daemon, from a terminal session, unattended, while retaining and obeying any specified trigger rules (e.g., imported from an XML file)?

If not, are there competing tools with a similar trigger system that can fill the void?

Thanks! :)

2 Answers2

4

Currently no, you can't run JMC without a GUI. You are not the first person that wants to do this.

One option is to run JMC in another machine, and make it connect to many servers, which of course requires running the remote JMX agent etc.

We have been discussing server side triggers/rules, but AFAIK, it is not planned for any JDK release.

It is possible to dump flight recordings from code, so you could write your own little agent that uses the DiagnosticMBean to do this on another JVM on the same machine or on remotely. I'm pretty sure this how some people solve the same sort of problem. It is also possible to parse and analyze flight recordings in code. If you're interested in this approach, I'm sure there's some sample code around, of course it's more work than if JMC could run as a daemon :/

Klara
  • 2,935
  • 22
  • 19
  • Damn. :( Are you aware of competing tools with a similar trigger system that could fill the void "painlessly"? I updated the initial question now. – bernardo.m.luz May 13 '16 at 13:42
0

You should probably have a look at an APM tool instead of monitoring with JMC. The product is extremely weak, introduces a lot of overhead (making it unsuitable for production) and creates a lot of issues. There are also developer focused tools available out there.

APM : AppDynamics (deepest of the bunch), New Relic, Ruxit Java Developer Tools : Takipi, Fusion Reactor, Javosize

Jonah Kowall
  • 577
  • 2
  • 7