API Gatewayアプリケーションの障害、性能上の懸念、およびサービスの停止についてのトラブルシューティング

Document created by Seiji_Moriyama Employee on Jul 24, 2017
Version 1Show Document
  • View in full screen mode

文書番号: JTEC002602
製品名: CA API Gateway
バージョン: ALL

 

 

背景

 

状況によっては、API Gatewayがメッセージトラフィックの処理に失敗することがあります。 これにより、クラスタ内の1つ以上のノードが適切な量のトラフィックを処理できないため、可用性が失われたり低下する可能性があります。

 

状況

 

次のいずれかの状況が観測されることがあります。

 

  1. 保護されたサービスがAPI Gatewayからのトラフィックを受信していません。
  2. 1つまたは複数のノードがエンタープライズサービスマネージャを介してオフラインまたは不明としてレポートされます。
  3. 1つ以上のノードが、Policy Managerのダッシュボードを介してダウンとしてレポートされています。
  4. API Gateway(SSG)サービスが実行されていません。
  5. Gatewayログファイルに新しいログエントリが生成されていません。

 

対策

 

API GatewayアプライアンスまたはGatewayサービスを再起動する前に、いくつかの情報を採取する必要があります。 それを行わずにアプリケーションまたはサービスを再起動すると、重要な診断データが失われる可能性があります。 診断データが失われた場合、診断は問題の再発を待つ必要があります。 以下のコマンドは、ダウンタイムや可用性の問題を引き起こすことなく、実稼動環境に対して実行できます。

 

システム統計情報

 

以下のコマンドは、すべてAPI Gatewayの特権シェルから実行する必要があります。 API Gatewayの特権シェルへのアクセスの詳細については、「Root コマンドの特権シェル」を参照してください。

 

  1. top -n 1 -b > /home/ssgconfig/top
  2. ps -e -o pid,args --forest > /home/ssgconfig/ps-forest
  3. ps awwx -mo pid,lwp,stime,time,c,cmd > /home/ssgconfig/ps-lwp
  4. egrep "8080|8443|9443" /proc/net/ip_conntrack > /home/ssgconfig/ip_conntrack_port
  5. cat /proc/sys/net/ipv4/netfilter/ip_conntrack_count > /home/ssgconfig/ip_conntrack_count
  6. ethtool -S ethX > /home/ssgconfig/ethtool-ethX (注:値「X」は、Gatewayアプライアンスの1つ以上のインターフェイスに対応する必要があります)
  7. iptables -nvL > /home/ssgconfig/iptables-counter
  8. ss -o state established \( sport = :8080 or sport = :8443 or sport = :9443 \) \ dst 0.0.0.0/0 | egrep -v Recv-Q | wc -l
    • 上記のコマンドは、確立されたインバウンド接続の数をカウントします。 このコマンドは、クラスタ内のすべてのノードで実行する必要があります。
  9. ss -o state established \( sport = :8080 or sport = :8443 or sport = :9443 \) \ dst 0.0.0.0/0 | grep -v ^0 | egrep -v Recv-Q | wc -l
    • 上記のコマンドは、キューイングされたインバウンド接続の数をカウントします。 このコマンドは、クラスタ内のすべてのノードで実行する必要があります。
  10. ss -o state established \( dport = :http or dport = :https \) \ dst 0.0.0.0/0 | egrep -v Recv-Q | wc -l
    • 上記のコマンドは、アウトバウンド接続の数をカウントします。 このコマンドは、クラスタ内のすべてのノードで実行する必要があります。

 

ガベージコレクション(GC)

 

  1. sudo su gateway
  2. /opt/SecureSpan/JDK/bin/jstat -gcutil `cat /opt/SecureSpan/Gateway/node/default/var/ssg.pid` 10s > ~/gc_output.txt
    • 上記のコマンドは、ガベージコレクションのデータを10秒ごとに収集し、gc_output.txtファイルに格納します。 コマンドはできるだけ長く(5~60分)実行し、そのファイルをCAサポートにご提供ください。
    • CAサポートエンジニアが長期間(数日または数週間)に渡ってこのデータを収集するようお願いした場合は、上記のコマンドの代わりに次の手順を完了する必要があります。
      1. 次のファイルを編集する: /opt/SecureSpan/Gateway/node/default/etc/conf/node.properties
      2. 上記のファイルに右の設定の行を追加する: node.java.opts = -verbosegc -XX:+PrintGCDetails -Xloggc:/tmp/gc.log
      3. 編集したファイルを保存する。
      4. 変更を反映させるには、API Gatewayサービスを再起動します。service ssg restart
        • この時点では、/tmp/gc.logにガベージコレクション診断データのためのファイルが書き込まれます。 この診断データは、CAサポートエンジニアからお願いした期間実行してCAサポートにご返送ください。 診断データの採取後は、上記の手順2の行をコメントにし、もう一度手順3と4を実施し、ガベージコレクション診断プロセスを無効にしてください。
                      

 

スレッドダンプ

 

スレッドダンプは、特定のJava仮想マシン(JVM)内で特定のJavaアプリケーションが何をしているかに関する情報をビューアに提供します。 API Gatewayアプライアンスの特権シェルから次のコマンドを実行してください。

 

  1. sudo su gateway
  2. ps awwx | grep Gateway.jar | grep -v grep | awk '{print $1}' | xargs -I{} /opt/SecureSpan/JDK/bin/jstack {}> /tmp/thread.tdump

 

ヒープダンプ

 

ヒープ・ダンプは、Java仮想マシン内のJavaアプリケーションのメモリー状態です。 これは、 Gatewayが割り当てられたメモリをどのように使用しているかを診断するのに役立ちます。 API Gatewayアプライアンスの特権シェルから次のコマンドを実行してください。

 

  1. sudo su gateway
  2. ps awwx | grep Gateway.jar | grep -v grep | awk '{print $1}' | xargs /opt/SecureSpan/JDK/bin/jmap -dump:live,format=b,file=/tmp/heap.hprof

 

環境設定

 

API Gatewayの展開方法と構成方法を理解することが重要です。 次のファイルとコマンドは、API Gatewayの展開の状態とその構成方法を確認するのに便利です。

 

  1. rpm -q ssg ssg-appliance
  2. rpm -q --verify ssg ssg-appliance
    • 上記のコマンド出力に記載されているファイルの内容は、サポートケースに添付して提供してください。
  3. ls -halt /opt/SecureSpan/Gateway/runtime/modules/assertions/
  4. ls -halt /opt/SecureSpan/Gateway/runtime/lib/ext
  5. netstat -tnap
  6. ps awwx
  7. dmidecode -t 1
    • 上記のコマンドは、アプライアンスが、物理アプライアンスか仮想アプライアンスかを確認します。この情報は環境に固有のソリューションをCAサポートが提供する際の助けになります。
  8. free -m
  9. vmstat -t 1 240
    • 問題が実際に発生している間、これは情報が最も有用であることにご留意ください。 時間の値は必要に応じて調整することができます。
  10. last | grep reboot

 

構成ファイルとログファイル

 

以下のファイルから、API Gatewayアプライアンスが現在どのように動作しているかをCAサポートは認識します。 以下のファイルの省略のない完全なコピーを提供してください:

 

  1. /opt/SecureSpan/Gateway/node/default/var/logs/*
  2. /opt/SecureSpan/Controller/var/logs/*
  3. /opt/SecureSpan/Gateway/node/default/etc/conf/*.properties
  4. /opt/SecureSpan/Controller/etc/conf/host.properties
  5. /var/log/messages
  6. /var/log/dmesg
  7. /var/log/bash_commands.log

 

 

この情報は、CA Support Online に掲載されている以下のナレッジベースを翻訳したものです。
TEC0000001265     Troubleshooting Gateway application failures, performance concerns, and service outages

Attachments

    Outcomes