マイクロリンク追跡サービスログのSpringBoot

マイクロリンク追跡サービスログのSpringBoot

簡単な紹介

マイクロサービスですべての問題、ビジネス上の問題やプログラムアウト、最終的にログを表示している、私たちが一般的に使用しELK、関連するログ収集ツール、マルチサービスを、ビジネスの問題を解決するためにもやや困難であるが、唯一の関連ログをターゲットにおおよその時間を決定します。log-trace-spring-boot-starterアドレス複数の問題のサービスコールログは、それが呼び出しの完全なチェーンが完全かつ整然としたログに統合することができます。

サポートコンポーネント:

  • zuulコール
  • 装うコール
  • restTemplateコール

ログの出力形式:

2019-11-14 14:22:07.796  INFO [log-trace-service-a-demo,ac8ffaaed5f343da,log-trace-zuul-demo,,] 88948 --- [nio-8081-exec-7] c.p.l.t.service.a.demo.TestController    : controller test2 执行 ac8ffaaed5f343da
2019-11-14 14:23:15.569  INFO [log-trace-service-a-demo,04cf5392dc5c4881,log-trace-zuul-demo,,] 88948 --- [nio-8081-exec-9] c.p.l.t.service.a.demo.TestController    : controller test2 执行 04cf5392dc5c4881
2019-11-14 14:24:44.183  INFO [log-trace-service-a-demo,86b5c555ce4f4451,log-trace-zuul-demo,,] 88948 --- [nio-8081-exec-1] c.p.l.t.service.a.demo.TestController    : controller test2 执行 86b5c555ce4f4451

私たちはできる86b5c555ce4f4451クエリのリンクID上のすべてのログ情報を作成します。

log-trace-service-a-demo現在のアプリケーションのために。
log-trace-zuul-demoアップストリームアプリケーション。

もちろん、これらのパラメータは、ビジネスに基づいてカスタマイズすることができます。

利用機能

依存追加

PS:実際のリリースバージョンは、最新バージョンの使用
最新バージョン:

新しいバージョンを探して

<dependency>
  <groupId>com.purgeteam</groupId>
  <artifactId>log-trace-spring-boot-starter</artifactId>
  <version>0.1.0.RELEASE</version>
</dependency>

PS:ベースしてくださいSpirngBoot2.1.xバージョン

設定アプリケーション

この例三つのサブサービス微細構造です。

  1. log-trace-zuul-demo ゲートウェイ機能として動作
  2. log-trace-service-a-demo Aは、サービスとして動作します
  3. log-trace-service-b-demo Bは、サービスとして動作します

リンクのためのコール:

log-trace-zuul-demo- > log-trace-service-a-demo TestController#test- >log-trace-service-b-demo TestController#test

アクセスゲートウェイアドレス: http://127.0.0.1:8000/a/test

次のようにゲートウェイのログは次のようになります。

2019-11-14 14:27:37.434 DEBUG [33b07a9c5f324375,this] 89996 --- [nio-8000-exec-1] c.p.l.t.s.i.zuul.TracePreZuulFilter      : zuul traceid 33b07a9c5f324375

サービスに転送ゲートウェイ

次のようにサービスのログは次のとおりです。

2019-11-14 14:27:37.476  INFO [log-trace-service-a-demo,33b07a9c5f324375,log-trace-zuul-demo,,] 88948 --- [nio-8081-exec-5] c.p.l.t.service.a.demo.TestController    : controller test2 执行 33b07a9c5f324375

サービスBのサービスコール

Bサービスのログは次のとおりです。

2019-11-14 14:27:37.478  INFO [log-trace-service-b-demo,33b07a9c5f324375,log-trace-service-a-demo,,] 88952 --- [nio-8082-exec-3] c.p.l.t.servcie.b.demo.TestController    : header traceId 33b07a9c5f324375
2019-11-14 14:27:37.478  INFO [log-trace-service-b-demo,33b07a9c5f324375,log-trace-service-a-demo,,] 88952 --- [nio-8082-exec-3] c.p.l.t.servcie.b.demo.TestController    : controller test 执行 33b07a9c5f324375
2019-11-14 14:27:37.478  INFO [log-trace-service-b-demo,33b07a9c5f324375,log-trace-service-a-demo,,] 88952 --- [nio-8082-exec-3] c.p.l.trace.servcie.b.demo.TestService   : test 方法执行 33b07a9c5f324375
2019-11-14 14:27:37.478  INFO [log-trace-service-b-demo,33b07a9c5f324375,log-trace-service-a-demo,,] 88952 --- [nio-8082-exec-3] c.p.l.trace.servcie.b.demo.TestService   : test1 方法执行 33b07a9c5f324375

これは、サードパーティのログIDプラットフォームに基づいて照会することができます。

などELKによる33b07a9c5f324375IDの通話関連のすべてのリンクをチェックしてください。

出力形式を設定します

現在、上記のパラメータをサポートしています。

X-B3-ParentName 上游服务名称
X-B3-TraceId 为一个请求分配的ID号,用来标识一条请求链路。

application.properties設定。

spring.trace.log.format=X-B3-TraceId,X-B3-ParentName


`spring.trace.log.format` 配置参数顺序将影响日志输出格式。

不配置将按照默认格式输出。

次のようにログ出力は次のようになります。

2019-11-14 14:27:37.434 DEBUG [33b07a9c5f324375,this] 89996 --- [nio-8000-exec-1] c.p.l.t.s.i.zuul.TracePreZuulFilter      : zuul traceid 33b07a9c5f324375

概要

現在、フォローアップのサポートを、このような着陸スタッフのIDに応じて出力として出力をカスタマイズするために、簡単にユーザーの行動を追跡するために、一貫性のあるログ機能を実現します。
その後の支持フレーム促進Dubboなどを。

サンプルコード住所:ログ・トレース・春ブーツ

GitHubの上:
Purgeyaoは注意を歓迎します

QQ交換基:812321371マイクロチャネル交換基:MercyYao

マイクロチャンネル公共数:

マイクロチャンネル公衆数の二次元コード

おすすめ

転載: www.cnblogs.com/Purgeyao/p/11872141.html