当前位置:   article > 正文

java,springboot应用整合jaeger_springboot整合吉大正元

springboot整合吉大正元

  1. 下载最新的 opentelemetry-javaagent.jar from Releases

  2. 运行jar

    java -javaagent:path/to/opentelemetry-javaagent.jar -jar myapp.jar
    
  3. 配置 jaeger 服务

    1. # 方式一:
    2. java -javaagent:path/to/opentelemetry-javaagent.jar \
    3. -Dotel.service.name=your-service-name \
    4. -Dotel.traces.exporter=jaeger \
    5. -Dotel.exporter.jaeger.endpoint=http://localhost:14250 \
    6. -jar myapp.jar
    7. # 方式二(容器添加环境变量):
    8. OTEL_TRACES_EXPORTER=jaeger
    9. OTEL_EXPORTER_JAEGER_ENDPOINT=http://localhost:14250
    10. OTEL_SERVICE_NAME=your-service-name

参考Dockerfile

  1. FROM dggecr01.huawei.com:80/scan-engine/ringcentral/jdk:latest
  2. WORKDIR /app
  3. EXPOSE 8090
  4. COPY ./target/myapp.jar .
  5. COPY ./lib/opentelemetry-javaagent.jar .
  6. 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

 

分开的安装

  1. docker run -d --name=jaeger-collector -p 9411:9411 -p 14250:14250 -p 14268:14268 -p 14269:14269 -e SPAN_STORAGE_TYPE=elasticsearch -e ES_SERVER_URLS=http://1.2.1.5:9200 -e ES_INDEX_PREFIX=test jaegertracing/jaeger-collector:1.38
  2. docker run -d --name=jaeger-agent -p 6831:6831/udp -p 6832:6832/udp -p 5778:5778/tcp -p 5775:5775/udp -e REPORTER_GRPC_HOST_PORT=1.2.1.5:14250 jaegertracing/jaeger-agent:1.38
  3. docker run -d --name=jaeger-query -p 16686:16686 -p 16687:16687 -e SPAN_STORAGE_TYPE=elasticsearch -e ES_SERVER_URLS=http://1.2.1.5:9200 -e ES_INDEX_PREFIX=test jaegertracing/jaeger-query:1.38
  4. Jaeger Spark依赖项 这是一个Spark作业,它从存储中收集跨度,分析服务之间的链接,并将其存储以供以后在UI中呈现
  5. docker pull jaegertracing/spark-dependencies:latest
  6. 下面这个是执行一次的,会自动退出,每次更新需要执行一次
  7. docker run -d --name=jaeger-spark -e STORAGE=elasticsearch -e ES_NODES=http://1.2.1.5:9200 -e ES_INDEX_PREFIX=test jaegertracing/spark-dependencies:latest

访问ui

http://ip:16686/

因为下载的是上面的opentelemetry-javaagent.jar,目前没有用到1.38版的agent,可以单独下载

Jaeger – Download Jaeger

Dockerfile

  1. FROM anapsix/alpine-java:8_server-jre_unlimited
  2. MAINTAINER jeecgos@163.com
  3. RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
  4. RUN mkdir -p /javaapp
  5. WORKDIR /javaapp
  6. EXPOSE 8079
  7. ADD ./javaapp-1.0-SNAPSHOT.jar ./
  8. ADD ./opentelemetry-javaagent.jar ./
  9. 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

  1. version: '2'
  2. services:
  3. javaapp:
  4. container_name: javaapp
  5. image: javaapp:latest
  6. hostname: javaapp
  7. ports:
  8. - 8079:8079
  9. restart: on-failure
  10. environment:
  11. - TZ=Asia/Shanghai
  12. - OTEL_TRACES_EXPORTER=jaeger
  13. - OTEL_EXPORTER_JAEGER_ENDPOINT=http://192.168.1.182:14250
  14. - OTEL_SERVICE_NAME=javaapp
  15. - OTEL_METRICS_EXPORTER=none
  1. 原因
  2. OpenTelemetry 默认配置 otel.metrics.exporter=otlp (default), 因此 javaagent 默认会往 http://localhost:4317 推送 metrics 指标。
  3. 解决
  4. 设置 otel.metrics.exporter=none 或 环境变量OTEL_METRICS_EXPORTER=none

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/article/detail/46187
推荐阅读
相关标签
  

闽ICP备14008679号