search cancel

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

book

Article ID: 134582

calendar_today

Updated On:

Products

CA API Gateway

Issue/Introduction

背景

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


状況

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

1. 保護されたサービスがAPI Gatewayからのトラフィックを受信していません。

2. 1つまたは複数のノードがエンタープライズサービスマネージャを介してオフラインまたは不明としてレポートされます。

3. 1つ以上のノードが、Policy Managerのダッシュボードを介してダウンとしてレポートされています。

4. API Gateway(SSG)サービスが実行されていません。

5. Gatewayログファイルに新しいログエントリが生成されていません。

Environment

Release:


Component:

Resolution

対策

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

Additional Information

この情報は、サポートオンラインに掲載されている以下のナレッジベースを翻訳したものです。

Article Id: 42511 - Troubleshooting Gateway application failures, performance concerns, and service outages