Metric Server fornisce informazioni sul carico di lavoro dei server a Load Balancer sotto forma di metriche specifiche del sistema notificando lo stato dei server.
Prima di iniziare
L'agent Metric Server deve essere installato e in esecuzione su tutti i server che sono sottoposti al bilanciamento del carico.
Se sulla macchina si utilizza il protocollo IPv6 e si
desidera utilizzare Metric Server, è necessario verificare se protocollo 58 è definito come ICMPv6 nel file protocol.
Limitazione di Metric Server: come per l'agent
Metric Server, l'agent WLM esegue la notifica sui sistemi server come insieme piuttosto che ai singoli daemon del server specifici del protocollo. Metric Server e WLM
inseriscono i relativi risultati nella colonna del sistema del report del gestore. Di conseguenza, l'esecuzione dell'advisor WLM e di Metric Server allo stesso tempo non è possibile.
Informazioni su questa attività
Il gestore di Load Balancer interroga l'agente
che risiede su ciascun server, assegnando pesi al processo di
bilanciamento del carico utilizzando le metriche raccolte dagli
agenti. I risultati vengono inseriti nel report del gestore.
Nota: quando vengono raccolte due o più metriche
e normalizzate per ciascun server in un unico valore di carico del
sistema, potrebbero verificarsi errori di arrotondamento.
Procedura
- Configurare Metric Server sulla macchina di Load Balancer.
- Avviare dsserver. Avviare l'executor e aggiungere i cluster, le porte e i server alla propria configurazione.
- Avvia il gestore. Emettere il comando:
dscontrol manager start manager.log porta
dove porta è la porta RMI scelta per tutti gli agent Metric Server
su cui effettuare l'esecuzione. La porta RMI predefinita impostata
nel file metricserver.cmd è 10004.
- Aggiungere lo script della metrica di sistema al cluster. Emettere il comando:
dscontrol metric add cluster@metrica_sistema
metrica_sistema è il nome dello script (che si trova sul
server di back-end) che deve essere eseguito su ciascun server nella configurazione nel cluster specificato. Sono forniti due script per il cliente, cpuload ememload, oppure è possibile creare i propri script di metriche di sistema personalizzati.
Lo script contiene un comando che deve
restituire un valore numerico compreso tra 0 e 100 oppure
un valore di -1 se il server non è attivo. Questo valore numerico rappresenta una misura del carico e non un valore di disponibilità.
Prevenzione dei problemi: se
il nome dello script della metrica di sistema ha un'estensione diversa da
″.exe″, è necessario specificare il nome completo del file (ad esempio,
″mysystemscript.bat″). Ciò è dovuto a una limitazione Java.
gotcha
- Aggiungere alla configurazione solo server con un agente Metric
Server in esecuzione sulla porta specificata nel file metricserver.cmd. La porta deve corrispondere al valore della porta specificato nel comando manager start.
Nota: per garantire la sicurezza:
- Sulla macchina di Load Balancer, creare un file di chiavi (utilizzando il comando lbkeys
create).
- Sulla macchina server di backend, copiare il file di
chiavi risultante, per il componente che si sta utilizzando nella
directory root_install/admin/keys. Verificare che le autorizzazioni del file di chiavi consentano la lettura del file da parte dell'utente root.
- Configurare Metric Server sulle macchine server.
- Installare il pacchetto Metric Server dai file di installazione di
Load Balancer.
- Controllare lo script Metric Server nella directory
install_root/ms/bin
e verificare che venga utilizzata la porta RMI desiderata. La porta RMI predefinita è 10004.
Nota: il valore della porta RMI specificato deve essere uguale al valore
della porta RMI specificato nel comando manager start al
Passo 1b.
- Opzionale: È possibile scrivere i propri file script delle metriche personalizzati
che definiscono il comando che verrà immesso da Metric Server sulle macchine
server. Accertarsi che gli script
personalizzati siano eseguibili e ubicati nella directory root_install/ms/script. Gli
script personalizzati devono restituire un
valore di carico numerico compreso tra 0 e 100.
I seguenti due script sono forniti per il cliente nella directory
root_install/ms/script:
- cpuload: restituisce la percentuale di CPU in uso in un intervallo compreso tra 0 e 100
- memload: restituisce la percentuale di memoria in uso in un intervallo compreso tra 0 e 100.
- Avviare l'agent Metric Server. Sulla riga comandi di ogni macchina server su cui si trova Metric Server, immettere
metricserver start
Fare clic su Start > Pannello di controllo > Strumenti di amministrazione > Servizi. Fare clic con il pulsante destro del mouse su IBM Metric Server (ULB) e selezionare Avvia.
- Opzionale: Arrestare l'agent Metric Server.
![[Linux]](../images/linux.gif)
![[AIX HP-UX Solaris]](../images/unix.gif)
Per arrestare l'agent Metric Server, immettere il
seguente comando su ciascuna macchina server su cui risiede Metric Server:
metricserver stop
Fare clic su Start > Pannello di controllo > Strumenti di amministrazione > Servizi. Fare clic con il pulsante destro del mouse su IBM Metric Server (ULB) e selezionare Arresta.
- Opzionale: Modificare il livello di log nello script di avvio
di Metric Server. È possibile specificare un intervallo per il livello di registrazione compreso tra 0 e
5, esattamente come l'intervallo del livello di registrazione per i log di Load Balancer.
In questo modo viene generato un log dell'agent nella directory root_install/ms/logs.
- Opzionale: Per eseguire Metric Server su un indirizzo diverso
dall'host locale, modificare il file metricserver sulla macchina
server con bilanciamento del carico.
Nota: durante la raccolta delle metriche tra i diversi domini, è necessario
impostare in modo esplicito java.rmi.server.hostname nello script del server
(dsserver e così via) sul nome del dominio completo FQDN (fully
qualified domain name) della macchina che richiede le metriche. Ciò è necessario in quanto InetAddress.getLocalHost.getHostName()
potrebbe non restituire l'FQDN.
- Dopo la ricorrenza di ″java″ nel file metricserver, inserire:
-Djava.rmi.server.hostname=OTHER_ADDRESS
- Prima dell'istruzione ″if″ nel file metricserver, aggiungere la seguente riga:
hostname OTHER_ADDRESS
Inoltre, è necessario creare l'alias di
OTHER_ADDRESS sullo stack Microsoft della macchina Metric Server. Ad esempio:call netsh interface ip add address
"Local Area Connection"
addr=9.37.51.28 mask=255.255.240.0
- Opzionale: Configurare Metric Server solo per IPv4 o solo per
IPv6. In una configurazione di Load Balancer che supporta sia i cluster IPv4 che i cluster IPv6, i server che eseguono la funzione Metric Server possono essere configurati solo come server IPv4 o come server IPv6, ma non entrambi. Per far sì che Metric Server utilizzi un determinato protocollo IP, specificare la proprietà Java java.rmi.server.hostname nello script metricserver.
Nota: il nomd host specificato nella proprietà Java deve
essere l'indirizzo IP fisico di Metric Server.
![[AIX]](../images/aixlogo.gif)
![[Linux]](../images/linux.gif)
![[Solaris]](../images/solaris.gif)
Per consentire a Metric Server di
comunicare attraverso l'indirizzo
IPv6 2002:92a:8f7a:162:9:42:92:67, specificare la proprietà Java dopo
$LB_CLASSPATH nello script di avvio metricserver, nella directory
install_root/bin, come
riportato di seguito: root_install/java/jre/bin/java ..... $ULB_CLASSPATH
-Djava.rmi.server.hostname=2002:92a:8f7a:162:9:42:92:67
com.ibm.internet.nd.sma.SMA_Agent $LB_RMIPORT $LOG_LEVEL $LOG_SIZE $LOG_DIRECTORY $KEYS_DIRECTORY
$SCRIPT_DIRECTORY &
Per consentire a Metric Server di comunicare
attraverso l'indirizzo IPv6
2002:92a:8f7a:162:9:42:92:67, è necessario modificare il file
metricserver.cmd nella
directory
install_root/bin, come
riportato di seguito: start
/min /wait %IBMULBPATH%\java\jre\bin\java
-Djava.rmi.server.hostname=2002:92a:8f7a:162:9:42:92:67
-Djava.net.preferIPv4Stack=false
-Djava.net.preferIPv6Stack=true -Xrs -cp
%LB_CLASSPATH% com.ibm.internet.nd.sma.SMA_Agent
%RMI_PORT% %LOG_LEVEL% %LOG_SIZE% %LOG_DIRECTORY% %KEYS_DIRECTORY%
%SCRIPT_DIRECTORY%
goto done
:stop
%IBMLBPATH%\java\jre\bin\java
-Djava.rmi.server.hostname=2002:92a:8f7a:162:9:42:92:67
-Djava.net.preferIPv4Stack=false
-Djava.net.preferIPv6Stack=true -cp %LB_CLASSPATH% com.ibm.internet.nd.sma.SMA_AgentStop %RMI_PORT%
:done