NetScaler CPX Problembehandlung
In diesem Dokument wird erläutert, wie Sie Probleme beheben können, die bei der Verwendung von NetScaler CPX auftreten können. Mithilfe dieses Dokuments können Sie Protokolle sammeln, um die Ursachen zu ermitteln und Problemumgehungen für einige der häufigsten Probleme im Zusammenhang mit der Installation und Konfiguration von NetScaler CPX anzuwenden.
- Warum ist der Prozentsatz der Speichernutzung in NetScaler CPX immer hoch?
Der Prozentsatz der Speicherauslastung wird bestimmt, indem die aktuelle Speicherauslastung von NetScaler CPX mit dem Gesamtspeicher verglichen wird, den NetScaler CPX selbst vom Betriebssystem (OS) zuweist. NetScaler CPX weist dem Betriebssystem zunächst den Mindestspeicher zu, der für den Start und grundlegende Operationen erforderlich ist. Da NetScaler CPX den für seine Operationen erforderlichen Mindestspeicher zuweist, ist der Prozentsatz des Speicherverbrauchs zunächst hoch. Da der Bedarf an mehr Ressourcen mit der Skalierung von NetScaler CPX-Vorgängen wächst, weist NetScaler CPX dem Betriebssystem inkrementell zusätzlichen Speicher zu und die Speicherauslastung ist ebenfalls hoch, was zu einem hohen Prozentsatz der Speicherauslastung führt.
Aufgrund der dynamischen Speicherzuweisungsstrategie von NetScaler CPX weist NetScaler CPX in der Regel einen hohen Prozentsatz der Speichernutzung auf, was eher auf die effiziente Nutzung von Ressourcen als auf einen Mangel an verfügbarem Speicher zurückzuführen ist.
-
Wie kann ich NetScaler CPX-Protokolle anzeigen?
Sie können NetScaler CPX-Protokolle mit dem
kubectl logs
Befehl anzeigen, wenn NetScaler CPX mit dertty:true
Option bereitgestellt wird. Sie können den folgenden Befehl ausführen, um die Protokolle anzuzeigen:kubectl logs <pod-name> [-c <container-name>] [-n <namespace-name>]
Beispiel:
kubectl logs cpx-ingress1-69b9b8c648-t8bgn -c cpx -n citrix-adc
Im Folgenden finden Sie ein Beispiel für die NetScaler CPX-Pod-Bereitstellung mit der
tty:true
Option:containers: - name: cpx-ingress image: "quay.io/citrix/citrix-k8s-cpx-ingress:13.0-58.30" tty: true securityContext: privileged: true env: <!--NeedCopy-->
Weitere Startprotokolle finden Sie in der Datei /cpx/log/boot.log des NetScaler CPX-Dateisystems.
Hinweis: Um den Pod-Namen abzurufen, führen Sie den
kubectl get pods -o wide
Befehl aus. -
Wie kann ich das technische Support-Paket von NetScaler CPX abholen?
Sie können den folgenden Befehl auf der Shell-Schnittstelle des Kubernetes-Masterknotens ausführen, um das technische Supportpaket für NetScaler CPX zu sammeln:
kubectl exec <cpx-pod-name> [-c <cpx-container-name>] [-n <namespace-name>] /var/netscaler/bins/cli_script.sh "show techsupport"
Sie können das technische Support-Paket im Verzeichnis /var/tmp/support des Dateisystems des NetScaler CPX anzeigen. Verwenden Sie
scp
oderkubectl cp
, um das technische Support-Paket von NetScaler CPX an das gewünschte Ziel zu kopieren.Beispiel:
root@localhost# kubectl exec cpx-ingress1-55b9b6fc75-t5kc6 -c cpx -n citrix-adc /var/netscaler/bins/cli_script.sh "show techsupport" exec: show techsupport Scope: NODE Done root@localhost# kubectl cp cpx-ingress1-55b9b6fc75-t5kc6:var/tmp/support/collector_P_192.168.29.232_31Aug2020_07_30.tar.gz /tmp/collector_P_192.168.29.232_31Aug2020_07_30.tar.gz -c cpx root@localhost# ll /tmp/collector_P_192.168.29.232_31Aug2020_07_30.tar.gz -rw-r--r-- 1 root root 1648109 Aug 31 13:23 /tmp/collector_P_192.168.29.232_31Aug2020_07_30.tar.gz
-
Warum steckt der NetScaler CPX-Pod beim Booten fest?
Sie können den Pod-Status mit dem
kubectl describe pods
Befehl überprüfen. Führen Sie den folgenden Befehl aus, um den Pod-Status zu ermitteln:kubectl describe pods <pod-name> [-c <container-name>] [-n <namespace-name>]
Beispiel:
kubectl describe pods cpx-ingress1-69b9b8c648-t8bgn
Wenn die Pod-Ereignisse zeigen, dass der Container gestartet wurde, müssen Sie die Pod-Protokolle überprüfen.
-
Wie kopiere ich Dateien zwischen dem NetScaler CPX-Pod und dem Kubernetes-Masterknoten?
Es wird empfohlen, die Volume-Mount-Funktion von Docker zu verwenden, um das
/cpx
Verzeichnis in das Dateisystem des Hosts einzuhängen. Wenn ein NetScaler CPX-Container Core-Dumps beendet, sind Protokolle und andere wichtige Daten auf dem Mount Point verfügbar.Sie können einen der folgenden Befehle verwenden, um Dateien zwischen dem NetScaler CPX-Pod und dem Kubernetes-Masterknoten zu kopieren:
kubectl cp: Sie können den folgenden Befehl ausführen, um Dateien vom Pod zum Knoten zu kopieren:
kubectl cp <pod-name>:<absolute-src-path> <dst-path> [-c <container-name>] [-n <namespace-name>]
Beispiel:
root@localhost:~# kubectl cp cpx-ingress-596d56bb6-zbx6h:cpx/log/boot.log /tmp/cpx-boot.log -c cpx-ingress root@localhost:~# ll /tmp/cpx-boot.log -rw-r--r-- 1 root root 7880 Sep 11 00:07 /tmp/cpx-boot.log
scp: Sie können den Befehl verwenden, um Dateien zwischen dem NetScaler CPX-Pod und dem Kubernetes-Knoten zu kopieren. Führen Sie den folgenden Befehl aus, um Dateien vom Pod zum Knoten zu kopieren. Wenn es nach dem Kennwort fragt, geben Sie das Kennwort für den SSH-Benutzer ein:
scp <user>@<pod-ip>:<absolute-src-path> <dst-path>
Beispiel:
root@localhost:~# scp nsroot@192.168.29.198:/cpx/log/boot.log /tmp/cpx-boot.log nsroot@192.168.29.198's password: boot.log 100% 7880 5.1MB/s 00:00 root@localhost:~#
-
Wie erfasse ich Pakete auf NetScaler CPX?
Um Pakete auf NetScaler CPX zu erfassen, starten Sie die Shell-Schnittstelle von NetScaler CPX mit dem
kubectl exec
Befehl. Führen Sie den folgenden Befehl aus, um die Shell-Schnittstelle des NetScaler CPX-Pods zu starten:kubectl exec -it pod-name [-c container-name] [-n namespace-name] bash
Beispiel:
kubectl exec -it cpx-ingress1-69b9b8c648-t8bgn -c cpx -n citrix-adc bash
Führen Sie außerdem den folgenden Befehl aus, um die Paketerfassung zu starten:
cli_script.sh “start nstrace -size 0”
Wenn Sie die laufende Paketerfassung beenden möchten, führen Sie den folgenden Befehl aus:
cli_script.sh “stop nstrace”
Sie können die in einer CAP-Datei erfassten Pakete im Verzeichnis /cpx/nstrace/timestamp im NetScaler CPX-Dateisystem anzeigen.
-
Warum ist der Lizenzserver nicht konfiguriert, auch wenn NetScaler CPX mit der
LS_IP=<ADM-IP>
Umgebungsvariablen bereitgestellt wird?Stellen Sie sicher, dass auf den Lizenzserver von dem Knoten aus zugegriffen werden kann, auf dem NetScaler CPX bereitgestellt wird. Sie können den
ping <ADM-IP>
Befehl verwenden, um die Konnektivität vom NetScaler CPX-Knoten zu NetScaler ADM zu überprüfen.Wenn NetScaler ADM vom Knoten aus zugänglich ist, müssen Sie die Lizenzserverkonfigurationsprotokolle in der Datei /cpx/log/boot.log überprüfen. Sie können auch mit dem folgenden Befehl auf der Shell-Oberfläche des NetScaler CPX-Pods nach der Lizenzserverkonfiguration suchen:
cli_script.sh "show licenseserver"
Beispiel:
root@cpx-ingress-596d56bb6-zbx6h:/cpx/log# cli_script.sh "show licenseserver" exec: show licenseserver ServerName: 10.106.102.199Port: 27000 Status: 1 Grace: 0 Gptimeleft: 720 Done
-
Warum ist die gepoolte Lizenz auch nach einer erfolgreichen Lizenzserverkonfiguration auf NetScaler CPX nicht auf NetScaler CPX konfiguriert?
Überprüfen Sie die Lizenzkonfigurationsprotokolle in der Datei /cpx/log/boot.log . Sie können die konfigurierte gepoolte Lizenz auf NetScaler CPX auch mithilfe des folgenden Befehls auf der Shell-Schnittstelle des NetScaler CPX-Pods überprüfen:
cli_script.sh “show capacity”
Beispiel:
root@cpx-ingress-596d56bb6-zbx6h:/cpx/log# cli_script.sh "show capacity" exec: show capacity Actualbandwidth: 1000 MaxVcpuCount: 2 Edition: Platinum Unit: Mbps Bandwidth: 0` `Maxbandwidth: 40000 Minbandwidth: 20 Instancecount: 1 Done
Stellen Sie außerdem sicher, dass die erforderlichen Lizenzdateien in den Lizenzserver hochgeladen wurden. Sie können auch die verfügbaren Lizenzen auf dem Lizenzserver überprüfen, nachdem er erfolgreich auf NetScaler CPX konfiguriert wurde, indem Sie den folgenden Befehl verwenden. Führen Sie den Befehl auf der Shell-Schnittstelle des NetScaler CPX-Pods aus:
cli_script.sh “sh licenseserverpool”
Beispiel:
root@cpx-ingress-596d56bb6-zbx6h:/cpx/log# cli_script.sh "show licenseserverpool" exec: show licenseserverpool Instance Total : 5 Instance Available : 4 Standard Bandwidth Total : 0 Mbps Standard Bandwidth Availabe : 0 Mbps Enterprise Bandwidth Total : 0 Mbps Enterprise Bandwidth Available : 0 Mbps Platinum Bandwidth Total : 10.00 Gbps Platinum Bandwidth Available : 9.99 Gbps CP1000 Instance Total : 100 CP1000 Instance Available : 100 Done <!--NeedCopy-->
-
Warum erhalten NITRO-API-Aufrufe eine Antwort von NetScaler CPX auf Verbindung verweigert ?
Der Standardport für NITRO-APIs ist 9080 (unsicher) und 9443 (sicher) ab NetScaler CPX Release 12.1. Stellen Sie sicher, dass der NITRO-Port von NetScaler CPX, auf den Sie zugreifen möchten, auf dem Pod verfügbar ist. Sie können den
kubectl describe
Befehl ausführen, um den bereitgestellten und zugeordneten Port des NetScaler CPX-Containers im Abschnitt NetScaler CPX-Container anzuzeigen:kubectl describe pods <pod-name> | grep -i port
Beispiel:
ng472 | grep -i port Ports: 80/TCP, 443/TCP, 9080/TCP, 9443/TCP Host Ports: 0/TCP, 0/TCP, 0/TCP, 0/TCP NS_HTTP_PORT: 9080 NS_HTTPS_PORT: 9443 Port: <none> Host Port: <none> NS_PORT: 80 <!--NeedCopy-->
-
Warum verbraucht der NSPPE-Prozess in NetScaler CPX den größten Teil der CPU-Auslastung, selbst wenn kein oder wenig Verkehr vorhanden ist?
Wenn NetScaler CPX mit der
CPX_CONFIG=’{“YIELD”:”NO”}'
Umgebungsvariablen bereitgestellt wird, verbraucht der NSPPE-Prozess 100 Prozent CPU-Auslastung, selbst wenn kein oder nur wenig Datenverkehr vorhanden ist. Wenn Sie möchten, dass der NSPPE-Prozess die CPU-Auslastung nicht verbraucht, müssen Sie NetScaler CPX ohne dieCPX_CONFIG=’{“YIELD”:”NO”}
Umgebungsvariable bereitstellen. Standardmäßig ist der NSPPE-Prozess in CPX so konfiguriert, dass er die CPU-Auslastung nicht belastet oder verbraucht. -
Warum ist NetScaler CPX nicht in NetScaler ADM aufgeführt, selbst wenn es mit den erforderlichen Umgebungsvariablen für die Registrierung bei NetScaler ADM bereitgestellt wurde?
Die Protokolle für die NetScaler CPX-Registrierung bei NetScaler ADM finden Sie in der Datei /cpx/log/boot.log im NetScaler CPX-Dateisystem.
Sie können die Zugänglichkeit der NetScaler ADM-IP-Adresse über den NetScaler CPX-Pod mit dem Befehl
ping
überprüfen. Stellen Sie außerdem sicher, dass alle erforderlichen Umgebungsvariablen für die NetScaler ADM-Registrierung für den NetScaler CPX-Container konfiguriert sind.-
NS_MGMT_SERVER
: Gibt die ADM-IP-Adresse oder den FQDN an. -
HOST
: Gibt die IP-Adresse des Knotens an. -
NS_HTTP_PORT
: Gibt den zugeordneten HTTP-Port auf dem Knoten an. -
NS_HTTPS_PORT
: Gibt den zugeordneten HTTPS-Port auf dem Knoten an. -
NS_SSH_PORT
: Gibt den zugeordneten SSH-Port auf dem Knoten an. -
NS_SNMP_PORT
: Gibt den zugeordneten SNMP-Port auf dem Knoten an. -
NS_ROUTABLE
: Die NetScaler CPX-Pod-IP-Adresse kann nicht von außen weitergeleitet werden. -
NS_MGMT_USER
: Gibt den ADM-Benutzernamen an. -
NS_MGMT_PASS
: Gibt das ADM-Kennwort an.
-
-
Warum wird die Fehlermeldung Ungültiger Benutzername oder Kennwort
cli_script.sh
angezeigt, nachdem das Kennwort für den nsroot-Benutzer geändert wurde?Der Befehl
cli_script.sh
ist ein Wrapper-Dienstprogramm für NSCLI auf NetScaler CPX. Es führt das erste Argument als Befehlszeichenfolge oder Dateipfad aus, und das zweite Argument ist optional, nämlich Anmeldeinformationen. Wenn das Kennwort für den nsroot-Benutzer geändert wird, müssen Sie Anmeldeinformationen als zweites Argument für angebencli_script.sh
. Sie können den folgenden Befehl ausführen, um NSCLI mit Anmeldeinformationen auszuführen:cli_script.sh “<command>” “:<username>:<password>”
Beispiel:
root@087a1e34642d:/# cli_script.sh "show ns ip" exec: show ns ip ERROR: Invalid username or password root@087a1e34642d:/# cli_script.sh "show ns ip" ":nsroot:nsroot123" exec: show ns ip Ipaddress Traffic Domain Type Mode Arp Icmp Vserver State -------------- ---- ---- --- ---- ------- ------ ----- 172.17.0.3 0 NetScaler IP Active Enabled Enabled NA Enabled 192.0.0.1 0 SNIP Active Enabled Enabled NA Enabled Done
-
Warum schlägt SSH zu NetScaler CPX mit
root
undnsroot
Benutzer fehl?Ab Version 13.0-64.35 generiert NetScaler CPX ein Standardkennwort und aktualisiert es für SSH-Benutzer -
root
undnsroot
. Wenn Sie das Kennwort nicht manuell geändert haben, finden Sie das Kennwort für SSH-Benutzer/var/deviceinfo/random_id
im Dateisystem von NetScaler CPX.