NGINX 调试、性能调优与控制器设置指南
1. 调试与请求追踪
在 NGINX Plus R10 和 NGINX 1.11.0 版本中,引入了 $request_id
变量,它是一个由 32 个十六进制字符组成的随机字符串,可用于唯一标识请求。将这个标识符传递给客户端和应用程序,就能将日志与请求关联起来。客户端会在响应头中收到这个唯一字符串,可用于搜索对应的日志条目。为了实现日志之间真正的端到端关联,需要让应用程序捕获并记录这个头部信息。借助这一特性,NGINX 能够在应用程序栈中追踪请求。
1.1 OpenTracing for NGINX
如果你有一个支持 OpenTracing 的追踪服务器,并希望将其与 NGINX 或 NGINX Plus 集成,可以按照以下步骤操作:
1. 准备工作 :
- 确保有一个兼容 OpenTrace 的服务器,并在 NGINX 或 NGINX Plus 节点上安装正确的客户端。
- 需要为特定的 OpenTrace 兼容服务器准备一个插件配置文件,这里以 Jaeger 和 Zipkin 为例:
- Jaeger 插件配置示例( /etc/jaeger/jaeger-config.json
):
{
"service_name": "nginx",
"sampler": {
"type": "const",
"param": 1
},
"reporter": {
"localAgentH