web-dev-qa-db-ja.com

elasticsearchでJaegerを構成する方法は?

このdockerコマンドを実行してJaeger Agentとjaegerコレクターをelasticsearchでセットアップしてみました。

Sudo docker run \
-p 5775:5775/udp \
-p 6831:6831/udp \
-p 6832:6832/udp \
-p 5778:5778 \
-p 16686:16686 \
-p 14268:14268 \
-e SPAN_STORAGE_TYPE=elasticsearch \
--name=jaeger \
jaegertracing/all-in-one:latest 

しかし、このコマンドは以下のエラーを出します。 ElasticSearchでJaegerを構成する方法は?

"msg":"Failed to init storage factory","error":"health check timeout: no Elasticsearch node available","errorVerbose":"no Elasticsearch node available\
9

しばらくソリューションを検索した後、Jaeger Query、Agent、collector、Elasticsearchの設定が含まれるdocker-compose.ymlファイルを見つけました。

docker-compose.yml

 version: "3"

services:
  elasticsearch:
    image: docker.elastic.co/elasticsearch/elasticsearch:6.3.1
    networks:
      - elastic-jaeger
    ports:
      - "127.0.0.1:9200:9200"
      - "127.0.0.1:9300:9300"
    restart: on-failure
    environment:
      - cluster.name=jaeger-cluster
      - discovery.type=single-node
      - http.Host=0.0.0.0
      - transport.Host=127.0.0.1
      - ES_Java_OPTS=-Xms512m -Xmx512m
      - xpack.security.enabled=false
    volumes:
      - esdata:/usr/share/elasticsearch/data

  jaeger-collector:
    image: jaegertracing/jaeger-collector
    ports:
      - "14269:14269"
      - "14268:14268"
      - "14267:14267"
      - "9411:9411"
    networks:
      - elastic-jaeger
    restart: on-failure
    environment:
      - SPAN_STORAGE_TYPE=elasticsearch
    command: [
      "--es.server-urls=http://elasticsearch:9200",
      "--es.num-shards=1",
      "--es.num-replicas=0",
      "--log-level=error"
    ]
    depends_on:
      - elasticsearch

  jaeger-agent:
    image: jaegertracing/jaeger-agent
    hostname: jaeger-agent
    command: ["--collector.Host-port=jaeger-collector:14267"]
    ports:
      - "5775:5775/udp"
      - "6831:6831/udp"
      - "6832:6832/udp"
      - "5778:5778"
    networks:
      - elastic-jaeger
    restart: on-failure
    environment:
      - SPAN_STORAGE_TYPE=elasticsearch
    depends_on:
      - jaeger-collector

  jaeger-query:
    image: jaegertracing/jaeger-query
    environment:
      - SPAN_STORAGE_TYPE=elasticsearch
      - no_proxy=localhost
    ports:
      - "16686:16686"
      - "16687:16687"
    networks:
      - elastic-jaeger
    restart: on-failure
    command: [
      "--es.server-urls=http://elasticsearch:9200",
      "--span-storage.type=elasticsearch",
      "--log-level=debug"
    ]
    depends_on:
      - jaeger-agent

volumes:
  esdata:
    driver: local

networks:
  elastic-jaeger:
    driver: bridge 

Docker-compose.ymlファイルはelasticsearch、Jaegerコレクター、クエリ、エージェントをインストールします。

Dockerとdocker composeを最初にインストール https://docs.docker.com/compose/install/#install-compose

次に、これらのコマンドを順番に実行します

 
1. Sudo docker-compose up -d elasticsearch

2. Sudo docker-compose up -d 

3. Sudo docker ps -a

すべてのDockerコンテナー-Jaegerエージェント、コレクター、クエリ、およびelasticsearchを開始します。

Sudo docker start container-id

アクセス-> http:// localhost:16686 /

9

JaegerをKulmnetesクラスターでヘルムチャートとして設定する必要がある場合は、これを使用できます: https://github.com/jaegertracing/helm-charts/tree/master/charts/jaeger ストレージバックエンドとしてElasticsearchまたはCassandaraのいずれかを削除します。これは、チャートに渡される正しい値の問題です。

storage:
  type: elasticsearch

このセクションでは、helmコマンドを例として示しています。 https://github.com/jaegertracing/helm-charts/tree/master/charts/jaeger#installing-the-chart-using-a-new-elasticsearch-クラスター

0
Ankit