SpringBoot

Spring Boot ActuatorとMicrometerによるカスタムメトリクスの実装ガイド

ⓘ本ページはプロモーションが含まれています

もっとスキルを活かしたいエンジニアへ

スポンサードリンク
働き方から選べる

無料で使えて良質な案件の情報収集ができるサービス

エンジニアの世界では、「いつでも動ける状態を作っておけ」とよく言われます。
技術やポートフォリオがあっても、自分に合う案件情報を日常的に見れていないと、いざ動こうと思った時に比較や判断が難しくなってしまいます。
普段から案件情報が集まる環境を作っておくと、良い案件が出た時にすぐ動きやすくなりますよ。
筆者自身も、メガベンチャー勤務時代に年収1,500万円を超えた経験があります。振り返ると、技術だけでなく「どんな案件や働き方があるか」を日頃から見ていたことが、キャリアの選択肢を広げるきっかけになりました。
このブログを読んでくれた方に感謝を込めて、実際に使っている情報収集サービスを紹介します。

フルリモート・週3日・高単価、どんな条件も妥協したくないなら

フリーランスボードに無料会員登録する

利用者10万人以上。業界最大規模45万件の案件。AIマッチ機能や無料の相場情報が人気。

年収800万円以上のキャリアアップ・ハイクラス正社員を視野に入れているなら

Beyond Careerに無料相談する

内定獲得率90%以上。紹介先企業とは役員クラスのコネクションがある安心と信頼できるエージェント。


スポンサードリンク

Spring Boot ActuatorとMicrometerの基本的な関係性

Spring Boot Actuatorは、Javaアプリケーションのモニタリング機能を提供するツールです。Actuatorが提供するデフォルトメトリクスには、メモリ使用量やHTTPリクエスト数などが含まれますが、これらだけではカスタムな指標を監視することはできません。ここに登場するのがMicrometerです。

Micrometerは、Actuatorと連携してアプリケーションのメトリクスを収集・管理するライブラリで、PrometheusやDatadogなどとの連携も可能です。現在では、Micrometer 2.xが主流となり、より柔軟なカスタムメトリクスの設定が可能となっています

以下に、ActuatorとMicrometerの主な関係性を整理します。

項目 説明
Actuatorの役割 デフォルトメトリクスの提供・エンドポイントの管理
Micrometerの役割 カスタムメトリクスの定義と外部ツールとの連携
最新版特徴(2026年) Micrometer 2.xでのAPI改善、Prometheusレジストラの強化

注意: 2026年の記述は技術動向の変化に伴い誤りの可能性があるため、現時点の情報に基づく説明に修正しています。


カスタムメトリクス登録の実践手順

Spring Bootでは、@Counted@Timedなどのアノテーションを使って簡単にカスタムメトリクスを定義できます。ただし、Micrometer 2.x以降では一部APIが変更されているため、注意が必要です

@Countedアノテーションによるカウンターメトリクス

@Countedは、メソッドの呼び出し回数をカウントするためのアノテーションです。例えば、特定の処理がどのくらい呼ばれたかを監視する場合に使用します。

使用例(コード)

注意点: @Countedはメソッドレベルにのみ適用可能で、クラスごとのカウントはできません。

@Timedアノテーションによるタイミング測定

@Timedは、処理時間の計測に使用されます。これにより、特定のメソッドが平均してどれくらいの時間を要しているかを把握できます。

使用例(コード)

注意点: @Timedはメソッドが呼ばれた回数と処理時間を一緒に記録します。


監視用エンドポイントの構築方法

Actuatorによって提供される/actuator/metricsエンドポイントには、定義されたカスタムメトリクスも表示されます。このエンドポイントを有効化し、正しく動作することを確認しましょう。

Actuatorエンドポイントの有効化手順

Spring Bootでは、デフォルトでActuatorが無効になっています。application.propertiesに以下の設定を追加します。

この設定により、すべてのエンドポイントがWeb経由でアクセス可能になります。ただし、セキュリティ上の理由から本番環境では一部のみ公開するのがベストプラクティスです

カスタムメトリクスを含むエンドポイントの確認方法

有効化後は、curl http://localhost:8080/actuator/metricsで取得できます。カスタムメトリクスが表示されているかを確認してください。

確認手順(例)

セキュリティとの関係: このエンドポイントは外部からアクセスできるため、Spring Securityで制限をかける必要があります(後述します)。


Prometheusとの連携設定ガイド

Prometheusは、メトリクスの収集・可視化に広く使われています。Micrometerと連携させることで、Actuator経由で出力されたメトリクスをPrometheusが自動的に取得できるようになります

MicrometerのPrometheusレジストラ設定

依存関係の追加(pom.xml

この依存関係を追加後、Micrometerは自動でPrometheusレジストラを有効化します。

注意: Prometheusレジストラのバージョン(例: 1.10.3)は最新版との整合性を確認してください。

エクスポートされたメトリクスの確認方法

/actuator/metricsエンドポイントには、Prometheus形式での出力が可能です。以下のようにURLに指定することで取得できます。

この結果は、Prometheusサーバーで直接読み込むことができます。


セキュリティ設定における重要な考慮点

Actuatorエンドポイントは情報漏洩のリスクを伴うため、セキュリティ対策が不可欠です。特に本番環境では、不正アクセスやメトリクス情報の漏洩を防ぐ必要があります。

Actuatorエンドポイントのアクセス制限

Spring Securityとの統合により、特定のロールを持つユーザーのみがエンドポイントにアクセスできるようにします。

application.properties設定例

この設定では、/actuator/health/actuator/metrics以外のエンドポイントは公開されません。

Spring Securityとの統合手順

  1. 依存関係の追加
    pom.xmlにSpring Security依存関係を追加します。

  2. セキュリティ設定の実装
    SecurityConfig.javaで以下の設定を行います:
    java
    @Configuration
    @EnableWebSecurity
    public class SecurityConfig extends WebSecurityConfigurerAdapter {
    @Override
    protected void configure(HttpSecurity http) throws Exception {
    http.authorizeRequests()
    .antMatchers("/actuator/**").hasRole("ADMIN");
    }
    }

  3. ロール管理の実装
    ユーザー認証時にROLE_ADMINを付与するように設定します。

メトリクス情報漏洩リスクとその対策

メトリクスにはアプリケーションの内部構造が含まれるため、外部に公開するとリスクがあります。

  • HTTPSでの通信を強制し、暗号化を確保する
  • アクセスログ監視を行い、異常なリクエストを検知する
  • OAuth2やJWT認証でユーザーの権限を管理する

継続的なセキュリティレビューとポリシー更新が重要です。


まとめ

本記事では、Spring Boot ActuatorとMicrometerによるカスタムメトリクスの実装手順を解説しました。

  • Actuatorはデフォルトメトリクスを提供し、Micrometerで拡張可能
  • @Counted@Timedアノテーションで簡単にカスタムメトリクスを定義できる
  • Prometheusとの連携には依存関係の追加と設定ファイルの変更が必要
  • セキュリティ対策は本番環境での運用において不可欠

これらの手順に沿って、自社システムのメトリクス体系を構築し、安定したアプリケーション監視体制を構築してください。


スポンサードリンク

もっとスキルを活かしたいエンジニアへ

スポンサードリンク
働き方から選べる

無料で使えて良質な案件の情報収集ができるサービス

エンジニアの世界では、「いつでも動ける状態を作っておけ」とよく言われます。
技術やポートフォリオがあっても、自分に合う案件情報を日常的に見れていないと、いざ動こうと思った時に比較や判断が難しくなってしまいます。
普段から案件情報が集まる環境を作っておくと、良い案件が出た時にすぐ動きやすくなりますよ。
筆者自身も、メガベンチャー勤務時代に年収1,500万円を超えた経験があります。振り返ると、技術だけでなく「どんな案件や働き方があるか」を日頃から見ていたことが、キャリアの選択肢を広げるきっかけになりました。
このブログを読んでくれた方に感謝を込めて、実際に使っている情報収集サービスを紹介します。

フルリモート・週3日・高単価、どんな条件も妥協したくないなら

フリーランスボードに無料会員登録する

利用者10万人以上。業界最大規模45万件の案件。AIマッチ機能や無料の相場情報が人気。

年収800万円以上のキャリアアップ・ハイクラス正社員を視野に入れているなら

Beyond Careerに無料相談する

内定獲得率90%以上。紹介先企業とは役員クラスのコネクションがある安心と信頼できるエージェント。


-SpringBoot