30DiasJava Day08 — Observability(可観測性)スタック

DevOps

概要

(リポジトリの概要を300字程度で説明)

本リポジトリは #30DiasJava チャレンジの Day 08 に対応する「Observability Stack」のサンプル実装です。Spring Boot で作られた orders-service が Micrometer カウンターを用いてメトリクスを公開し、monitoring 配下の docker-compose.yml で Prometheus、Alertmanager、Grafana をコンテナとして起動します。Prometheus は Spring Boot の /actuator/prometheus エンドポイントをスクレイプし、Alertmanager はプロメテウスで定義したルールに基づいて通知を管理、Grafana でダッシュボードを可視化します。ブログ記事「Observability-Driven Alerting」に紐づく実践的な構成で、可観測性に基づくアラート設計と監視ワークフローを学べます。

GitHub

リポジトリの統計情報

  • スター数: 1
  • フォーク数: 0
  • ウォッチャー数: 1
  • コミット数: 2
  • ファイル数: 5
  • メインの言語: Java

主な特徴

  • Spring Boot(orders-service)に Micrometer を導入しカスタムメトリクスを公開
  • Prometheus および Alertmanager を docker-compose で簡単に立ち上げ可能
  • Grafana を用いたメトリクスの可視化とアラート確認が可能
  • 学習・デモ用途に最適なシンプル構成、ブログ記事の実践例に対応

技術的なポイント

(技術的な特徴や注目点を700字程度で説明)

このリポジトリの肝は「アプリケーションインストルメンテーション」と「監視基盤のセルフホスティング」をシンプルに結びつけている点です。orders-service は Spring Boot Actuator と Micrometer を用い、ビジネス的に意味を持つカスタムカウンター(例:注文の成功/失敗カウント)を定義して /actuator/prometheus エンドポイントから Prometheus フォーマットでエクスポーズします。monitoring ディレクトリには docker-compose.yml が含まれ、Prometheus(スクレイプ設定)、Alertmanager(通知ルールの受け口)、Grafana(ダッシュボード)のコンテナを定義しており、ローカル環境でワンコマンドで観測基盤を立ち上げられます。Prometheus のルールでしきい値や異常検知の条件を定義し、Alertmanager がアラートの集約・抑止・通知ルーティングを担当します。これにより「静かに失敗する(silent failures)」状況を早期に検知し、運用での対応を促すワークフローを実践できます。技術的にはメトリクス設計(どのカウンターやタイマーをどう命名・ラベル付けするか)、Prometheus のジョブ設定とアラートルール、Grafana の可視化パネル作成が学べる点が価値です。軽量構成のため、既存マイクロサービスに容易に組み込み、アラート駆動の運用改善を試す教材として有用です。

プロジェクトの構成

主要なファイルとディレクトリ:

  • .gitignore: file
  • README.md: file
  • docs: dir
  • monitoring: dir
  • orders-service: dir

まとめ

(総評を50字程度で)

シンプルかつ実用的な可観測性スタックの学習用サンプル。導入や検証に便利。

リポジトリ情報:

READMEの抜粋:

Day 08 — Observability Stack

Repository for the #30DiasJava challenge, highlighting Prometheus + Alertmanager + Grafana with Spring Boot Actuator metrics, as detailed in the blog post Observability-Driven Alerting: How Prometheus and Alertmanager Prevent Silent Failures.

Components

  • orders-service — Spring Boot app with custom Micrometer counters.
  • monitoring/docker-compose.yml — Prometheus, Alertmanager, …