2016-05-12 13 views
8

Mi è stato chiesto di indagare su Oracle Java Mission Control, in modo che le applicazioni Java lato server possano essere monitorate e le azioni intraprese (ad esempio avvisi emessi e registrati, registrazioni di voli salvati) in determinate condizioni. Il sistema di trigger di Java Mission Control, in cui si specificano condizioni e azioni, soddisfa le nostre esigenze, ma sembra dipendere dall'applicazione GUI ("Oracle Java Mission Control") in esecuzione, implicando che i trigger non sono responsabilità del server JMX monitorato. È questo il caso? Ci sono un certo numero di server normalmente accessibili tramite terminale ...Daemon basato su riga di comando per Java Mission Control? Alternative?

Esiste un modo per eseguire Java Mission Control come daemon, da una sessione terminale, senza supervisione, pur mantenendo e rispettando le regole di trigger specificate (ad esempio, importate da un file XML)?

In caso contrario, esistono strumenti concorrenti con un sistema di trigger simile che può riempire il vuoto?

Grazie! :)

risposta

4

Attualmente no, non è possibile eseguire JMC senza una GUI. Non sei la prima persona che vuole farlo.

Una possibilità è quella di eseguire JMC in un'altra macchina, e renderlo connettersi a molti server, che ovviamente richiede l'esecuzione l'agente remoto JMX ecc

abbiamo discusso lato server trigger/regole, ma per quanto ne so, non è previsto per nessuna versione di JDK.

È possibile scaricare le registrazioni di volo dal codice, in modo da poter scrivere il proprio piccolo agente che utilizza DiagnosticMBean per eseguire questa operazione su un'altra JVM sullo stesso computer o in remoto. Sono abbastanza sicuro che alcune persone risolvano lo stesso tipo di problema. È anche possibile analizzare e analizzare le registrazioni di volo nel codice. Se sei interessato a questo approccio, sono sicuro che ci sia del codice di esempio, ovviamente è più lavoro che se JMC possa essere eseguito come un demone:/

+0

niente. :(Sei a conoscenza di strumenti concorrenti con un simile sistema di innesco che potrebbe riempire il vuoto "senza dolore"? Ho aggiornato la domanda iniziale ora. –

0

Probabilmente dovresti dare un'occhiata a uno strumento APM invece di monitoraggio con JMC. Il prodotto è estremamente debole, presenta molti overhead (rendendolo inadatto alla produzione) e crea molti problemi. Ci sono anche strumenti focalizzati sugli sviluppatori disponibili là fuori.

APM: AppDynamics (più profondi del grappolo), New Relic, Ruxit Java Developer Tools: Takipi, Fusion Reactor, Javosize