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 der tty: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 oder kubectl 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 die CPX_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 angeben cli_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 und nsroot Benutzer fehl?

    Ab Version 13.0-64.35 generiert NetScaler CPX ein Standardkennwort und aktualisiert es für SSH-Benutzer - root und nsroot. 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.

NetScaler CPX Problembehandlung

In diesem Artikel