LoginSignup
6
4

More than 5 years have passed since last update.

Spring Sleuthを導入してみた

Posted at

経緯

  • Springを使ったWebアプリケーションでログを出していたが、単にログを出すだけでは見づらかったのでSpring Sleuthをいれることにした

構成

  • 構成は以下の通り
  • バッチがAPIを呼び出し、APIがDBに登録・取得しに行く形 スクリーンショット 2018-10-05 23.30.19.png

Sleuthのイメージ

Spring Sleuthのイメージはこんな感じ

スクリーンショット 2018-10-05 23.48.11.png

  • TraceIDとSpanIDと呼ばれるものがある
  • TraceIDは1回のバッチの実行単位で生成され、共通のIDが同一リクエスト内で保持される
  • SpanIDは1回のAPIのリクエスト単位で生成される

実際に導入してみた

用意したもの

  • MacBook Pro (13-inch)
  • IntelliJ IDEA
  • JAVA 1.8
  • Spring (2系)

gradleに設定を追加

  • 基本的にはgradleに設定を追加するだけで動く模様
build.gradle
buildscript {
    dependencies {
        classpath "io.spring.gradle:dependency-management-plugin:0.5.2.RELEASE"
    }
}

apply plugin: "io.spring.dependency-management"

dependencyManagement {
     imports {
          mavenBom 'org.springframework.cloud:spring-cloud-sleuth:2.0.2.BUILD-SNAPSHOT'
     }
}
dependencies {
    compile 'org.springframework.cloud:spring-cloud-starter-sleuth'
}
repositories {
    maven {
        url 'https://repo.spring.io/libs-snapshot'
    }
}

ハマったところ

  • RestTemplateをBean登録していなかった
  • SpringBoot1.5系を使っていたときに、最新バージョンのSleuthを入れていた

基本的にはハマる要素はないのですが、この2つだけ気をつければ簡単に導入できそう、、

まとめ(個人的な所感)

  • とりあえずSleuthを入れることは簡単である
  • ただ、Sleuthだけ入れても特に恩恵は得られない
  • むしろ、無駄に吐き出されるログが長くなるので監視がしにくくなる一面もある
  • zipkinの導入を検討する必要がありそう

参照元

6
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
4