2021年1月13日水曜日

Zipkin のデータストレージに ElasticSearch を使う方法

概要

前回は In-Memory ストレージを使ったので再起動するとデータが消えてしました
今回はストレージに ElasticSearch を使ってデータの永続化を行ってみました

環境

  • Zipkin 2.23
  • ElasticSearch7.9.3

ネットワークの作成

  • docker create network test

このネットワークに Zipkin と ElasticSearch コンテナを属させます

ElasticSearch コンテナの起動

今回は zipkin が用意している ElasticSearch イメージを使って ElasticSearch コンテナを起動します


* docker run -d -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" --network test --name es docker.elastic.co/elasticsearch/elasticsearch:7.9.3
* curl 'localhost:9200/_cat/health'

green が返ってくることを確認しましょう

Zipkin コンテナの起動

STORAGE_TYPE=elasticsearch にして起動します


* docker run -d -p 9411:9411 -e STORAGE_TYPE=elasticsearch -e ES_HOSTS=es:9200 --network test --name zipkin openzipkin/zipkin

動作確認用のアプリは前回の Sinatra アプリを使用しています
これでアプリを使って Zipkin にトレース情報を送信してみると以下のようにちゃんと ElasticSearch 側にインデックスが作成されているのが確認できると思います
また何回かアクセスしてみると docs.count が増えるのも確認できると思います


health status index uuid pri rep docs.count docs.deleted store.size pri.store.size yellow open zipkin-span-2021-01-12 KqvMFHDPSamS4jRX52DQrQ 5 1 1 0 416b 416b


また http://localhost:9411/zipkin/ にアクセスして serviceName=zipkin-test で検索してもちゃんとトレース情報が確認できると思います


最後に

Zipkin + ElasticSearch を試してみました
STORAGE_TYPE を変更するだけで簡単に使うことができます
既存の ElasticSearch があるのであればそれをそのまま流用してもいいと思います

参考サイト

0 件のコメント:

コメントを投稿