(スルース+ Zipkin +のRabbitMQ + ES + Kibana)フルリンクを達成するために、春クラウドトラック

簡単な紹介

リクエストがスローダウンしたり、利用できない、どのように我々はすぐにサービス障害ポイントを見つけないときのマイクロサービスアーキテクチャでは、複数のサービス呼び出しの間に相関関係がありますか?リンクトラッキングの実装では、この問題を解決するためにZipkin +のRabbitMQ + ES + Kibanaが達成この紙スルース+です。

 春の雲スルース

 

トレース:システム境界にクライアントからの要求、その後、システム境界に応じてクライアントに返します。

スパン:コールに埋もれた各通話記録は、つまり、「スパン」、整然としたスパン一連のトレースを構成しています。

 

Zipkin

Zipkinはオープンソースで、Twitterの会社によって収集タイミングデータサービスのための追跡システム、データ収集、保管、検索、ショーを配布しました。リムーバブルデータストレージを提供:インメモリーは、MySQL、カサンドラとElasticsearch。

 

RabbitMQの

RabbitMQのAMQPは、Erlangの言語を使用して、オープンソースの実装、サーバ側での使いやすさ、拡張性、高可用性の観点から、分散システムにおけるストアアンドフォワードメッセージのために、さまざまなクライアントをサポートし、とてもよくやって。 

 

Elasticsearch

Elasticsearch(ES)は、Luceneのオープンソース、分散、RESTfulなフルテキスト検索エンジン・インターフェースに基づいて構築物です。Elasticsearch又は各フィールドがインデックス付けすることができ、各フィールドのデータを検索することができる分散文書データベースは、ESは、サーバー・ストレージの数百スケールとPBレベルのデータを扱うことができます。大量のデータを検索し、分析し、時間の非常に短い期間で保存することができます。

 

Kibana

Kibanaは、要約達成分析し、重要なデータのログを検索することができ、Webログ解析LogstashとElasticSearchのための使いやすいインターフェイスを提供することができます。

 

実現

1、Zipkinサーバー

(公式サイトでも入手できます。https://zipkin.io/ダウンロードJARパッケージを直接)zipkin-サーバプログラムの作成

頼ります

<依存性> 
  <のgroupId> org.springframework.cloud </のgroupId> 
  <たartifactId>ばねクラウドスタータのNetflix、ユーレカクライアント</たartifactId> 
</依存> 
<依存性> 
  <のgroupId> io.zipkin.java </ groupId> 
  <たartifactId> zipkin-サーバー</たartifactId> 
  <バージョン> 2.118 </バージョン> 
</依存> 
<依存性> 
  <のgroupId> io.zipkin.java </のgroupId> 
  <たartifactId> zipkin-AUTOCONFIGURE-UI </たartifactId> 
  <バージョン> 2.118 </バージョン> 
</依存関係> 
<依存> 
  <groupIdを> 
  io.zipkin.java </ groupIdを> <バージョン> 2.118 </バージョン> 
</依存> 
<依存性> 
  <のgroupId> io.zipkin.java </のgroupId> 
  <たartifactId> zipkin-AUTOCONFIGURE-ストレージelasticsearch-HTTP </たartifactId> 
  <バージョン> 2.84 </バージョン> 
</依存>

コンフィギュレーション

春:
  アプリケーション:
    名前:zipkin - サーバーの
サーバー:
  ポート:8033 
ユーレカ:
  クライアント:
    serviceURLの:
      defaultZoneます。http:// localhostを:8088 /ユーリカ/ 
  インスタンスは:
      好む -ip-アドレスを:真の
管理:
  メトリックス:
    ウェブ:
      サーバー:
        オート -time-リクエスト:
zipkin:
  コレクター:
    RabbitMQの:
      アドレス:192.168233.128 
      ポート:5672 
      ユーザー名:zipkin
      パスワード:zipkin
      仮想- ホスト:VH1 
      キュー:zipkin 
  ストレージ:
    StorageComponent:elasticsearch 
    タイプ:elasticsearch 
    elasticsearch:
      ホスト:192.168233.1719200 
      クラスタ:elasticsearch 
      度:zipkin 
      インデックス -shards:5 
      索引 -replicas:1

スタートアップクラス

@SpringBootApplication 
@EnableEurekaClient 
@EnableZipkinServer 
パブリック クラスZipkinServerApplication {
   公共 静的 ボイドメイン(文字列[]引数){ 
    SpringApplication.run(ZipkinServerApplication。クラス、引数)。
  } 
}

アクセス

 

2、Zipkinクライアント

頼ります

<dependency>
  <groupId>org.springframework.cloud</groupId>
  <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-amqp</artifactId>
</dependency>
<dependency>
  <groupId>org.springframework.cloud</groupId>
  <artifactId>spring-cloud-starter-sleuth</artifactId>
</dependency>
<dependency>
  <groupId>org.springframework.cloud</groupId>
  <artifactId>spring-cloud-starter-zipkin</artifactId>
</dependency>

配置

spring:
  sleuth:
    sampler:
      probability: 1.0
  zipkin:
    sender:
      type: RABBIT
  rabbitmq:
    addresses: 192.168.233.128
    port: 5672
    username: zipkin
    password: zipkin
    virtual-host: vh1

 

3、测试:

访问zipkin客户端服务,如我本地user-server

 

 查看zipkin服务端

 

 访问Kibana,配置一个index pattern

 

 修改默认时间格式

 

看一下效果

 

END

 

 

欢迎关注微信公众号:牧码笔记,时时获取最新技术分享。

 

おすすめ

転載: www.cnblogs.com/huangxy/p/11106065.html