Nginx是一款自由的、开源的、高性能的HTTP服务器和反向代理服务器,对其进行跟踪可以帮助我们更好的了解应用服务的运行状况。本文将详细介绍Nginx的链路跟踪的安装过程。
前提条件
获取接入点信息
- 登录可观测链路 OpenTelemetry 版控制台。
- 在左侧导航栏单击集群配置,然后在右侧页面单击接入点信息页签。
- 在页面顶部选择需要接入的地域,然后在集群信息区域打开显示Token开关。
- 在客户端采集工具区域单击需要使用的链路数据采集客户端。
在下方表格的相关信息列中,获取接入点信息。
说明 如果应用部署于阿里云生产环境,则选择阿里云VPC网络接入点,否则选择公网接入点。对于Zipkin,一般情况下请使用v2版接入点,v1版接入点仅限对Zipkin十分了解的高阶用户使用。
教程概述
当Nginx代理的微服务出现假死现象时,因为采集不到任何数据,所以无法评估造成的影响。借助链路追踪,我们追踪微服务的上游Nginx,并快速统计出假死现象影响的访问量。
在Docker上部署和跟踪Nginx
- 下载Dockerfile并编译部署。
wget https://arms-apm.oss-cn-hangzhou.aliyuncs.com/demo/nginx-jaeger-docker.tgz tar -xzvf nginx-jaeger-docker.tgz cd nginx-jaeger // 编译docker docker build --rm --tag nginx-jaeger:0.1 .
- 运行Docker。
docker run --rm -p 80:80 -e "GRPC_HOST=${GRPC_HOST}" -e "GRPC_AUTH=${DRPC_AUTH}" -d jaeger-nginx:0.1
${GRPC_HOST}
和${GRPC_AUTH}
是前提条件中保存的Agent接入点信息。例如:
docker run --rm -p 80:80 -e "GRPC_HOST=tracing-analysis-dc-hz.aliyuncs.com:1883" -e "GRPC_AUTH=123abc@123abc_789abc@456abc}" -d jaeger-nginx:0.1
在ECS上部署和跟踪Nginx
- 安装Nginx。
- 安装OpenTracing插件。
- 使用Jaeger进行链路追踪。
在其他环境上部署和跟踪Nginx
- 从Registry中拉取镜像。
docker pull registry.cn-hangzhou.aliyuncs.com/public-community/jaeger-nginx:0.1
- 运行Nginx Docker。
docker run --rm -p 80:80 -e "GRPC_HOST=${GRPC_HOST}" -e "GRPC_AUTH=${GRPC_AUTH}" -d registry.cn-hangzhou.aliyuncs.com/public-community/jaeger-nginx:0.1
${GRPC_HOST}
和${GRPC_AUTH}
是前提条件中保存的Agent接入点信息。例如:
docker run --rm -p 80:80 -e "GRPC_HOST=tracing-analysis-dc-hz.aliyuncs.com:1883" -e "GRPC_AUTH=123abc@123abc_789abc@456abc}" -d jaeger-nginx:0.1
- 访问Nginx页面。在浏览器访问localhost/nginx.conf或者curl "localhost/nginx.conf"。
查看结果
登录ARMS控制台后,在 页面选择目标应用,查看链路数据。
说明 语言列显示
图标的应用为接入应用监控的应用,显示-图标的应用为接入可观测链路 OpenTelemetry 版的应用。
