マイクロリンク追跡サービスログの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
バージョン
設定アプリケーション
この例三つのサブサービス微細構造です。
log-trace-zuul-demo
ゲートウェイ機能として動作log-trace-service-a-demo
Aは、サービスとして動作します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
による33b07a9c5f324375
IDの通話関連のすべてのリンクをチェックしてください。
出力形式を設定します
現在、上記のパラメータをサポートしています。
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
マイクロチャンネル公共数: