NetScaler CPX のトラブルシューティング

最終公開日 : Sep 25, 2026
このドキュメントでは、NetScaler CPX の使用中に発生する可能性のある問題のトラブルシューティング方法について説明します。このドキュメントを使用すると、ログを収集して原因を特定し、NetScaler CPX のインストールと構成に関連する一般的な問題の回避策を適用できます。
  • NetScaler CPX でメモリ使用率が常に高いのはなぜですか?
メモリ使用率は、NetScaler CPX の現在のメモリ使用量と、NetScaler CPX がオペレーティングシステム (OS) から自身に割り当てる合計メモリを比較することによって決定されます。NetScaler CPX は、起動と基本的な操作のために、OS から必要最小限のメモリを割り当てて開始します。当初、NetScaler CPX は操作に必要な最小限のメモリを割り当てるため、メモリ消費率は高くなります。最終的に、NetScaler CPX の操作の拡張に伴い、より多くのリソースの必要性が高まるにつれて、NetScaler CPX は OS から追加のメモリを段階的に割り当て、メモリ使用量も高くなり、結果としてメモリ使用率が高くなります。
したがって、NetScaler CPX の動的なメモリ割り当て戦略により、NetScaler CPX は通常、高いメモリ使用率を示しますが、これは利用可能なメモリの不足ではなく、リソースの効率的な使用を反映しています。
  • NetScaler CPX のログを表示するにはどうすればよいですか?
    NetScaler CPX が tty:true オプションで展開されている場合、kubectl logs コマンドを使用して NetScaler CPX のログを表示できます。次のコマンドを実行してログを表示できます。
    kubectl logs <pod-name> [-c <container-name>] [-n <namespace-name>]
    例:
    kubectl logs cpx-ingress1-69b9b8c648-t8bgn -c cpx -n citrix-adc
    以下は、tty:true オプションを使用した NetScaler CPX ポッド展開の例です。
      containers:
        - name: cpx-ingress
          image: "quay.io/citrix/citrix-k8s-cpx-ingress:13.0-58.30"
          tty: true
          securityContext:
             privileged: true
          env:
    NetScaler CPX ファイルシステムの /cpx/log/boot.log ファイルで、より多くのブートログを見つけることができます。
    注: ポッド名を取得するには、kubectl get pods -o wide コマンドを実行します。
  • NetScaler CPX からテクニカルサポートバンドルを収集するにはどうすればよいですか?
    Kubernetes マスターノードのシェルインターフェイスで次のコマンドを実行すると、NetScaler CPX のテクニカルサポートバンドルを収集できます。
    kubectl exec <cpx-pod-name> [-c <cpx-container-name>] [-n <namespace-name>] /var/netscaler/bins/cli_script.sh "show techsupport"
    NetScaler CPX のファイルシステムの /var/tmp/support ディレクトリでテクニカルサポートバンドルを表示できます。scp または kubectl cp を使用して、NetScaler CPX から目的の宛先にテクニカルサポートバンドルをコピーします。
    例:
    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
  • NetScaler CPX pod が起動中にスタックするのはなぜですか?
    kubectl describe pods コマンドを使用して pod のステータスを確認できます。pod のステータスを知るには、次のコマンドを実行します。
    kubectl describe pods <pod-name> [-c <container-name>] [-n <namespace-name>]
    例:
    kubectl describe pods cpx-ingress1-69b9b8c648-t8bgn
    pod イベントでコンテナが起動していると表示される場合は、pod のログを確認する必要があります。
  • NetScaler CPX pod と Kubernetes マスターノード間でファイルをコピーするにはどうすればよいですか?
    docker のボリュームマウント機能を使用して、/cpx ディレクトリをホストのファイルシステムにマウントすることをお勧めします。NetScaler CPX コンテナがコアダンプで終了した場合、ログやその他の重要なデータはマウントポイントで利用できます。
    NetScaler CPX pod と Kubernetes マスターノード間でファイルをコピーするには、次のいずれかのコマンドを使用できます。
    kubectl cp: pod からノードにファイルをコピーするには、次のコマンドを実行します。
    kubectl cp <pod-name>:<absolute-src-path> <dst-path> [-c <container-name>] [-n <namespace-name>]
    例:
    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: このコマンドを使用して、NetScaler CPX pod と Kubernetes ノード間でファイルをコピーできます。pod からノードにファイルをコピーするには、次のコマンドを実行します。パスワードの入力を求められたら、SSH ユーザーのパスワードを入力します。
    scp <user>@<pod-ip>:<absolute-src-path> <dst-path>
    例:
    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:~#
  • NetScaler CPX でパケットをキャプチャするにはどうすればよいですか?
    NetScaler CPX でパケットをキャプチャするには、kubectl exec コマンドを使用して NetScaler CPX のシェルインターフェイスを起動します。NetScaler CPX pod のシェルインターフェイスを起動するには、次のコマンドを実行します。
    kubectl exec -it pod-name [-c container-name] [-n namespace-name] bash
    例:
    kubectl exec -it cpx-ingress1-69b9b8c648-t8bgn -c cpx -n citrix-adc bash
    そして、パケットキャプチャを開始するには、次のコマンドを実行します。
    cli_script.sh “start nstrace -size 0”
    進行中のパケットキャプチャを停止したい場合は、次のコマンドを実行します。
    cli_script.sh “stop nstrace”
    NetScaler CPXファイルシステムの*/cpx/nstrace/time-stampディレクトリにある.cap*ファイルで、キャプチャされたパケットを表示できます。
  • NetScaler CPXがLS_IP=<ADM-IP>環境変数で展開されているのに、ライセンスサーバーが構成されていないのはなぜですか?
    NetScaler CPXが展開されているノードからライセンスサーバーにアクセスできることを確認してください。NetScaler CPXノードからNetScaler Consoleへの接続を確認するには、ping <ADM-IP>コマンドを使用できます。
    ノードからNetScaler Consoleにアクセスできる場合は、/cpx/log/boot.logファイルでライセンスサーバーの構成ログを確認する必要があります。NetScaler CPXポッドのシェルインターフェースで次のコマンドを使用して、ライセンスサーバーの構成を確認することもできます。
    cli_script.sh "show licenseserver"
    例:
    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
  • NetScaler CPXでライセンスサーバーの構成が成功した後でも、NetScaler CPXでプールライセンスが構成されていないのはなぜですか?
    /cpx/log/boot.logファイルでライセンス構成ログを確認してください。NetScaler CPXポッドのシェルインターフェースで次のコマンドを使用して、NetScaler CPXで構成されたプールライセンスを確認することもできます。
    cli_script.sh “show capacity”
    例、,
    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
    また、必要なライセンスファイルがライセンスサーバーにアップロードされていることを確認してください。NetScaler CPXでライセンスサーバーが正常に構成された後、次のコマンドを使用してライセンスサーバーで利用可能なライセンスを確認することもできます。このコマンドはNetScaler CPXポッドのシェルインターフェースで実行します。
    cli_script.sh “sh licenseserverpool”
    例:
    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
  • NetScaler CPXからのNITRO API呼び出しでConnection Refused応答が返されるのはなぜですか?
    NetScaler CPXリリース12.1以降、NITRO APIのデフォルトポートは9080(非セキュア)と9443(セキュア)です。アクセスしようとしているNetScaler CPXのNITROポートがポッドで公開されていることを確認してください。NetScaler CPXコンテナセクションでNetScaler CPXコンテナの公開ポートとマッピングされたポートを表示するには、kubectl describeコマンドを実行できます。
    kubectl describe pods &lt;pod-name> | grep -i port
    例:
    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
  • トラフィックがない、またはほとんどない場合でも、NetScaler CPXのNSPPEプロセスがCPU使用率のほとんどを消費するのはなぜですか?
    NetScaler CPXがCPX_CONFIG=’{“YIELD”:”NO”}'環境変数とともにデプロイされている場合、トラフィックがないか少ない場合でも、NSPPEプロセスはCPU使用率を100パーセント消費します。NSPPEプロセスにCPU使用率を消費させたくない場合は、CPX_CONFIG=’{“YIELD”:”NO”}環境変数なしでNetScaler CPXをデプロイする必要があります。デフォルトでは、CPXのNSPPEプロセスはCPU使用率を占有または消費しないように構成されています。
  • NetScaler Consoleへの登録に必要な環境変数でデプロイされているにもかかわらず、NetScaler CPXがNetScaler Consoleに表示されないのはなぜですか?
    NetScaler CPXのNetScaler Consoleへの登録ログは、NetScaler CPXファイルシステムの*/cpx/log/boot.log*ファイルにあります。
    NetScaler CPXポッドからNetScaler ConsoleのIPアドレスへのアクセス可能性は、pingコマンドを使用して確認できます。また、NetScaler Console登録に必要なすべての環境変数がNetScaler CPXコンテナに構成されていることを確認してください。
    • NS_MGMT_SERVER: ADMのIPアドレスまたはFQDNを指定します。
    • HOST: ノードのIPアドレスを指定します。
    • NS_HTTP_PORT: ノード上のマッピングされたHTTPポートを指定します。
    • NS_HTTPS_PORT: ノード上のマッピングされたHTTPSポートを指定します。
    • NS_SSH_PORT: ノード上のマッピングされたSSHポートを指定します。
    • NS_SNMP_PORT: ノード上のマッピングされたSNMPポートを指定します。
    • NS_ROUTABLE: NetScaler CPXポッドのIPアドレスは外部からルーティングできません。
    • NS_MGMT_USER: ADMのユーザー名を指定します。
    • NS_MGMT_PASS: ADMのパスワードを指定します。
  • nsrootユーザーのパスワードを変更した後、cli_script.shがInvalid user name or passwordというエラーメッセージを表示するのはなぜですか?
    コマンドcli_script.shは、NetScaler CPX上のNSCLIのラッパーユーティリティです。最初の引数をコマンド文字列またはファイルパスとして実行し、2番目の引数はオプションで資格情報です。nsrootユーザーのパスワードが変更された場合、cli_script.shの2番目の引数として資格情報を提供する必要があります。資格情報を使用してNSCLIを実行するには、次のコマンドを実行できます。
    cli_script.sh “&lt;command>” “:&lt;username>:&lt;password>”
    例:
     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
  • NetScaler CPXへのSSHがrootおよびnsrootユーザーで失敗するのはなぜですか?
    13.0-64.35リリース以降、NetScaler CPXはデフォルトのパスワードを生成し、SSHユーザーであるrootおよびnsrootに対してそれを更新します。パスワードを手動で変更していない場合、SSHユーザーのパスワードは、NetScaler CPXのファイルシステム上の/var/deviceinfo/random_idで見つけることができます。