監視・可観測性
動いているものの様子を知り、壊れたら気づく
公開したあとの「目」。これがないと、壊れても利用者から言われるまで分からない。
最初に触るなら
Sentry :アプリで起きた例外をスタックトレース付きで集め、発生源を特定するエラー追跡サービス
数行の設定でアプリのエラーが自動で集まり、「動いているつもり」が可視化される体験が得られる。
隣の分野とのつながり
| 分野 | どうつながるか |
|---|---|
| 実行基盤・ホスティング | 監視の対象は、実行基盤の上で動いているもの |
| サーバー・API | 不具合の多くはサーバー側で起きる。例外を集めて原因をたどる |
| 開発基盤・CI/CD | 配信のたびに「壊れていないか」を見る習慣と組で使う |
| 実行基盤・ホスティング (から見ると) | 載せたものが正しく動いているかを見るのが監視の仕事 |
| 開発基盤・CI/CD (から見ると) | 配信したあとに壊れていないかを見る監視と、いつも組で使う |
この分野を理解する
公開したあとが本番。 自分の手元で動いても、利用者の環境では違う入力・違うブラウザ・違うタイミングで動く。そこで起きた問題を知る手段がないと、壊れていることに気づけない。監視とは、その「知る手段」を用意することである。
3つの見方。 何が起きたかの記録が「ログ」。数の推移(リクエスト数、応答時間、メモリ)が「メトリクス」。プログラムの例外を集めて原因の行まで示すのが「エラー追跡」。Sentry はエラー追跡、Prometheus と Grafana はメトリクス、Datadog はまとめて扱う。
気づく仕組みまで含める。 集めるだけでは意味がなく、「エラーが増えたら通知する」までがセットである。通知先はメールやチャットで、ここは「自動化・連携」の分野とつながる。
隣の分野との境界。 監視は見るだけで、直すのは開発の仕事。ただし「何を集めておくか」は、サーバーを書く時点で決まる。後から足すより最初から入れておくほうが楽である。
最初の一歩。 小さなアプリに Sentry を入れ、わざとエラーを起こして、通知が届くまでを一度通す。
この分野のツール(3件)
種別(自分で書く土台か、借りて使うサービスか)で分けている。「主要制約」は各ツールで最も先に当たる限界。
ツール(1件)自分の環境にインストールして使うソフトウェア。無料のものが多いが、運用は自分で持つ
| ツール | 学習 | 料金 | 成熟 | 主要制約 | 検証 |
|---|---|---|---|---|---|
| Prometheus + Grafana 時系列メトリクスを収集する Prometheus と、可視化・通知を担う Grafana の定番の組み合わせ | 中 | 無料 | 安定 | ローカルストレージの既定保持期間:15 日(--storage.tsdb.retention.time の既定 15d。サイズ上限 retention.size は既定 0 = 無効) |
マネージドサービス(2件)事業者が運用していて、借りて使うサービス。運用を任せられる代わりに、プランの上限が乗る
| ツール | 学習 | 料金 | 成熟 | 主要制約 | 検証 |
|---|---|---|---|---|---|
| Sentry アプリで起きた例外をスタックトレース付きで集め、発生源を特定するエラー追跡サービス | 低 | 無料枠あり | 安定 | 無料プランのエラーイベント数:5,000 errors / 月(Developer)。ほかに 5M spans、50 replays、1 ユーザー、cron・uptime モニタ各 1 | |
| Datadog インフラ指標・ログ・APM・エラーを一つの画面に集約する、ホスト課金の SaaS 監視基盤 | 中 | 従量課金 | 安定 | インフラ監視のホスト単位課金:Pro $15 / ホスト / 月、Enterprise $23 / ホスト / 月(年契約。月次のオンデマンドはそれぞれ $18、$27) |
どれを選ぶか
| ツール | 種別 | どういう時に選ぶか/避けるか |
|---|---|---|
| Prometheus + Grafana | ツール | 自前のサーバーや Kubernetes のメトリクス監視では事実上の標準で、費用をかけずに始めるなら第一候補。15 日を超える保持、冗長化、ログの集約が必要になった時点で外部ストレージ(Grafana Cloud、Thanos、Mimir)を足すか、運用を丸ごと買う Datadog へ。例外追跡は Sentry を併用する |
| Sentry | マネージドサービス | 「ユーザー側で起きた例外を、どのコードのどの行で起きたかまで知りたい」では第一候補。無料枠で一人で始められる。インフラ指標やログの集約まで一つで賄いたい場合は Datadog、費用をかけずメトリクスだけ見たい場合は Prometheus + Grafana へ。ただしどちらも例外追跡の代替にはならない |
| Datadog | マネージドサービス | 監視の運用担当がおらず、インフラ・ログ・APM を一つの画面で見たい組織では第一候補。ホスト数が少なく費用に敏感な個人・小規模チームは避け、Prometheus + Grafana(メトリクス)と Sentry(例外)の組み合わせへ。導入するなら、ログのインデックス対象とカスタムメトリクスのタグ設計を最初に決める |
この分野が担う目的
目的ごとのページでは、他の分野のツールも含めて横断比較できる。
- 指標を監視し異常を通知する (この分野から 3件)
- ログを集約して検索する (この分野から 3件)
- アプリの例外を収集・追跡する (この分野から 2件)
- データを可視化・ダッシュボード化する (この分野から 2件)