Send Docs Feedback

Note: Most user interface tasks can be performed in Edge Classic or the New Edge experience. For an overview, getting started topics, and release notes specific to the New Edge experience, see the docs.

Node.js プロキシのデバッグとトラブルシューティング

プロキシに追加した Node.js コードがすべて正しく機能することを確かめてから Edge に展開することをお勧めします。このトピックでは、Node.js アプリケーションを含むプロキシを展開後にデバッグおよびトラブルシューティングする方法について説明します。

接続プールサイズの増加によるパフォーマンス向上

パフォーマンスの低下に気づいたら、maxSockets を使用してデフォルトの Node.js 接続プールサイズを増やすか、完全にソケットのプールをやめるかします。詳細とサンプルコードについては、Apigee コミュニティの「Node.js Performance Tips: Socket Pooling」を参照してください。 

Node.js ログの表示

Node.js アプリケーションのログ情報を表示するには、次の手順に従います。

  1. API プロキシのメインページで、表示するプロキシをクリックします。
  2. 選択したプロキシのサマリーページで、ツールバー右側の「Node.js Logs」をクリックします。 

「Node.js Logs」ボタンは、非 Node.js API プロキシに対しては表示されません。 

「Logs」ページで、表示するログの期間を選択できます。以下に例を示します。ログには、HTTP メソッド呼び出し、呼び出しの成否、console.log メッセージなどが記録されます。検索フィールドに検索語句を入力すると、その語句を含むログエントリがすべて表示されます。 

トレースツールの使用

トレースツールは一般的なプロキシデバッグに便利です。トレースツールの使用に関する詳細については、「Trace ツールの使用」を参照してください。

 

コンソール出力の印刷

console.log 文を Node.js コードに埋め込んで、出力をトレースツールで表示できます。例えば、以下の文は、プロキシにアクセスするためにログインしようとしているユーザー名を印刷します。

console.log('Logging in as %s', config.username);

 

この console.log メッセージの出力はトレースツールで表示できます。API トレースツールで呼び出すだけで、「Script Output」パネルが開いて最終レスポンスが表示されます。以下に例を示します。 

 

Configuring Nginx target timeout settings

If you are using Nginx as a proxy and see "Bad Gateway" errors, try increasing the Nginx proxy timeout configuration as explained here:

例:

proxy_connect_timeout       60;
proxy_read_timeout          120;

理想的なタイムアウト構成は、サーバーが応答にかける時間によって異なります。例えば、それなりのバッファーを提供するには、45-60 秒の読み取りタイムアウトが最適ということが考えられます。 

 

Apigee ターゲットタイムアウト設定の構成

Apigee のデフォルトタイムアウト値は、TargetEndpoint の HttpTargetConnection でも構成できます。デフォルト値は以下のようになっています。

connect.timeout.millis - 60 seconds
io.timeout.millis - 120 seconds
<HTTPTargetConnection>
    <Properties>
        <Property name="connect.timeout.millis">5000</Property>
        <Property name="io.timeout.millis">5000</Property>
    </Properties>
    <URL>http://www.google.com</URL>
</HTTPTargetConnection>

Endpoint properties reference」も参照してください。

参考文献

デバッグの詳細については、以下を参照してください。

次のステップ

Apigee Edge での Node.js モジュールサポートの詳細、例えば、HTTP/HTTPS や TLS などの詳しい説明については、「Node.js モジュールの Edge サポートについて」を参照してください。 

 

Help or comments?