jaeger 使用ElasticSearch 作為后端存儲


jaeger 支持es 作為后端存儲,這樣對於查詢、以及系統擴展是比較方便的

使用docker-compose 運行

環境准備

參考項目: https://github.com/rongfengliang/nginx-opentracing-demo

  • docker-compose file
version: '3'
services:
  nginx:
    image: opentracing/nginx-opentracing
    networks:
      trivial_example:
        aliases:
          - nginx
    volumes:
      - ./nginx.conf:/etc/nginx/nginx.conf
      - ./jaeger-config.json:/etc/jaeger-config.json
    expose:
      - "8080"
    ports:
      - "8080:8080"
  elasticsearch:
   image: elasticsearch:5.6.12
   ulimits:
      memlock:
        soft: -1
        hard: -1
   ports:
    - 9200:9200
   volumes:
    - ./es-data:/usr/share/elasticsearch/data
   environment:
    - transport.host=0.0.0.0
    - http.cors.enabled=true
    - http.cors.allow-origin="*"
    - discovery.zen.minimum_master_nodes=1
   networks:
    trivial_example:
     aliases:
      - elasticsearch
  app-service:
    build:
      context: .
      dockerfile: ./Dockerfile
    networks:
      trivial_example:
        aliases:
          - app-service
    expose:
      - "9001"
    ports:
      - "9001:9001"
    command:
      - /app/server
      - -collector_host
      - jaeger
  deps:
    image: jaegertracing/spark-dependencies
    environment:
     - STORAGE=elasticsearch
     - ES_NODES=http://elasticsearch:9200
    networks:
      trivial_example:
        aliases:
          - deps
  jaeger:
    image: jaegertracing/all-in-one:1.7
    environment:
      - COLLECTOR_ZIPKIN_HTTP_PORT=9411
      - ES_SERVER_URLS=http://elasticsearch:9200
      - SPAN_STORAGE_TYPE=elasticsearch
      - ES_TAGS_AS_FIELDS=true
    networks:
      trivial_example:
        aliases:
          - jaeger
    expose:
      - "9411"
      - "16686"
    ports:
      - "9411:9411"
      - "16686:16686"
networks:
  trivial_example: {}
  • 說明
    主要是通過環境變量指定存儲類型以及es 服務器集群的地址,注意對於依賴關系需要有一個單獨的服務

啟動&&測試

  • 啟動
docker-compose up -d
  • 效果



說明

關於依賴的顯示,需要使用spark-dependencies處理,參考docker-compose file
同時需要配置為定時任務

參考資料

https://www.jaegertracing.io/docs/1.7/architecture/
https://www.jaegertracing.io/docs/1.7/deployment/
https://github.com/rongfengliang/nginx-opentracing-demo
https://github.com/jaegertracing/jaeger/blob/master/plugin/storage/es/README.md
https://hub.docker.com/r/jaegertracing/spark-dependencies/
https://my.oschina.net/u/2548090/blog/1821372


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM