在使用可观测链路 OpenTelemetry 版控制台追踪Nginx的链路数据之前,需要将链路数据上报至可观测链路 OpenTelemetry 版服务端。本文介绍如何通过SkyWalking Nginx LUA module上报Nginx的链路追踪数据。
前提条件
获取接入点信息
- 登录可观测链路 OpenTelemetry 版控制台。
- 在左侧导航栏单击集群配置,然后在右侧页面单击接入点信息页签。
- 在页面顶部选择需要接入的地域,然后在集群信息区域打开显示Token开关。
- 在客户端采集工具区域单击SkyWalking。
在下方表格的相关信息列中,获取接入点信息。
说明 如果应用部署于阿里云生产环境,则选择阿里云VPC网络接入点,否则选择公网接入点。
背景信息
SkyWalking是一款广受欢迎的国产应用性能监控APM(Application Performance Monitoring)产品,主要针对微服务、Cloud Native和容器化(Docker、Kubernetes、Mesos)架构的应用。SkyWalking的核心是一个分布式追踪系统。
要通过SkyWalking将Java应用数据上报至可观测链路 OpenTelemetry 版控制台,首先需要完成埋点工作。SkyWalking既支持自动埋点(Dubbo、gRPC、JDBC、OkHttp、Spring、Tomcat、Struts、Jedis等),也支持手动埋点(OpenTracing)。本文介绍自动埋点方法。
通过Docker镜像快速配置skywalking-nginx-lua
使用打包好的Docker配置skywalking-nginx-lua。
- 从Registry中拉取镜像。
docker pull registry.cn-hangzhou.aliyuncs.com/public-community/skywalking-nginx-lua:0.2
- 运行Nignx Docker。
docker run --rm -p 80:80 -e "BACKEND_URL=$skywalking-nginx-lua" -d registry.cn-hangzhou.aliyuncs.com/public-community/skywalking-nginx-lua:0.2
$skywalking-nginx-lua
是前提条件中保存的nginx-lua接入点信息。例如:
docker run --rm -p 80:80 -e "BACKEND_URL=http://tracing-analysis-dc-hz.aliyuncs.com/adapt_123@abc_456@efg" -d registry.cn-hangzhou.aliyuncs.com/public-community/skywalking-nginx-lua:0.2
- 访问Nginx页面。
- 在浏览器上访问
localhost/nginx.conf
。 - 执行命令
curl "localhost/nginx.conf"
。
- 在浏览器上访问
通过Dockerfile配置skywalking-nginx-lua
- 下载Dockerfile。
wget https://arms-apm.oss-cn-hangzhou.aliyuncs.com/demo/nginx-skywalking-docker.tgz tar -xzvf nginx-skywalking-docker.tgz cd nginx-lua
- 编译Docker。
docker build --rm --tag skywalking-nginx-lua:0.2 .
- 运行Docker。
docker run --rm -p 80:80 -e "BACKEND_URL=$skywalking-nginx-lua" -d skywalking-nginx-lua:0.2
$skywalking-nginx-lua
是前提条件中保存的nginx-lua接入点信息。例如:
docker run --rm -p 80:80 -e "BACKEND_URL=http://tracing-analysis-dc-hz.aliyuncs.com/adapt_123@abc_456@efg" -d skywalking-nginx-lua:0.2
- 访问Nginx页面。
- 在浏览器上访问
localhost/nginx.conf
。 - 执行命令
curl "localhost/nginx.conf"
。
- 在浏览器上访问
在ECS上配置skywalking-nginx-lua
此处以在CentOS 7.0上的操作为例。
- 配置Lua运行环境。
- 下载并安装OpenResty Nginx。
yum install pcre-devel openssl-devel gcc curl postgresql-devel cd /usr/local/src wget -c https://openresty.org/download/openresty-1.15.8.1rc2.tar.gz tar -zxvf openresty-1.15.8.1rc2.tar.gz cd openresty-1.15.8.1rc2 ./configure --prefix=/usr/local/openresty/ --with-http_stub_status_module --with-luajit --without-http_redis2_module --with-http_iconv_module --with-http_postgres_module --with-stream && gmake && gmake install export PATH=/usr/local/openresty/nginx/sbin:$PATH
- 下载并安装skywalking-nginx-lua。
查看结果
在可观测链路 OpenTelemetry 版控制台的应用列表页面选择目标应用,查看链路数据。