Monitoring
Monitoring tramite RHQ
RHQ è un progetto della famiglia di JBOSS , una
suite che fornisce degli ottimi strumenti anche per il
monitoring e l’alarming. A tale scopo integra dentro
di se le potenzialità di JOPR.
Si basa su una architettura server / agent
Necessita di un database ( abbiamo utilizzato
Postgres perché consigliato e testato) nel quale il
server memorizza tutte le statistiche che raccoglie
dai vari nodi sui quali è presente una istanza di
infinispan.
Monitoring tramite RHQ
Tra i vantaggi vi è la facilità di uso e di configurazione
ma anche il fatto che già fornisce una interfaccia
grafica nella quale è possibile avere l’accesso ad una
serie di statistiche e parametri memorizzati
dinamicamente, prodotti dalla nostra applicazione.
Ogni nodo del cluster possiede il proprio agent . Esso,
una volta rilevato il server, rileva anche tutte le
caratteristiche della macchina sul quale viene lanciato
(hardware e software) e permette di stabilire in base
ad esse diversi tipi di configurazione.
Server -> Agent
Agent -> Server
Agent -> Server
protocollo raw socket porta 16163
protocollo http porta 7080
protocollo https porta 7443
JMX
Questa tecnologia definisce gli aspetti legati alla
comunicazione in generale.
- Ogni risorsa è inglobata in un oggetto particolare che in
java prende il nome di Mbean. Ogni Mbean è registrato in un
Mbean server.
- Tramite i cosiddetti “connettori JMX” possiamo accedere
agli agenti JMX da applicazioni remote. Proprio per questo
motivo una applicazione può gestire le risorse in modo
trasparente, indipendentemente dal protocollo di
comunicazione utilizzato.
Inventario
Prima che una risorsa possa essere gestita, deve entrare a far
parte dell’inventario. Possono essere considerate risorse allo
stesso modo sia un sistema operativo, sia un piccolo servizio.
Ecco come appare all’utente
Gerarchia delle risorse
Connesso all’inventario c’è la gerarchia delle risorse, nella
quale si cerca di rappresentare come i processi ed i
programmi sono strutturati nella piattaforma.
La piattaforma comprende i
server di JBoss e Postgres (che
potrebbero avere altre risorse
figlie) ma anche servizi diretti
come le CPU, i filesystems ecc…
La configurazione delle risorse
avviene tramite la console web
di RHQ. Da lì è possibile
aggiungere, rimuovere o
modificare le proprietà della
configurazione
Monitoring 1/2
L’obiettivo principale è la raccolta dei dati relativi alle
misurazioni da ognuna delle risorse presenti nell’inventario.
Tali dati vengono utilizzati per rappresentare sia graficamente
sia in forma tabellare lo stato delle risorse nel sistema.
In RHQ, integrato al sottosistema di monitoring vi è anche il
sottosistema di allarme che notifica all’amministratore quando
si raggiungono certi valori limite
Monitoring 2/2
Naturalmente i dati collezionati dipendono dal tipo di server o
di servizio che viene monitorato. Ad esempio se si monitora
una piattaforma linux si possono ottenere info riguardanti
- la memoria totale, libera, condivisa, utilizzata
- info riguardanti la CPU ecc…
Se si monitora una istanza di un server Tomcat, si possono
invece ottenere dei dettagli come
- il numero dei thread attivi
- la memoria totale della JVM
- il tempo di un processo in memoria condivisa
-…
x abilitare il monitoring nella nostra applicazione…
1
Nelle proprietà di avvio dell’applicazione abbiamo dovuto specificare i
seguenti comandi :
- Dcom.sun.management.jmxremote.port=6996 –
- Dcom.sun.management.jmxremote.ssl=false - Dcom.sun.management.jmxremote.authenticate=false
2
Modifica al file di configurazione .xml
Nel tag <default> specificare <jmxStatistics enabled="true"/>
Tale parametro specifica che le statistiche della cache vengono raccolte e
gestite tramite l’uso della tecnologia JMX
Nel tag <global> avviene una cosa molto simile ma stavolta si considerano
le statistiche globali, ovvero le statistiche che riguardano tutte le cache
appartenenti allo stesso cache manager. Per far ciò è sufficiente
specificare :
<globalJmxStatistics enabled="true“ jmxDomain = “infinispan”/ >
Scarica

MILAN MERDA