<ph type="x-smartling-placeholder"></ph>
您正在查看 Apigee Edge 文档。
转到
Apigee X 文档。 信息
在 Apigee 上,路由器配置为仅记录错误日志文件中的错误消息, 默认值。不过,在很多情况下,您可能需要收集更多信息, 确定发生特定错误的原因。其中一种方法是将路由器配置为 在调试模式下运行,以便获取调试日志,从而获取更多 并更快地予以解决。
本文档介绍了如何在 Apigee Edge 的路由器上为 特定虚拟主机。可以启用调试日志记录功能,以便在出现任何错误时捕获更多信息。 例如请求格式不正确 <ph type="x-smartling-placeholder"></ph> 400 Bad Request - SSL Certificate Error(400 请求 - SSL 证书错误)位于 北向 (在客户端应用和路由器之间)。
<ph type="x-smartling-placeholder">准备工作
- 如果您不熟悉 NGINX 错误日志和日志记录级别,请参阅 NGINX 错误日志文档。
- 收集要处理的 API 请求的组织、环境和虚拟主机名 您需要收集调试信息。
在路由器上启用 NGINX 调试日志
本部分介绍如何在边缘路由器上启用调试日志。
<ph type="x-smartling-placeholder">确定相关的虚拟主机配置文件
以下步骤介绍了如何在路由器上查找相关的虚拟主机配置文件:
- 如果您知道特定 API 的组织名称、环境名称和虚拟主机
想要调试的 请求,然后
确定虚拟主机 conf 文件,如下所示:
<ph type="x-smartling-placeholder">
- </ph>
- 导航到
/opt/nginx/conf.d/
目录。 - 搜索文件 ORG_NAME_ENV_NAME_VIRTUALHOST
.conf
文件添加到conf.d
目录中:ls -ltrh | grep "ORG_NAME_ENV_NAME_VIRTUALHOST_NAME"
- 导航到
-
如果您不知道组织名称,可以确定虚拟主机配置 修改文件,具体如下所示:
转到
/opt/nginx/conf.d/
目录并搜索:hostalias
:ls -ltrh | grep -r 'HOST_ALIAS_NAME'
示例输出:
假设主机别名为
opdk.cert-test.com
。运行ls -ltrh
命令,您将看到如下所示的输出:
为路由器上的特定虚拟主机启用调试日志记录
以下步骤介绍了如何在 Apigee Router 上启用调试日志, 虚拟主机。
- 在路由器计算机上,使用编辑器打开以下文件:
/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
请求时,系统会捕获上面显示的信息 大型载荷。只有在启用调试日志记录功能后,系统才会显示此日志。 - 如果您没有看到其他调试信息,请确认您已遵循所有 中列出的步骤 为路由器上的特定虚拟主机正确启用调试日志记录。如果您有 遗漏了任何步骤,请重新正确地重复所有步骤。
- 如果您仍无法获得调试信息,请联系 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
- 以下文件现在仅捕获错误日志:
/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
- 验证您是否只看到错误信息,调试信息已不再显示 为请求记录日志。
- 如果您发现系统仍在记录其他调试信息,请验证您是否 进行了以下操作: 为路由器上特定虚拟主机正确停用调试日志。如果您有 遗漏了任何步骤,请重新正确地重复所有步骤。
- 如果您仍无法获取调试信息,请联系 Apigee Edge 支持。