查看 Apigee Edge 說明文件。
前往
Apigee X說明文件。 資訊
在 Apigee 中,路由器會設定為僅記錄錯誤記錄檔中的錯誤訊息 預設值。不過在許多情況下,您可能需要收集更多資訊, 判斷發生特定錯誤的原因。其中一個方法是設定路由器 在偵錯模式下運作,方便您取得偵錯記錄檔,有助您取得更多資訊 並更快解決問題
本文件說明如何在 Apigee Edge 的路由器上為 特定的虛擬主機您可以啟用偵錯記錄功能,隨時擷取更多資訊 格式錯誤等問題 400 不正確的要求 - SSL 憑證錯誤, 北行 (在用戶端應用程式與路由器之間)。
事前準備
- 如果您不熟悉 NGINX 錯誤記錄和記錄層級,請參閱 NGINX 錯誤記錄檔說明文件。
- 收集 API 請求的機構、環境和虛擬主機名稱 您必須收集偵錯資訊
在路由器上啟用 NGINX 偵錯記錄檔
本節說明如何在 Edge Router 上啟用偵錯記錄。
找出相關的虛擬主機設定檔
下列步驟說明如何找出路由器上的相關虛擬主機設定檔:
- 如果您知道特定 API 的機構名稱、環境名稱和虛擬主機
然後傳送要偵錯的請求
確定虛擬主機的衝突檔案,如下所示:
- 前往
/opt/nginx/conf.d/
目錄。 - 搜尋檔案 ORG_NAME_ENV_NAME_VIRTUALHOST
.conf
複製到conf.d
目錄中:ls -ltrh | grep "ORG_NAME_ENV_NAME_VIRTUALHOST_NAME"
- 前往
-
如果您不知道機構名稱,可以找出虛擬主機設定 方法是使用在 API 要求中使用的主機別名名稱,如下所示:
前往
/opt/nginx/conf.d/
目錄並搜尋hostalias
(使用下列指令提出要求):ls -ltrh | grep -r 'HOST_ALIAS_NAME'
輸出內容範例:
假設主機別名名稱為
opdk.cert-test.com
,當您執行ls -ltrh
指令之後,您會看到以下輸出內容:
為路由器上的特定虛擬主機啟用偵錯記錄功能
下列步驟說明如何在 Apigee 路由器上,針對特定裝置啟用偵錯記錄檔 虛擬主機
- 在編輯器中開啟路由器機器上的下列檔案:
/opt/nginx/conf.d/ORG_NAME_ENV_NAME_VIRTUALHOST_NAME.conf
。 例如:vi /opt/nginx/conf.d/ORG_NAME_ENV_NAME_VIRTUALHOST_NAME.conf
- 變更下列程式碼:
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;
- 儲存變更。
- 執行 NGINX 重新載入指令。例如:
sudo /opt/nginx/scripts/apigee-nginx reload
- 下列檔案現在會擷取 debug 記錄:
/opt/apigee/var/log/edge-router/nginx/ORG_NAME~ENV_NAME.PORT_error_log
- 如要在多個路由器上擷取偵錯記錄檔,請在每個 路由器
確認偵錯資訊是否已記錄在 NGINX 錯誤記錄檔中
-
用戶端在與虛擬主機相關聯的主機別名和通訊埠上提出 API 要求後 設定、偵錯記錄,系統會在下列檔案中擷取:
/opt/apigee/var/log/edge-router/nginx/ORG_NAME~ENV_NAME.PORT_error_log
-
確認畫面顯示 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
要求傳送POST
要求時,系統會擷取上述資訊 大型酬載只有在啟用偵錯記錄功能時,系統才會顯示這個記錄。 - 如果沒有看到其他偵錯資訊,請確認您已確實遵守所有 步驟,如所述 正確為路由器上的特定虛擬主機啟用偵錯記錄功能。如果 錯過任何步驟,請再次正確重複所有步驟。
- 如果還是無法取得偵錯資訊,請與 Apigee Edge 支援團隊聯絡。
停用路由器上特定虛擬主機的偵錯記錄檔
本節說明如何針對特定虛擬主機停用路由器的偵錯記錄檔。
- 在編輯器中開啟路由器機器上的下列檔案:
/opt/nginx/conf.d/ORG_NAME_ENV_NAME_VIRTUALHOST_NAME.conf
例如:vi /opt/nginx/conf.d/ORG_NAME_ENV_NAME_VIRTUALHOST_NAME.conf
-
變更下列程式碼:
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;
- 儲存變更。
- 執行 NGINX 重新載入指令。例如:
/opt/nginx/scripts/apigee-nginx reload
- 下列檔案現在只會擷取 error 記錄:
/opt/apigee/var/log/edge-router/nginx/ORG_NAME~ENV_NAME.PORT_error_log
- 如要停止多個路由器的偵錯記錄檔,請在每個 路由器
僅驗證錯誤資訊會記錄在 NGINX 錯誤記錄檔中
- 在與特定虛擬主機相關聯的主機別名和通訊埠上提出一些 API 要求 或等待用戶端提出要求。
- 檢查下列檔案:
/opt/apigee/var/log/edge-router/nginx/ORG_NAME~ENV_NAME.PORT_error_log
- 確認您只看到錯誤資訊,且偵錯資訊已離開 第 3 層則會記錄要求
- 如果系統持續記錄其他偵錯資訊,請確認您是否 遵循 中列出的所有步驟 正確停用路由器上特定虛擬主機的偵錯記錄。如果 錯過任何步驟,請再次正確重複所有步驟。
- 如果還是無法取得偵錯資訊,請與 Apigee Edge 支援。