Überwachen von Diensten in einem Cluster über die Pfadüberwachung
In einem Cluster-Setup wird die Eigentümerschaft für die Überwachungsdienste auf die Knoten verteilt. Daher überwachen verschiedene Knoten verschiedene Dienste. Der Knoten, der einen Dienst überwacht, wird als Dienstbesitzer bezeichnet. Nur der Dienstinhaber untersucht den Server, um den Status der ihm zugewiesenen Dienste zu überwachen. Es übermittelt außerdem den Status der Dienste an alle anderen Knoten innerhalb des Clusters. Der Nachteil der verteilten Überwachung besteht darin, dass die Netzwerkkonnektivität und der Verbindungsstatus zwischen allen Knoten und dem Server nicht bestimmt werden. Um diesen Nachteil zu überwinden, können Sie die Pfadüberwachung verwenden.
Hinweis
Sie können keinen Knoten auswählen, um einen Dienst zu überwachen. Die Auswahl der Knoten zur Überwachung eines Dienstes erfolgt über einen internen Mechanismus. Sie können den Eigentümerknoten zur Überwachung von Diensten sehen, indem Sie den Befehl
show service <service name>
undshow serviceGroup <service group name>
verwenden.
Die Pfadüberwachung überprüft die Netzwerkkonnektivität und den Verbindungsstatus zwischen einem Knoten und dem vom Server bereitgestellten Dienst. Ein Knoten sendet ICMP-Pings, um zu überprüfen, ob der Server erreichbar ist oder nicht.
So funktioniert die Pfadüberwachung
Stellen Sie sich ein Beispiel für einen NetScaler-Cluster vor, der aus den drei Knoten N1, N2 und N3 besteht. N2 ist der Dienstinhaber, der den Status der HTTP-Dienste (S1) überwacht. Es kündigt den Dienststatus an andere Knoten im Cluster an. Die Pfadüberwachung ist auf allen Knoten im Cluster für alle Dienste aktiviert. Jeder Knoten sendet nur einen ICMP-Ping an den Server. Der Dienstbesitzer sendet sowohl die HTTP-Dienstanforderung als auch einen ICMP-Ping. Jeder Knoten meldet seinen Status zur Pfadüberwachung an den Dienstinhaber.
Die folgenden zwei Parameter bestimmen den Dienststatus eines Knotens:
- S = vom Serviceinhaber ausgeschriebener Dienststatus
- P = Pfadüberwachungsstatus jedes Knotens
Ob ein Knoten einen Server erreichen kann oder nicht, bestimmt den Status der Pfadüberwachung für diesen Knoten.
Die folgende Tabelle zeigt den Dienststatus, der auf der Grundlage des Pfadüberwachungsstatus festgelegt wird, wenn der PathMonitorInDV-Parameter aktiviert oder deaktiviert ist.
Parameter | Status der Pfadüberwachung | Status des Dienstes |
---|---|---|
PathMonitorinDV = NEIN; Ist die Standardkonfiguration. | P1 = RUNTER | S1 = RUNTER |
P2 = HOCH | S1 = RUNTER | |
P3 = HOCH | S1 = RUNTER | |
PathMonitorInDV = JA | P1 = RUNTER | S1 = RUNTER |
P2 = HOCH | S1 = HOCH | |
P3 = HOCH | S1 = HOCH |
In diesem Beispiel bestimmt der Dienstbesitzer den Dienststatus für alle Knoten auf der Grundlage des Knotens, dessen Pfadüberwachungsstatus auf DOWN gesetzt ist. Wenn der Pfadüberwachungsstatus für einen der Knoten DOWN ist, legt der Dienstbesitzer den Dienststatus für alle Knoten auf DOWN fest. Der Dienststatus für alle Knoten ist nur dann auf UP gesetzt, wenn der Pfadüberwachungsstatus für jeden Knoten UP ist.
Sie können die Pfadüberwachung für einzelne Knoten verwenden, indem Sie den Parameter PathMonitorInDV aktivieren. Dieser Parameter ermöglicht es dem Dienstbesitzer, den Dienststatus für jeden Knoten auf der Grundlage des Pfadüberwachungsstatus des jeweiligen Knotens festzulegen.
Hinweis
Wenn der PathMonitorInDV-Parameter gesetzt ist, können einige Funktionen wie die Persistenz nicht funktionieren.
Konfiguration der Pfadüberwachung
Die Pfadüberwachung ist für alle Dienste und Dienstgruppen anwendbar. Der Pfadüberwachungsparameter ist standardmäßig deaktiviert.
So aktivieren Sie die Pfadüberwachung für Dienste/Dienstgruppen mithilfe der CLI
Geben Sie in der Befehlszeile Folgendes ein:
add service <service name> <IP address> <service type> <port> [-pathMonitor <YES | NO>] [-pathMonitorIndv <YES | NO>]
add servicegroup <servicegroup name> <service type> [-pathMonitor <YES | NO>] [-pathMonitorIndv <YES | NO>]
<!--NeedCopy-->
Beispiel:
add service s1 1.1.1.1 HTTP 80 -pathMonitor YES
add servicegroup sg_1 HTTP -pathMonitor YES
add service s1 1.1.1.1 HTTP 80 -pathMonitor YES -pathMonitorIndv YES
add servicegroup sg_1 HTTP -pathMonitor YES -pathMonitorIndv YES
<!--NeedCopy-->
Sie können den Parameter zur Pfadüberwachung auch über den Befehl set wie folgt festlegen:
set service <service name> [-pathMonitor <YES | NO>] [-pathMonitorIndv <YES | NO>]
set servicegroup <servicegroup name> [-pathMonitor <YES | NO>] [-pathMonitorIndv <YES | NO>]
<!--NeedCopy-->
Beispiel:
set service s1 -pathMonitor YES
set servicegroup sg_1 -pathMonitor YES
set service s1 -pathMonitorIndv YES
set servicegroup sg_1 -pathMonitorIndv NO
<!--NeedCopy-->
Um die Pfadüberwachung für Dienste/Dienstgruppen mithilfe der GUI zu aktivieren
-
Navigieren Sie zu Traffic Management > Load Balancing > Services.
Navigieren Sie für Dienstgruppen zu Traffic Management > Load Balancing > Service Groups.
- Wählen Sie im Bereich Dienste/Dienstgruppen einen Service/Dienstgruppe aus der Liste aus, und doppelklicken Sie dann, um ihn zu öffnen.
- Klicken Sie auf der Registerkarte Diensteinstellungen auf Bearbeiten.
- Wählen Sie Path Monitoringaus.
- Wählen Sie Individual Path Monitoring, wenn Sie es anwenden möchten, und klicken Sie dann auf OK.
Hinweis
Sie können die Überwachung einzelner Pfade nur aktivieren, wenn Sie die Pfadüberwachung aktivieren.