Router で NGINX デバッグログを有効にする

<ph type="x-smartling-placeholder"></ph> 現在、Apigee Edge のドキュメントが表示されています。
Apigee X のドキュメント
詳細

<ph type="x-smartling-placeholder">

Apigee では、ルーターがエラーログ ファイルにエラー メッセージのみをログに記録するように構成されています。 あります。しかし、状況によってはより多くの情報を収集し、 特定のエラーが発生した理由を特定できます。その方法の一つは、ルーターを デバッグモードで動作させることで、デバッグログを取得して、 迅速に解決できます

このドキュメントでは、Apigee Edge の Router で、 許可します。デバッグ ロギングを有効にすると、問題が発生した場合にさらに情報を取得できます。 不正な形式のリクエスト、 <ph type="x-smartling-placeholder"></ph> 400 Bad Request - SSL Certificate Error(400 不正なリクエスト - SSL 証明書エラー) ノースバウンド (クライアント アプリケーションと Router 間)で行われます。

<ph type="x-smartling-placeholder">

始める前に

  • NGINX のエラーログとロギング レベルについてよく理解していない場合は、 NGINX エラーログのドキュメント
  • API リクエストの組織、環境、仮想ホストの名前を収集します。 デバッグ情報を収集する必要があります。

Router で NGINX デバッグログを有効にする

このセクションでは、Edge Router でデバッグログを有効にする方法について説明します。

<ph type="x-smartling-placeholder">

関連する仮想ホスト構成ファイルの特定

次の手順では、Router で関連する仮想ホスト構成ファイルを見つける方法について説明します。

  1. 特定の API の組織名、環境名、仮想ホストがわかっている場合 デバッグするリクエストを選択してから、 次のように仮想ホストの conf ファイルを決定します。 <ph type="x-smartling-placeholder">
      </ph>
    1. /opt/nginx/conf.d/ ディレクトリに移動します。
    2. ファイル ORG_NAME_ENV_NAME_VIRTUALHOST.conf を検索 conf.d ディレクトリに配置します。
      ls -ltrh | grep "ORG_NAME_ENV_NAME_VIRTUALHOST_NAME"
      
  2. 組織名がわからない場合は、仮想ホストの構成を識別して 次のように、API リクエストで使用されるホスト エイリアス名を使用します。

    /opt/nginx/conf.d/ ディレクトリに移動し、次を検索します。 次のコマンドを使用してリクエストが行われた hostalias:

    ls -ltrh | grep -r 'HOST_ALIAS_NAME'
    

    出力例:

    ホスト エイリアス名が opdk.cert-test.com であるとします。「 ls -ltrh コマンドを使用すると、次のような出力が表示されます。

    <ph type="x-smartling-placeholder">

Router で特定の仮想ホストのデバッグ ロギングを有効にする

次の手順では、特定のサービスの Apigee Router でデバッグログを有効にする方法について説明します。 構成されます。

  1. ルーターマシン上の次のファイルをエディタで開きます。 /opt/nginx/conf.d/ORG_NAME_ENV_NAME_VIRTUALHOST_NAME.conf。 次に例を示します。
    vi /opt/nginx/conf.d/ORG_NAME_ENV_NAME_VIRTUALHOST_NAME.conf
    
  2. 次の行を変更します。
    error_log /opt/apigee/var/log/edge-router/nginx/ORG_NAME~ENV_NAME.PORT_error_log error;
    

    から

    error_log /opt/apigee/var/log/edge-router/nginx/ORG_NAME~ENV_NAME.PORT_error_log info;
    
  3. 変更を保存します。
  4. NGINX の再読み込みコマンドを実行します。次に例を示します。
    sudo /opt/nginx/scripts/apigee-nginx reload
    
  5. 次のファイルで debug ログを取得します。
    /opt/apigee/var/log/edge-router/nginx/ORG_NAME~ENV_NAME.PORT_error_log
    
  6. 複数の Router でデバッグログをキャプチャする場合は、それぞれの Router でこの手順を繰り返します。 接続されます。

デバッグ情報が NGINX エラー ログファイルに記録されることを確認する

  1. クライアントが仮想ホストに関連付けられているホスト エイリアスとポートで API リクエストを行うと 次のファイルにデバッグログが記録されます。

    /opt/apigee/var/log/edge-router/nginx/ORG_NAME~ENV_NAME.PORT_error_log

  2. 次の例のように、API リクエストのデバッグ情報が表示されていることを確認します。

    デバッグ情報の例:

    2021/01/27 02:48:40 [warn] 27624#27624: *3777 a client request body is buffered to a temporary file /opt/apigee/var/log/edge-router/nginx/client_temp/0000000001, client: XX.XX.XX.XX, server: XX.XX.XX.XX, request: "POST /post-no-target HTTP/1.1", host: "XX.XX.XX.XX:443"
    

    上記の情報は、クライアントが POST リクエストを 記述できますこのログは、デバッグ ロギングが有効になっている場合にのみ表示されます。

  3. 追加のデバッグ情報が表示されない場合は、 手順については、 Router 上の特定の仮想ホストのデバッグ ロギングを有効にすることが正しく機能しました。既存の 手順をすべて間違えた場合は、すべての手順を正しく繰り返します。
  4. それでもデバッグ情報を取得できない場合は、Apigee Edge サポートにお問い合わせください。

Router 上の特定の仮想ホストのデバッグログを無効にする

このセクションでは、特定の仮想ホストについて Router のデバッグログを無効にする方法について説明します。

  1. ルーターマシン上の次のファイルをエディタで開きます。 /opt/nginx/conf.d/ORG_NAME_ENV_NAME_VIRTUALHOST_NAME.conf 次に例を示します。
    vi /opt/nginx/conf.d/ORG_NAME_ENV_NAME_VIRTUALHOST_NAME.conf
    
  2. 次の行を変更します。

    error_log /opt/apigee/var/log/edge-router/nginx/ORG_NAME~ENV_NAME.PORT_error_log info;
    

    から

    error_log /opt/apigee/var/log/edge-router/nginx/ORG_NAME~ENV_NAME.PORT_error_log error;
    
  3. 変更を保存します。
  4. NGINX の再読み込みコマンドを実行します。次に例を示します。
    /opt/nginx/scripts/apigee-nginx reload
    
  5. 次のファイルではエラーログのみが取得されるようになります。
    /opt/apigee/var/log/edge-router/nginx/ORG_NAME~ENV_NAME.PORT_error_log
    
  6. 複数の Router でデバッグログを停止する場合は、それぞれのルーターでこの手順を繰り返します。 構成されます

エラー情報のみが NGINX エラー ログファイルに記録されることを確認する

  1. 特定の仮想ホストに関連付けられたホスト エイリアスとポートでいくつかの API リクエストを行う クライアントがリクエストを行うのを待ちます。
  2. 次のファイルを確認します。 /opt/apigee/var/log/edge-router/nginx/ORG_NAME~ENV_NAME.PORT_error_log
  3. エラー情報のみが表示され、デバッグ情報が表示されなくなったことを確認します。 ログに記録されます。
  4. それでも追加のデバッグ情報がログに記録される場合は、以下を確認してください。 に記載されているすべての手順に従った Router 上の特定の仮想ホストのデバッグログを無効にすることが正しく機能しました。既存の 手順をすべて間違えた場合は、すべての手順を正しく繰り返します。
  5. それでもデバッグ情報を取得できない場合は、 Apigee Edge のサポート