Utili script di amministrazione di WebSphere Application Server

All’interno di IBM WebSphere Application Server (WAS), al momento dell’installazione, sono inclusi più di 125 file di script shell.

Non tutti questi script sono ugualmente utili, e se sei uno studente, potresti non conoscere l’esistenza di alcuni tra quelli più potenti, utili per il lavoro quotidiano.

Ho quindi deciso di elencare alcuni degli script più utili, progettati per semplificare la vita di un amministratore WebSphere.

Gli script che seguono sono stati testati in un ambiente IBM WAS ND 8.5.5, ma non dovrebbero presentare problemi di funzionamento in altri contesti.

Arresto e avvio di Deployment Manager, Node Agent e JVM

stopManager.sh

Questo comando permette di arrestare il Deployment Manager.

[[email protected] bin]# ./stopManager.sh
ADMU0116I: Le informazioni dello strumento vengono registrate nel file
           /opt/IBM/WebSphere/AppServer/profiles/Dmgr01/logs/dmgr/stopServer.log
ADMU0128I: Avvio dello strumento con il profilo Dmgr01
ADMU3100I: Lettura della configurazione per il server: dmgr
ADMU3201I: Richiesta di arresto del server emessa. In attesa dello stato di arresto.
ADMU4000I: Arresto del server dmgr completato.
[[email protected] bin]#

Nota: l’esecuzione deve avvenire dalla directory del profilo DMGR.

startManager.sh

Questo comando permette di avviare il Deployment Manager.

[[email protected] bin]# ./startManager.sh
ADMU0116I: Le informazioni dello strumento vengono registrate nel file
           /opt/IBM/WebSphere/AppServer/profiles/Dmgr01/logs/dmgr/startServer.log
ADMU0128I: Avvio dello strumento con il profilo Dmgr01
ADMU3100I: Lettura della configurazione per il server: dmgr
ADMU3200I: Server avviato. In attesa dello stato di inizializzazione.
ADMU3000I: Il server dmgr è disponibile per l'e-business; l'ID del processo è 9183
[[email protected] bin]#

Nota: l’esecuzione deve avvenire dalla directory del profilo DMGR.

startServer.sh

Per avviare una JVM, è possibile utilizzare `startServer.sh`, specificando il nome del server come nell’esempio seguente.

[[email protected] bin]# ./startServer.sh server1
ADMU0116I: Le informazioni dello strumento vengono registrate nel file
           /opt/IBM/WebSphere/AppServer/profiles/AppSrv01/logs/server1/startServer.log
ADMU0128I: Avvio dello strumento con il profilo AppSrv01
ADMU3100I: Lettura della configurazione per il server: server1
ADMU3200I: Server avviato. In attesa dello stato di inizializzazione.
ADMU3000I: Il server server1 è disponibile per l'e-business; l'ID del processo è 10633
[[email protected] bin]#

Nota: è necessario avviare il Node Agent prima di avviare la JVM.

stopServer.sh

Per arrestare una JVM, è sufficiente eseguire il comando `stopServer.sh` specificando il nome della JVM da arrestare.

[[email protected] bin]# ./stopServer.sh server1
ADMU0116I: Le informazioni dello strumento vengono registrate nel file
           /opt/IBM/WebSphere/AppServer/profiles/AppSrv01/logs/server1/stopServer.log
ADMU0128I: Avvio dello strumento con il profilo AppSrv01
ADMU3100I: Lettura della configurazione per il server: server1
ADMU3201I: Richiesta di arresto del server emessa. In attesa dello stato di arresto.
ADMU4000I: Arresto del server server1 completato. 
[[email protected] bin]#

stopNode.sh

Per arrestare un determinato Node Agent, è necessario accedere al suo profilo ed eseguire `stopNode.sh`.

[[email protected] bin]# ./stopNode.sh
ADMU0116I: Le informazioni dello strumento vengono registrate nel file
           /opt/IBM/WebSphere/AppServer/profiles/AppSrv01/logs/nodeagent/stopServer.log
ADMU0128I: Avvio dello strumento con il profilo AppSrv01
ADMU3100I: Lettura della configurazione per il server: nodeagent
ADMU3201I: Richiesta di arresto del server emessa. In attesa dello stato di arresto.
ADMU4000I: Arresto del server nodeagent completato. 
[[email protected] bin]#

startNode.sh

Per avviare un Node Agent, è necessario accedere al suo profilo ed eseguire `startNode.sh`.

[[email protected] bin]# ./startNode.sh
ADMU0116I: Le informazioni dello strumento vengono registrate nel file
           /opt/IBM/WebSphere/AppServer/profiles/AppSrv01/logs/nodeagent/startServer.log
ADMU0128I: Avvio dello strumento con il profilo AppSrv01
ADMU3100I: Lettura della configurazione per il server: nodeagent
ADMU3200I: Server avviato. In attesa dello stato di inizializzazione.
ADMU3000I: Il server nodeagent è disponibile per l'e-business; l'ID del processo è 11363
[[email protected] bin]#

serverStatus.sh

Per visualizzare lo stato delle JVM, si può utilizzare questo script con l’argomento `–all`.

L’esecuzione deve avvenire a livello del profilo corrispondente. Se eseguito a livello del profilo DMGR, visualizzerà solo lo stato del DMGR stesso.

[[email protected] bin]# ./serverStatus.sh -all
ADMU0116I: Le informazioni dello strumento vengono registrate nel file
           /opt/IBM/WebSphere/AppServer/profiles/AppSrv01/logs/serverStatus.log
ADMU0128I: Avvio dello strumento con il profilo AppSrv01
ADMU0503I: Recupero dello stato del server per tutti i server
ADMU0505I: Server trovati nella configurazione:
ADMU0506I: Nome server: nodeagent
ADMU0506I: Nome server: server1
ADMU0508I: Il Node Agent "nodeagent" è AVVIATO
ADMU0508I: L'Application Server "server1" è AVVIATO
[[email protected] bin]#

Ripristino del backup

backupConfig.sh

Una delle competenze fondamentali nel supporto alla produzione è saper eseguire un backup. Quando si verificano malfunzionamenti, il backup è un valido aiuto.

Questo script permette di eseguire un backup della configurazione dell’ambiente WebSphere. Come buona pratica, si consiglia di utilizzare l’argomento `–nostop`, in modo da effettuare il backup senza dover arrestare il Deployment Manager.

[[email protected] bin]# ./backupConfig.sh -nostop
ADMU0116I: Le informazioni dello strumento vengono registrate nel file
           /opt/IBM/WebSphere/AppServer/profiles/AppSrv01/logs/backupConfig.log
ADMU0128I: Avvio dello strumento con il profilo AppSrv01
ADMU5001I: Backup della directory di configurazione
          /opt/IBM/WebSphere/AppServer/profiles/AppSrv01/config nel file
           /opt/IBM/WebSphere/AppServer/profiles/AppSrv01/bin/WebSphereConfig_2015-04-12.zip
....................................................................................................................................................................................................................................................................
ADMU5002I: Backup completato con successo per 933 file
[[email protected] bin]#

restoreConfig.sh

Se la configurazione è stata modificata e le cose non funzionano come previsto, è possibile ripristinare la configurazione precedente tramite il file di backup.

[[email protected] bin]# ./restoreConfig.sh WebSphereConfig_2015-04-12.zip -nostop
ADMU0116I: Le informazioni dello strumento vengono registrate nel file
           /opt/IBM/WebSphere/AppServer/profiles/AppSrv01/logs/restoreConfig.log
ADMU0128I: Avvio dello strumento con il profilo AppSrv01
ADMU5502I: La directory /opt/IBM/WebSphere/AppServer/profiles/AppSrv01/config
           esiste già; la rinomino in
           /opt/IBM/WebSphere/AppServer/profiles/AppSrv01/config.old
ADMU5504I: Ridenominazione della posizione di ripristino avvenuta con successo
ADMU5505I: Ripristino del file WebSphereConfig_2015-04-12.zip nella posizione
           /opt/IBM/WebSphere/AppServer/profiles/AppSrv01/config
.........................................................................................................................................................................
ADMU5506I: Ripristino completato con successo per 933 file
ADMU6001I: Inizio preparazione app -
ADMU6009I: Elaborazione completata.
ADMU6002I: Inizio preparazione asset -
ADMU6009I: Elaborazione completata.
[[email protected] bin]#

Ti sta piacendo? Scorri in basso per altre funzionalità!

Ottenere informazioni sulla versione e sul fix pack

versionInfo.sh

Questo script permette di visualizzare la versione di WAS, il livello di build, il pacchetto, l’architettura e le funzionalità installate sul server.

[[email protected] bin]# ./versionInfo.sh
WVER0010I: Copyright (c) IBM Corporation 2002, 2012; Tutti i diritti riservati.
WVER0012I: Versione del reporter VersionInfo 1.15.1.48, datata 2/8/12 
--------------------------------------------------------------------------------
Report sullo stato dell'installazione del prodotto IBM WebSphere
-------------------------------------------------------------------------------- 
Report alla data e ora 12 aprile 2015 3:18:41 AM PDT 
Installazione
--------------------------------------------------------------------------------
Directory del prodotto       /opt/IBM/WebSphere/AppServer
Directory della versione       /opt/IBM/WebSphere/AppServer/properties/version
Directory DTD           /opt/IBM/WebSphere/AppServer/properties/version/dtd
Directory dei log           /var/ibm/InstallationManager/logs 
Elenco prodotti
--------------------------------------------------------------------------------
NDTRIAL                 installato
Prodotto installato
--------------------------------------------------------------------------------
Nome                 IBM WebSphere Application Server Network Deployment
Versione               8.5.5.0
ID                   NDTRIAL
Livello di build           gm1319.01
Data di build           14/5/13
Pacchetto               com.ibm.websphere.NDTRIAL.v85_8.5.5000.20130514_1044
Architettura         x86-64 (64 bit)
Funzionalità installate   IBM 64-bit WebSphere SDK for Java
                     WebSphere Application Server Full Profile
                     Strumento EJBDeploy per moduli pre-EJB 3.0
                     Contenitore EJB incorporabile
                     Client leggeri autonomi e adattatori di risorse 
--------------------------------------------------------------------------------
Fine del report sullo stato dell'installazione
--------------------------------------------------------------------------------
[[email protected] bin]#

Nota: si possono utilizzare gli argomenti supportati:

  • `-fixpacks`: per visualizzare informazioni sui fix pack
  • `-long`: per visualizzare tutti i fix pack e gli ifix
  • `-ifixes`: per visualizzare informazioni sugli ifix

getHistoryReport.sh

Questo comando è utile per scopi di controllo o per semplice consultazione di componenti, correzioni e aggiornamenti, specificando le relative date. Il comando genera un file `historyReport.html` nella directory di lavoro corrente, che solitamente corrisponde alla cartella `bin`.

getVersionReport.sh

Questo script permette di visualizzare la versione e la data di build dell’installazione di WebSphere. Spesso questa informazione è richiesta dal supporto IBM per investigare su eventuali problemi sospetti relativi a una specifica versione.

Svuotare la cache

Ci possono essere diverse ragioni per svuotare la cache, la più comune è dopo un aggiornamento. Ci sono due tipi di cache che si possono considerare per la pulizia: 1) JVM e 2) OSGi.

clearClassCache.sh

Questo script permette di cancellare la cache delle classi JVM.

Nota: le JVM devono essere arrestate prima di cancellare la cache di classe.

osgiCfgInit.sh

Questo comando permette di cancellare la cache del profilo OSGi e del server.

[[email protected] bin]# ./osgiCfgInit.sh
Cache del profilo OSGi pulita correttamente per /opt/IBM/WebSphere/AppServer/profiles/Dmgr01.
Cache del server OSGi pulita correttamente per /opt/IBM/WebSphere/AppServer/profiles/Dmgr01/servers/dmgr.
[[email protected] bin]#

Nota: non dimenticare di arrestare i processi in esecuzione prima di svuotare la cache.

Gestione dei profili

managesdk.sh

Se sono installati più SDK, è possibile cambiare la versione in uso tramite questo script. Inoltre, si può utilizzare questo script per visualizzare l’SDK attualmente associato al profilo. L’esempio seguente mostra la lista degli SDK disponibili.

[[email protected] bin]# ./managesdk.sh -listAvailable
CWSDK1003I: SDK disponibili:
CWSDK1005I: Nome SDK: 1.6_64
CWSDK1001I: Attività managesdk richiesta eseguita con successo.
[[email protected] bin]#

pmt.sh

PMT (Profile Management Tool) è uno strumento con interfaccia grafica per creare profili WebSphere. La creazione di profili tramite PMT è molto semplice, basta selezionare il livello del profilo desiderato e seguire le istruzioni della procedura guidata. Vale la pena provarlo!

syncNode.sh

Se per qualche ragione non è possibile eseguire la sincronizzazione dei nodi tramite la Console di Amministrazione, si può utilizzare `syncNode.sh` a livello del profilo. Il Node Agent deve essere arrestato prima di utilizzare questo script.

È necessario passare come argomento l’host del DMGR e il numero della porta SOAP.

[[email protected] bin]# ./syncNode.sh localhost 8879
ADMU0116I: Le informazioni dello strumento vengono registrate nel file
           /opt/IBM/WebSphere/AppServer/profiles/AppSrv01/logs/syncNode.log
ADMU0128I: Avvio dello strumento con il profilo AppSrv01
ADMU0401I: Inizio operazione di sincronizzazione dei nodi per il nodo localhostNode01 con il Deployment
           Manager localhost: 8879
ADMU0016I: Sincronizzazione della configurazione tra il nodo e la cella.
ADMU0402I: La configurazione per il nodo localhostNode01 è stata sincronizzata
           con il Deployment Manager localhost: 8879
[[email protected] bin]#
  • `localhost` = nome host del gestore della distribuzione
  • `8879` = numero della porta SOAP del DMGR

Spero che gli script sopra elencati possano esserti utili nel lavoro quotidiano. Per migliorare le tue prospettive di carriera, valuta di studiare il cloud computing.