インフラ・DevOps
PrometheusとGrafanaを使わない軽量Spring Bootモニタリング
Lightweight Spring Boot Monitoring Without Prometheus and Grafana (pvrlabs.xyz)
要約
PrometheusやGrafanaのようなフルスタックの監視システムを使わずに、Spring Bootアプリケーションの基本的な運用状況を把握するための軽量ツール「StatLite」を紹介します。StatLiteはSpring Boot Actuatorのエンドポイントを活用し、ヘルスチェック、リクエスト、エラー、レイテンシ、メモリ使用量、稼働時間、再起動などの重要な運用メトリクスに焦点を当てたダッシュボードを提供します。これは、小規模なデプロイメントや単一VPSでの運用に最適です。
全文翻訳
← 記事一覧へ
PrometheusとGrafanaを使わない軽量Spring Bootモニタリング
Ted Kupolov · 2026年7月19日
VPSで1つまたは数個のSpring Bootアプリケーションを実行している場合でも、基本的な運用上の可視性は必要です。アプリケーションが到達可能か、エラーが増加しているか、再起動したかを知る必要があります。これらの質問に答えるために、完全な監視プラットフォームは必要ないかもしれません。
Spring Boot Actuatorはすでにその情報の多くを公開しています。StatLiteはそれをヘルス、リクエスト、エラー、レイテンシ、メモリ、稼働時間、再起動に焦点を当てたダッシュボードに変えます。これは単一のGoバイナリとして実行され、履歴をSQLiteに保存します。フルスタックの監視システムを運用せずにSpring Bootを監視しましょう。
StatLiteをGitHubで見る
インストール手順
通常の選択肢がなぜ必要以上に複雑になるのか
ActuatorはSpring Bootアプリケーションに有用なヘルスおよびMicrometerメトリクスエンドポイントを提供します。これらは統合に優れていますが、JSONエンドポイントを繰り返し開くことは、日常的なダッシュボードとしては便利ではありません。
Spring Boot Adminは、より広範なアプリケーション管理機能を追加します。PrometheusとGrafanaは、より大きな監視システム、柔軟なクエリ、または多数の環境にわたる共有ダッシュボードが必要な場合に強力な選択肢です。1台のVPSで少数のサービスを運用する場合、より限定的なダッシュボードで十分な場合があります。
StatLiteは、すでに持っているActuatorデータを読み取り、日常的なチェックで最も役立つ運用シグナルを表示します。
小規模デプロイメントが必要とする質問
アプリケーションは到達可能で健全か?
エラーは増加しているか?
リクエストは遅くなっているか?
メモリ使用量は増加しているか?
アプリケーションは再起動したか?
データベースなどの関連サービスは到達可能か?
クイック比較
ツール | 運用複雑性 | 最適な用途
---|---|---
生のActuatorエンドポイント | 低 | 時折の手動チェック
Spring Boot Admin | 中 | アプリケーション管理と監視
PrometheusとGrafana | 高 | 大規模デプロイメントと高度なオブザーバビリティ
StatLite | 非常に低 | 小規模サーバー上の少数のSpring Bootサービス
これらのツールは共存することも可能です。今日、限定的なダッシュボードのためにStatLiteを選択しても、将来的に要件が増加した場合にPrometheusとGrafanaを採用することを妨げるものではありません。
数分でStatLiteを設定する
以下の例では、StatLiteに含まれる実行可能なSpring Actuatorデモを使用します。
1. Spring Bootからヘルスとメトリクスを公開する
アプリケーション設定に必要なActuatorエンドポイントの公開を追加します。デプロイメントで認証が必要な場合は、Actuatorを信頼できるネットワークからのみ到達可能にし、認証を追加してください。
```yaml
management:
endpoints:
web:
exposure:
include: health,metrics
endpoint:
health:
show-details: always
```
組み込みデモの場合、examples/spring-actuator-demoからアプリケーションを起動します。
```bash
mvn spring-boot:run
```
2. StatLiteをインストールする
StatLiteのインストールガイドで、お使いのプラットフォームのインストール方法を使用してください。リリースインストーラー、Homebrew、および各方法が何を設定し、何を設定しないかがカバーされています。
ソースからビルドすることを好む開発者は、リポジトリをクローンしてバイナリをビルドできます。
```bash
git clone https://github.com/PVRLabs/statlite.git
cd statlite
go build -o statlite ./cmd/statlite
```
3. ターゲット設定を追加する
```yaml
server:
listen: "127.0.0.1:9090"
storage:
sqlite_path: "./statlite.sqlite"
polling:
interval: "10s"
timeout: "5s"
targets:
- name: "spring-demo"
actuator_base_url: "http://127.0.0.1:8080/actuator"
```
`listen` はデフォルトでダッシュボードをローカルに保ちます。`sqlite_path` はダッシュボード履歴に使用されるファイルです。`actuator_base_url` はアプリケーションのActuatorベースURLを指します。
Basic認証、複数のターゲット、保持期間、および本番環境のセキュリティの詳細については、設定ドキュメントを参照してください。
4. ダッシュボードを開く
```bash
./statlite --config ./statlite.yaml
```
ブラウザで http://127.0.0.1:9090 を開きます。
StatLiteは設定された間隔でポーリングするため、トラフィックを生成したりアプリケーションを再起動したりした後は、次のポーリングを待ってください。
組み込みデモに従っている場合は、StatLiteリポジトリのルートから別のターミナルでトラフィックを生成します。
```bash
./examples/spring-actuator-demo/generate-traffic.sh
```
このスクリプトは、デモアプリケーションに成功したリクエスト、データベースリクエスト、遅いリクエスト、および400、404、500のエラーレスポンスを送信し、リクエストとエラーのチャートにアクティビティを表示します。
スクリプトを実行した後、StatLiteの次のポーリングを待ちます。
ダッシュボードが更新されているのが見えますか?
StatLiteがあなたのセットアップに適している場合は、リポジトリをスターしてブックマークし、より多くのSpring Boot開発者が見つけられるようにしてください。
StatLiteをGitHubでスターする
なぜStatLiteは小さく保たれるのか
単一のGoバイナリ
SQLiteストレージ
監視エージェントなし
Actuator以外のカスタムアプリケーションインストルメンテーションなし
systemdデプロイメントに適している
1つの設定で複数のSpring Bootターゲット
意図的にActuatorファーストです。必要に応じてActuatorを有効化または公開します。StatLiteはそのセットアップ手順を省略しません。
StatLiteを使用しない場合
多数のサービスまたはホスト、長期的な保持期間、高度なメトリクス検索、アラートルーティング、分散トレーシング、集中ログ、または組織全体のダッシュボードが必要な場合は、より広範なオブザーバビリティプラットフォームを使用してください。
StatLiteはエンタープライズオブザーバビリティの代替ではありません。これは、フルスタックのPrometheusとGrafanaを運用せずに少数のSpring Bootサービスを監視するという運用上のタスクがある場合に、焦点を絞ったオプションです。
StatLiteで最初のSpring Bootアプリケーションを監視しましょう。
GitHubで見る
インストールする
設定ドキュメント