下载最新的 opentelemetry-javaagent.jar from Releases
运行jar
java -javaagent:path/to/opentelemetry-javaagent.jar -jar myapp.jar
配置 jaeger 服务
# 方式一:
java -javaagent:path/to/opentelemetry-javaagent.jar \-Dotel.service.name=your-service-name \-Dotel.traces.exporter=jaeger \-Dotel.exporter.jaeger.endpoint=http://localhost:14250 \-jar myapp.jar# 方式二(容器添加环境变量):
OTEL_TRACES_EXPORTER=jaeger
OTEL_EXPORTER_JAEGER_ENDPOINT=http://localhost:14250
OTEL_SERVICE_NAME=your-service-name
参考Dockerfile
FROM dggecr01.huawei.com:80/scan-engine/ringcentral/jdk:latest
WORKDIR /app
EXPOSE 8090
COPY ./target/myapp.jar .
COPY ./lib/opentelemetry-javaagent.jar .
CMD java -javaagent:opentelemetry-javaagent.jar -jar myapp.jar
java实战
部署jaeger,一体1.38版本
docker run -d --name jaeger -e COLLECTOR_ZIPKIN_HOST_PORT=:9411 -e COLLECTOR_OTLP_ENABLED=true -p 6831:6831/udp -p 6832:6832/udp -p 5778:5778 -p 16686:16686 -p 4317:4317 -p 4318:4318 -p 14250:14250 -p 14268:14268 -p 14269:14269 -p 9411:9411 jaegertracing/all-in-one:1.38
访问ui
http://ip:16686/
因为下载的是上面的opentelemetry-javaagent.jar,目前没有用到1.38版的agent,可以单独下载
Jaeger – Download Jaeger
Dockerfile
FROM anapsix/alpine-java:8_server-jre_unlimitedMAINTAINER jeecgos@163.comRUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtimeRUN mkdir -p /javaappWORKDIR /javaappEXPOSE 8079ADD ./javaapp-1.0-SNAPSHOT.jar ./
ADD ./opentelemetry-javaagent.jar ./CMD sleep 2;java -Dfile.encoding=utf-8 -Djava.security.egd=file:/dev/./urandom -javaagent:opentelemetry-javaagent.jar -jar javaapp-1.0-SNAPSHOT.jar
构建镜像docker build -t javaapp:latest .
运行docker-compose.yml
version: '2'
services:javaapp:container_name: javaappimage: javaapp:latesthostname: javaappports:- 8079:8079restart: on-failureenvironment:- TZ=Asia/Shanghai- OTEL_TRACES_EXPORTER=jaeger- OTEL_EXPORTER_JAEGER_ENDPOINT=http://192.168.1.182:14250- OTEL_SERVICE_NAME=javaapp