Management console catalog setup

Note prima dell'installazione

Oplon Management Console è un programma client (WebApp) che in dipendenza del tipo di licenza si configura con le funzionalità supportate.

La licenza Oplon Catalog, installata nel servizio Oplon Monitor, abilita Oplon Management Console a funzionare da concentratore delle istanze Oplon S.A.A.I. all'interno dei datacenter, fornisce le funzionalità di aggiornamento dei cluster e permette azioni di gruppo dei servizi.

Essendo la suite Oplon S.A.A.I. un prodotto destinato ad ambienti mission-critical business-critical solo personale che ha effettuato il corso ed ha superato l'esame è autorizzato a certificare l'installazione e manutenzione dei prodotti in esercizio. Tutte le persone certificate sono dotate di documento rilasciato da Oplon.

Oplon Catalog Preparazione all'installazione della licenza

Per installare la licenza Oplon Catalog e quindi abilitare le funzionalità di management centralizzato e dei cluster della Oplon Management Console, è necessario acquisire una licenza Oplon Catalog.

Se non siete in possesso di una licenza Oplon Catalog è possibile farne richiesta a Oplon Networks srl o ad un rivenditore autorizzato.

Oplon Catalog Installazione licenza

Una volta avviata Oplon Management Console ed effettuato il login al nodo designato ad ospitare Oplon Catalog eseguire le operazioni di seguito elencate:

Selezionare il primo livello dell'albero dei processi. Questo livello identificherà il nodo Oplon Catalog. Con il tasto destro del mouse selezionare Install license:

image1

image3

Selezionare la licenza dal opportuna che dovrà necessariamente chiamarsi license.xml.

image4

Una volta confermata la licenza verrà visualizzato il risultato dell'upload. Se SUCCESSFULL passare al passo successivo

Restart del processo Oplon Monitor

Una volta installata con successo la licenza si dovrà procedere con il restart del processo Oplon Monitor. Per effettuare il restart del processo Oplon Monitor è necessario andare sul sistema operativo guest ed eseguire:

Linux/Unix:

1) identificazione del processo java con definizione -DLBL_RUNLEVEL=0

2) eseguire un kill -15 del processo identificato nel punto 1

3) attendere la fine dei processi controllati da Oplon Monitor

E' possibile vedere l'evolvere della situazione attraverso Oplon Management Console che evidenzia lo shutdown controllato dei processi gestiti....

image5

Oplon Management Console disconnect

Una volta che tutti i processi Oplon S.A.A.I. hanno terminato il loro funzionamento, evidenziato da una vistosa X rossa anteposta ai nodi dell'albero, eseguire disconnect:

image6 image7

Lo stato della Oplon Management Console deve tornare a NO LOGGED.

Oplon Monitor Start con licenza Catalog

A seconda del sistema operativo selezionato eseguire lo start del processo principale Oplon Monitor che assumerà la nuova licenza Oplon Catalog.

Oplon Management Console Connect to Oplon Catalog

image8 Dalla management console selezionare il tasto Connect:

image9 Digitare Login e Password di accesso e se eseguito con successo apparirà la connessione con funzionalità di Catalogo...

Oplon Catalog configurazione

La configurazione di Oplon Catalog è funzionale alla gestione tramite una unica Oplon Management Console di più istanze Oplon S.A.A.I. Distribuite nel datacenter oppure distribuite in più datacenter.

Oplon Catalog permette di elencare in maniera molto semplice i nodi Oplon S.A.A.I. e di censire le istanze che devono mantenere le stesse configurazioni (Cluster).

image10

Per accedere all'elenco è sufficiente selezionare il primo elemento dell'albero (root) che indica la connessione ad un CATALOG e con il tasto destro selezionare "Properties catalog".

image11 Nel riquadro a destra sarà possibile indicare la lista dei nodi Oplon S.A.A.I. All'interno del/i datacenter. Il template fornito riporta come commento alcuni esempi.

Per iniziare spostare il primo paragrafo <monitorID> al di fuori del commento e modificarlo con l'indirizzo del nodo che svolge funzioni di catalogo.

DA:

<monitors>

<!-- ipv4 example

<monitorID address="192.168.46.109:54443" description="Node A"/>

<monitorID address="192.168.46.110:54443" description="Node B"/>

<monitorID address="192.168.46.111:54443" description="Node C"/>

-->

</monitors>

A:

<monitors>

<monitorID address="192.168.46.109:54443" description="Node A"/>

<!-- ipv4 example

<monitorID address="192.168.46.110:54443" description="Node B"/>

<monitorID address="192.168.46.111:54443" description="Node C"/>

-->

</monitors>

image12

eseguire quindi l'upload dei parametri di catalogo:

image13

Dopo aver eseguito l'upload espandendo l'elemento root apparirà il primo nodo gestito che è anche il catalogo stesso.

Si possono notare immediatamente due simboli nuovi e di colore diverso.

image14 image15

Questi simboli indicano che il processo in gestione è un processo "cluster". Non avendo ancora indicato nulla nel paragrafo <clusters> Oplon Management Console evidenzia comunque i processi che per natura sono dei cluster come ad esempio istanze Oplon Loadbalancer Standard/Enterprise HA o Oplon Commander Decision Engine.

Andando ad aggiungere nel catalogo altri nodi Oplon S.A.A.I. questi appariranno, nell'ordine indicato nei parametri Catalog, nell'albero a sinistra....

DA:

<monitors>

<monitorID address="192.168.46.109:54443" description="Node A"/>

<!-- ipv4 example

<monitorID address="192.168.46.110:54443" description="Node B"/>

<monitorID address="192.168.46.111:54443" description="Node C"/>

-->

</monitors>

A:

<monitors>

<monitorID address="192.168.46.109:54443" description="Node A"/>

<monitorID address="192.168.46.110:54443" description="Node B"/>

<!-- ipv4 example

<monitorID address="192.168.46.111:54443" description="Node C"/>

-->

</monitors>

image16

Già da questo momento per i "Cluster spontanei" è possibile eseguire azioni comuni come ad esempio tenere allineate le configurazioni o eseguire reinit a caldo contemporaneamente...

Se ad esempio cerchiamo di eseguire un upload della configurazione del sistema di bilanciamento Oplon Management Console ci chiederà di eseguirla anche nel/i nodo/i "gemello/i" in cluster.

In questo caso ci evidenzierà anche che il "Catalog" non è allineato come configurazione al "Cluster" spontaneo Oplon LoadBalancer Standard HA (Match = false nella tabella dei nodi del cluster). E' sempre consigliato tenere allineate anche le definizioni dei cluster spontanei con quanto in catalogo, in ambienti complessi avere un punto dove queste informazioni sono elencate aumenta l'ordine documentativo importantissimo per il funzionamento. In ogni caso per "Cluster spontanei", cioè per natura del processo, l'allineamento viene comunque effettuato in tutti i nodi selezionati del cluster.

image17

La prima colonna proposta permette di deselezionare l'aggiornamento del/i nodi del cluster. Questo può essere utile nel caso si voglia prima effettuare una prova in un nodo e quindi renderla definitiva con il prossimo upload.

Oplon Catalog dichiarazione di cluster

Come abbiamo visto dai paragrafi precedenti Oplon Management Console riconosce i "Cluster spontanei" senza aver bisogno di altri parametri. Spesso però è necessario trattare come cluster anche processi che per loro natura non lo sono. Un esempio per tutti è il voler tenere allineate le configurazioni del CATALOG stesso con una istanza CATALOG di backup nel caso il CATALOG principale fosse indisponibile.

In questo caso parliamo quindi di "Cluster dichiarati" nel CATALOG per permettere l'aggiornamento contemporaneo. Nel paragrafo <clusters> spostare il paragrafo con descrizione "catalog" al di fuori dei commenti:

DA:

<clusters>

<!-- cluster examples

<clusterGroup description="Catalog">

<monitorID address="192.168.46.109:54443"
processName="**CATALOG**"/>

<monitorID address="192.168.46.110:54443"
processName="**CATALOG**"/>

</clusterGroup>

<clusterGroup description="Monitor">

<monitorID address="192.168.46.109:54443"
processName="**MONITOR**"/>

<monitorID address="192.168.46.110:54443"
processName="**MONITOR**"/>

</clusterGroup>

<clusterGroup description="LoadBalancer">

<monitorID address="192.168.46.109:54443"
processName="A10_LBLGo"/>

<monitorID address="192.168.46.110:54443"
processName="A10_LBLGo"/>

</clusterGroup>

<clusterGroup description="Commander Decision Engine">

<monitorID address="192.168.46.109:54443"
processName="A03_LBLGoSurfaceClusterDE"/>

<monitorID address="192.168.46.110:54443"
processName="A03_LBLGoSurfaceClusterDE"/>

<monitorID address="192.168.46.111:54443"
processName="A03_LBLGoSurfaceClusterDE"/>

</clusterGroup>

-->

</clusters>

A:

<clusters>

<clusterGroup description="Catalog">

<monitorID address="192.168.46.109:54443"
processName="**CATALOG**"/>

<monitorID address="192.168.46.110:54443"
processName="**CATALOG**"/>

</clusterGroup>

<!-- cluster examples

<clusterGroup description="Monitor">

<monitorID address="192.168.46.109:54443"
processName="**MONITOR**"/>

<monitorID address="192.168.46.110:54443"
processName="**MONITOR**"/>

</clusterGroup>

<clusterGroup description="LoadBalancer">

<monitorID address="192.168.46.109:54443"
processName="A10_LBLGo"/>

<monitorID address="192.168.46.110:54443"
processName="A10_LBLGo"/>

</clusterGroup>

<clusterGroup description="Commander Decision Engine">

<monitorID address="192.168.46.109:54443"
processName="A03_LBLGoSurfaceClusterDE"/>

<monitorID address="192.168.46.110:54443"
processName="A03_LBLGoSurfaceClusterDE"/>

<monitorID address="192.168.46.111:54443"
processName="A03_LBLGoSurfaceClusterDE"/>

</clusterGroup>

-->

</clusters>

Se lasciamo passare qualche istante, max 3 secondi di norma, e riproviamo ad eseguire l'upload ci verrà proposta la richiesta di aggiornare anche il nodo CATALOG dichiarato come cluster:

image18

Normalmente nel processName deve essere dichiarato il nome del processo es.: A10_LBLGo oppure A03_LBLGoSurfaceClusterDE etc. Esistono due keyword riservate per poter dichiarare cluster sia il catalog "CATALOG" sia i monitor "MONITOR" per permettere azioni simultanee su più nodi anche di questi elementi.

Ripetiamo la stessa modifica anche per gestire contemporaneamente le modifiche sulla configurazione Oplon Monitor.

DA:

<clusters>

<!-- cluster examples

<clusterGroup description="Catalog">

<monitorID address="192.168.46.109:54443"
processName="**CATALOG**"/>

<monitorID address="192.168.46.110:54443"
processName="**CATALOG**"/>

</clusterGroup>

<clusterGroup description="Monitor">

<monitorID address="192.168.46.109:54443"
processName="**MONITOR**"/>

<monitorID address="192.168.46.110:54443"
processName="**MONITOR**"/>

</clusterGroup>

<clusterGroup description="LoadBalancer">

<monitorID address="192.168.46.109:54443"
processName="A10_LBLGo"/>

<monitorID address="192.168.46.110:54443"
processName="A10_LBLGo"/>

</clusterGroup>

<clusterGroup description="Commander Decision Engine">

<monitorID address="192.168.46.109:54443"
processName="A03_LBLGoSurfaceClusterDE"/>

<monitorID address="192.168.46.110:54443"
processName="A03_LBLGoSurfaceClusterDE"/>

<monitorID address="192.168.46.111:54443"
processName="A03_LBLGoSurfaceClusterDE"/>

</clusterGroup>

-->

</clusters>

A:

<clusters>

<clusterGroup description="Catalog">

<monitorID address="192.168.46.109:54443"
processName="**CATALOG**"/>

<monitorID address="192.168.46.110:54443"
processName="**CATALOG**"/>

</clusterGroup>

<clusterGroup description="Monitor">

<monitorID address="192.168.46.109:54443"
processName="**MONITOR**"/>

<monitorID address="192.168.46.110:54443"
processName="**MONITOR**"/>

</clusterGroup>

<!-- cluster examples

<clusterGroup description="LoadBalancer">

<monitorID address="192.168.46.109:54443"
processName="A10_LBLGo"/>

<monitorID address="192.168.46.110:54443"
processName="A10_LBLGo"/>

</clusterGroup>

<clusterGroup description="Commander Decision Engine">

<monitorID address="192.168.46.109:54443"
processName="A03_LBLGoSurfaceClusterDE"/>

<monitorID address="192.168.46.110:54443"
processName="A03_LBLGoSurfaceClusterDE"/>

<monitorID address="192.168.46.111:54443"
processName="A03_LBLGoSurfaceClusterDE"/>

</clusterGroup>

-->

</clusters>

image19 Eseguiamo quindi l'upload della configurazione...

Da questo momento anche per le configurazioni Oplon Monitor sarà proposto di allinearle durante gli aggiornamenti..

image20

A questo proposito nella release 9 è stato introdotto l'utilizzo delle variabili che tipizzano il singolo nodo Oplon S.A.A.I. ed il processo all'interno del nodo. Questa tecnologia permette di mantenere file di configurazione uguali su nodi differenti. Le variabili servono ad indicare nei file di configurazione dei valori simbolici che durante il caricamento vengono sostituiti con il valore tipico di Oplon Monitor e/o del processo.. E' possibile definire le variabili nella sezione procProperties.

Oplon Catalog utilizzo di procProperties

procProperties serve a definire dei valori simbolici che possono essere utilizzati all'interno dei file di configurazione. Questa tecnologia permette di descrivere nei parametri non il valore ma il suo simbolo che varia da una istanza ad una altra.

Prendiamo ad esempio il file di configurazione del processo Oplon Monitor. Il valore più importante è sicuramente l'indirizzo in cui Oplon Monitor esegue il suo listening (evidenziato in giallo) es.:

</copyright>

<monitor>

<params address="192.168.46.110" port="54443"

keyManagerFactory="SunX509"

managementPortRangeMin="5850"

managementPortRangeMax="5990"

sysCommandRemoteURL="https://localhost:5992/SysCommand"

statisticBrokerWebCacheURL="http://localhost:5993">

</params>

...

Questo valore è sicuramente diverso per ogni singolo Oplon Monitor e quindi un eventuale aggiornamento del file di configurazione su un altro Oplon Monitor causerebbe un problema sostanziale di funzionamento.

Nel procProperties tab (file) è quindi possibile definire dei nomi simbolici tipici dell'istanza Oplon Monitor come ad esempio l'indirizzo di listening del monitor...

<variables>

<var name="LBL_GLOBAL_ADDRESS_MANAGEMENT" value="192.168.46.110"/>

e, una volta eseguito l'upload, cambiare l'indirizzo nel file parametri del monitor sostituendolo con il nome simbolico. N.B. Si noterà che l'upload del file procProperties non ha richiesto l'aggiornamento degli altri nodi del cluster. Questo è importante perché i procProperties sono tipici del nodo Oplon Monitor e/o del processo e NON devono essere propagati su altri nodi del cluster.

</copyright>

<monitor>

<params address="#LBL_GLOBAL_ADDRESS_MANAGEMENT#" port="54443"

keyManagerFactory="SunX509"

managementPortRangeMin="5850"

managementPortRangeMax="5990"

sysCommandRemoteURL="https://localhost:5992/SysCommand"

statisticBrokerWebCacheURL="http://localhost:5993">

</params>

...

I file template distribuiti con la rel 9 riportano già delle variabili preimpostate che servono a facilitare il lavoro di setup iniziale.

Oplon Monitor, ad esempio, riporta le seguenti variabili preimpostate il cui utilizzo è già predisposto nelle configurazioni template:

<variables>

<var name="LBL_GLOBAL_ADDRESS_MANAGEMENT" value="192.168.46.110"/>

<var name="LBL_GLOBAL_ADDRESS_BROKERWEBCACHE" value="localhost"/>

<var name="LBL_GLOBAL_URL_BROKERWEBCACHE"
value="http://#LBL_GLOBAL_ADDRESS_BROKERWEBCACHE#:5993"/>

<var name="LBL_GLOBAL_GARBAGE_COLLECTOR_LOADBALANCER"
value="-XX:+UseParallelGC -XX:+UseParallelOldGC"/>

<var name="LBL_GLOBAL_GARBAGE_COLLECTOR_WEB_CACHE_DWH"
value="-XX:+UseParallelGC -XX:+UseParallelOldGC"/>

<!-- Please NOTE: G1 garbage collector only with jdk 1.7.0_xx. You can
find xx in LBL's compatibility matrix -->

<!-- <var name="LBL_GLOBAL_GARBAGE_COLLECTOR_LOADBALANCER"
value="-XX:+UseG1GC -XX:InitiatingHeapOccupancyPercent=45"/>

<!-- <var name="LBL_GLOBAL_GARBAGE_COLLECTOR_WEB_CACHE_DWH"
value="-XX:+UseG1GC -XX:InitiatingHeapOccupancyPercent=45"/>

<var name="LBL_GLOBAL_START_HEAP_LOADBALANCER" value="-Xms1g
-Xmx1g"/>

</variables>

</copyright>

<monitor>

<params address="#LBL_GLOBAL_ADDRESS_MANAGEMENT#" port="54443"

keyManagerFactory="SunX509"

managementPortRangeMin="5850"

managementPortRangeMax="5990"

sysCommandRemoteURL="https://localhost:5992/SysCommand"

statisticBrokerWebCacheURL="#LBL_GLOBAL_URL_BROKERWEBCACHE#">

</params>

...

### Oplon Catalog gerarchia, ereditarietà e scope di procProperties

I file procProperties definiscono dei nomi simbolici a cui viene attribuito un valore. Il nome simbolico può essere utilizzato all'interno dei file di configurazione e questo viene sostituito al momento del caricamento del file con i valori definiti dal nome simbolico.

I file procProperties sono di due tipi:

1) a livello di Oplon Monitor

2) a livello di processo gestito da Oplon Monitor

Da un punto di vista anche visivo li possiamo impostare attraverso Oplon Management Console selezionando properties nei seguenti livelli dell'albero:

image21

Se si definisce una variabile a livello del nodo Oplon Monitor questa sarà utilizzabile anche dai processi da lui gestiti. Le variabili definite a livello di processo saranno invece utilizzabili solo nel processo specifico. Non ci sono differenze a livello di nome simbolico, è comunque consigliato distinguere le variabili a livello Oplon Monitor dalle variabili a livello di processo. Nei template forniti viene anteposto un LBL_GLOBAL_xxxxx alle variabili Oplon Monitor rispetto al solo LBL_xxxx utilizzato nelle variabili di processo.

E' possibile sovrascrivere variabili già dichiarate semplicemente dichiarandole nuovamente. La sequenza di dichiarazione è il fattore che ne determina il valore finale.

Ad esempio se togliamo i commenti di definizione del G1 garbage collector le variabili assumerebbero l'ultimo valore dichiarato...

DA:

<variables>

<var name="LBL_GLOBAL_ADDRESS_MANAGEMENT" value="192.168.46.110"/>

<var name="LBL_GLOBAL_ADDRESS_BROKERWEBCACHE" value="localhost"/>

<var name="LBL_GLOBAL_URL_BROKERWEBCACHE"
value="http://#LBL_GLOBAL_ADDRESS_BROKERWEBCACHE#:5993"/>

<var name="LBL_GLOBAL_GARBAGE_COLLECTOR_LOADBALANCER"
value="-XX:+UseParallelGC -XX:+UseParallelOldGC"/>

<var name="LBL_GLOBAL_GARBAGE_COLLECTOR_WEB_CACHE_DWH"
value="-XX:+UseParallelGC -XX:+UseParallelOldGC"/>

<!-- Please NOTE: G1 garbage collector only with jdk 1.7.0_xx. You can
find xx in LBL's compatibility matrix -->

<!-- <var name="LBL_GLOBAL_GARBAGE_COLLECTOR_LOADBALANCER"
value="-XX:+UseG1GC -XX:InitiatingHeapOccupancyPercent=45"/>

<!-- <var name="LBL_GLOBAL_GARBAGE_COLLECTOR_WEB_CACHE_DWH"
value="-XX:+UseG1GC -XX:InitiatingHeapOccupancyPercent=45"/>

<var name="LBL_GLOBAL_START_HEAP_LOADBALANCER" value="-Xms1g
-Xmx1g"/>

</variables>

A:

<variables>

<var name="LBL_GLOBAL_ADDRESS_MANAGEMENT" value="192.168.46.110"/>

<var name="LBL_GLOBAL_ADDRESS_BROKERWEBCACHE" value="localhost"/>

<var name="LBL_GLOBAL_URL_BROKERWEBCACHE"
value="http://#LBL_GLOBAL_ADDRESS_BROKERWEBCACHE#:5993"/>

<var name="LBL_GLOBAL_GARBAGE_COLLECTOR_LOADBALANCER"
value="-XX:+UseParallelGC -XX:+UseParallelOldGC"/>

<var name="LBL_GLOBAL_GARBAGE_COLLECTOR_WEB_CACHE_DWH"
value="-XX:+UseParallelGC -XX:+UseParallelOldGC"/>

<!-- Please NOTE: G1 garbage collector only with jdk 1.7.0_xx. You can
find xx in LBL's compatibility matrix -->

<var name="LBL_GLOBAL_GARBAGE_COLLECTOR_LOADBALANCER"
value="-XX:+UseG1GC -XX:InitiatingHeapOccupancyPercent=45"/>

<var name="LBL_GLOBAL_GARBAGE_COLLECTOR_WEB_CACHE_DWH"
value="-XX:+UseG1GC -XX:InitiatingHeapOccupancyPercent=45"/>

<var name="LBL_GLOBAL_START_HEAP_LOADBALANCER" value="-Xms1g
-Xmx1g"/>

</variables>

In questo caso le variabili evidenziate assumeranno i valori G1 sovrascrivendo i valori ParallelGC...

I valori a livello Oplon Monitor vengono ereditati dai singoli processi. E' possibile quindi utilizzare o sovrascrivere a livello di processo i valori Oplon Monitor. Eventuali sovrascritture dei valori Oplon Monitor a livello di processo non modificano i valori per gli altri processi.

Oplon Catalog azioni distribuite

Una volta elencato nel catalogo nodi Oplon S.A.A.I. e le associazioni dei processi cluster Oplon Management Console reagisce ai comandi proponendo azioni distribuite nei nodi che compongono il cluster. Così se ad esempio si vuole eseguire un "reinit" a caldo di una configurazione Oplon Management Console ci proporrà di eseguirla anche sui nodi componenti il cluster, questo indipendentemente se il cluster è spontaneo o dichiarato.

image22

Dopo la selezione sarà richiesto se eseguire l'operazione anche negli altri nodi del cluster:

image23

Alla conferma i servizi del cluster eseguiranno l'azione di reinit contemporaneamente. L'azione è visibile direttamente su Oplon Management Console se si espandono i servizi del processo interessato. Si noterà sul servizio in cluster il simbolo del "reinit" attivarsi nella stessa maniera del nodo selezionato.

image25

Per tutte le azioni previste Oplon Management Console chiederà conferma all'operatore con la lista dei nodi interessati all'azione distribuita e darà la possibilità di selezionare su quali nodi effettuare l'azione.