開発運用アーキテクチャ

監視とオブザーバビリティ ― 三本柱+OpenTelemetry+SLOアラート ― 生成AI時代のアーキテクチャ超入門

監視とオブザーバビリティ ― 三本柱+OpenTelemetry+SLOアラート ― 生成AI時代のアーキテクチャ超入門

本記事について

当サイトを閲覧いただきありがとうございます。 本記事はシリーズ『生成AI時代のアーキテクチャ超入門』の「開発運用アーキテクチャ」カテゴリ第9弾として、監視とオブザーバビリティについて解説する記事です。

「動いてる?」に答えるのが監視なぜ壊れた?に答えるのがオブザーバビリティです。本記事では監視3本柱(Metrics/Logs/Traces)、4ゴールデンシグナル(Latency/Traffic/Errors/Saturation)、OpenTelemetry、AIOps、運用実装まで解説します(システムアーキテクチャ段階の監視要件は別記事「システムアーキテクチャ」へ)。

このカテゴリの他の記事

概要 ― 作って届けて動かし続ける一本の流れ ― 生成AI時代のアーキテクチャ超入門senkohome.com/arch-intro-devops-overview/DevOps・SREの全体像 ― 速度と安定性は両立する ― 生成AI時代のアーキテクチャ超入門senkohome.com/arch-intro-devops-sre/構成管理 ― Git+モノレポ+GitHub Flowが鉄板 ― 生成AI時代のアーキテクチャ超入門senkohome.com/arch-intro-devops-vcs/開発環境とローカル実行 ― 初コミットまで半日 ― 生成AI時代のアーキテクチャ超入門senkohome.com/arch-intro-devops-devenv/コードレビュー ― PR 300行+1人承認+CODEOWNERS ― 生成AI時代のアーキテクチャ超入門senkohome.com/arch-intro-devops-review/テスト設計 ― ピラミッド+Testcontainers+ブランチカバレッジ ― 生成AI時代のアーキテクチャ超入門senkohome.com/arch-intro-devops-test/CI/CD ― GitHub Actions+OIDC+Feature Flagが鉄板 ― 生成AI時代のアーキテクチャ超入門senkohome.com/arch-intro-devops-cicd/デプロイ戦略 ― 頻度を上げてリスクを下げる ― 生成AI時代のアーキテクチャ超入門senkohome.com/arch-intro-devops-deploy/ログ設計 ― 構造化JSON+PII禁止+段階的コールド化 ― 生成AI時代のアーキテクチャ超入門senkohome.com/arch-intro-devops-logging/SLOとSLI ― 100%を求めずエラー予算で速度を買う ― 生成AI時代のアーキテクチャ超入門senkohome.com/arch-intro-devops-slo/インシデント対応 ― 英雄ではなく仕組みで収束させる ― 生成AI時代のアーキテクチャ超入門senkohome.com/arch-intro-devops-incident/SREプラクティス ― Toil削減とカオス演習 ― 生成AI時代のアーキテクチャ超入門senkohome.com/arch-intro-devops-sre-practice/ドキュメンテーション ― README+ADR+OpenAPIをGitに寄せる ― 生成AI時代のアーキテクチャ超入門senkohome.com/arch-intro-devops-docs/チケット・プロジェクト管理 ― Epic/Story/Task+1日粒度 ― 生成AI時代のアーキテクチャ超入門senkohome.com/arch-intro-devops-ticket/

なぜ必要か

障害に気づかないと被害が拡大する

ユーザーからのクレームで初めて障害に気づく組織は未だに多いです。監視がないと気づいた時には大事故になります。

マイクロサービスでは原因追跡が困難

100個のサービスが連携するシステムで、どこが原因で遅いのかを特定するには、分散トレーシング等のオブザーバビリティ基盤が必須です。

SLO・SLAの数値化

「99.9%稼働」を約束するなら、実測値を計測する仕組みが必要です。測れないものは守れないのが原則です。

三本柱(Three Pillars)

オブザーバビリティの基本となる3つのデータ種別です。どれか1つでは不十分で、3つを組み合わせて初めて全体像が見えます。「3本柱」はもはや古典で、現代は Events・Profiles も加えた多角的アプローチが主流です。

flowchart TB
    APP([アプリ実行])
    APP --> METRIC[Metrics<br/>数値時系列<br/>CPU/エラー率/レイテンシ]
    APP --> LOG[Logs<br/>イベント記録<br/>アクセス/エラー詳細]
    APP --> TRACE[Traces<br/>リクエスト経路<br/>分散追跡]
    METRIC --> Q1[何が起きてるか?]
    LOG --> Q2[何が記録されたか?]
    TRACE --> Q3[どう動いたか?]
    Q1 --> ANSWER([全体像<br/>= Observability])
    Q2 --> ANSWER
    Q3 --> ANSWER
    classDef app fill:#fef3c7,stroke:#d97706;
    classDef m fill:#dbeafe,stroke:#2563eb;
    classDef l fill:#fae8ff,stroke:#a21caf;
    classDef t fill:#dcfce7,stroke:#16a34a;
    classDef goal fill:#fef3c7,stroke:#d97706,stroke-width:2px;
    class APP app;
    class METRIC,Q1 m;
    class LOG,Q2 l;
    class TRACE,Q3 t;
    class ANSWER goal;
種別内容代表
Metrics(メトリクス)数値の時系列データPrometheus・Datadog
Logs(ログ)文字列のイベント記録Loki・Elasticsearch
Traces(トレース)リクエストの経路Jaeger・Tempo

メトリクスは「何が起きているか」、ログは「何が記録されたか」、トレースは「どう動いたか」を示します。

メトリクス

数値化した時系列データで、CPU 使用率・リクエスト数・エラー率・レイテンシなどを記録します。ストレージ効率が良く、集計・アラートに向くのが特徴で、監視の基本となるデータです。

典型メトリクス内容
システム系CPU・メモリ・ディスクI/O・ネットワーク
アプリ系リクエスト数・エラー率・レイテンシ
ビジネス系注文数・登録数・売上
USEUtilization・Saturation・Errors
REDRate・Errors・Duration

USERED は有名なメトリクス設計フレームワークで、「何を測るか」の指針として使われます。

ログ

時刻付きのテキストイベントで、アプリが出力する詳細情報を記録します。構造化ログ(JSON形式)が現代の標準で、メトリクス・トレースと紐付けられます。ログについては次の記事で詳しく扱います。

ログの種類用途
アプリログ業務処理の記録
アクセスログHTTP リクエスト
監査ログ権限操作・重要変更
システムログOS・ミドルウェアのイベント

ログは大量に発生するため保管コストが問題になりやすく、保持期間・圧縮・サンプリング戦略が運用論点です。

トレース

1つのリクエストが複数サービスを経由する過程を追跡するデータです。マイクロサービスでは「注文APIが在庫APIと決済APIを呼ぶ」といった連鎖があり、どこで遅いか・どこで失敗したかを視覚化できます。

トレースは Span(個々の処理)が Trace ID で繋がれ、全体の流れを DAG(Directed Acyclic Graph=有向非巡回グラフ)として表現します。代表的な技術は OpenTelemetry(業界標準)で、Jaeger・Tempo・Datadog APM(Application Performance Monitoring=アプリ性能監視)等に送信されます。

Trace: order-abc123
 ├─ Span: POST /order (100ms)
 │   ├─ Span: check stock (30ms)
 │   └─ Span: charge card (50ms)
 │       └─ Span: Stripe API (45ms)

主要ツール(クラウドネイティブOSS)

OSS ベースのオブザーバビリティは、PrometheusGrafana・Loki・Tempo・OpenTelemetry の組み合わせが事実上の標準です。CNCF(Cloud Native Computing Foundation)の傘下で発展しており、将来性も高いです。

ツール役割
Prometheusメトリクス収集・保管・アラート
Grafana可視化ダッシュボード
Lokiログ集約(Grafana Labs 製)
Tempo分散トレース(Grafana Labs 製)
OpenTelemetry計測データ収集の標準
Alertmanagerアラート通知

LGTMスタック(Loki・Grafana・Tempo・Mimir)として統合ブランディングされ、近年急速に普及しています。

主要ツール(SaaS)

自社で基盤を構築したくない場合、SaaSオブザーバビリティを使うのが手早い選択です。料金は高いですが、運用負担ほぼゼロで高機能な監視基盤が手に入ります。

サービス特徴
Datadog機能最強・料金高い
New Relic老舗・全機能統合
Splunkログ分析の王様
DynatraceAI 駆動の自動解析
Honeycomb高カーディナリティに強い
Grafana CloudLGTM スタックのマネージド

Datadog が機能最強ですが、月額数十万〜数百万円になることも多く、小規模は Grafana Cloud・New Relic 無料枠の方が現実的です。

OpenTelemetry(計測の標準)

メトリクス・ログ・トレースを統一的に収集する業界標準です。2019年に OpenTracing と OpenCensus が合流して誕生し、CNCF Incubating から Graduated へと進んだ現代の共通規格です。

OpenTelemetry を使えば、計測コードはベンダーニュートラルで書けます。Datadog から Grafana に乗り換える時も、アプリ側のコードを書き換える必要がありません。送信先の設定を Collector 側で差し替えるだけで済むため、ベンダーロックイン回避が机上の議論ではなく実装レベルで効いてきます

さらに、計装 API が統一されることで複数ツールの併用が容易になります。例えば本番メトリクスは Datadog、長期ログアーカイブは S3 + Loki、開発環境トレースは Jaeger のように、同じ計測コードから用途別に振り分けられます。独自 SDK を使うと各ツールごとに計装をやり直すコストが発生するため、規模が大きくなるほどこの差は無視できません。

特徴内容
ベンダー中立どのバックエンドにも送信可能
言語サポート主要言語ほぼ全て
自動計測主要フレームワーク対応
計測の統一メトリクス・ログ・トレース統合

新規構築するなら OpenTelemetry が第一候補です。ベンダーロックインを避けられます。

ダッシュボードとアラート

監視データを集めるだけでは意味がなく、可視化とアラートで初めて運用に活かせます。Grafana や各 SaaS のダッシュボードで状態を俯瞰し、閾値を超えたら Slack や PagerDuty で通知する運用が標準です。

ダッシュボード種別内容
サービスヘルスAPI 別の状態・エラー率
インフラCPU・メモリ・ネットワーク
ビジネス売上・ユーザー数・コンバージョン
SLOSLI 実測 vs 目標

アラートは少なすぎると気づかない、多すぎると麻痺するという二律背反があり、重要度別のルーティング(警告は Slack、重大は PagerDuty)が重要です。

アラート設計

良いアラートの条件は、(1)必ず対応が必要、(2)対応可能、(3)すぐに動くべき、の3つを満たすことです。これを外したアラートはアラート疲れを生み、本当の重大事案を見逃す原因になります。

良いアラート悪いアラート
SLO 違反CPU 80% 超過(自動回復する)
エラー率急上昇1回だけのエラー
ユーザー影響明確「なんか遅い」
対応手順あり誰が何すれば良いか不明

アラートは「症状」ではなくユーザー影響で発報すべきです。CPU 高騰自体はユーザーに影響しません。

「機械が苦しいか」「人間が苦しんでいるか」は別物、というのは監視設計の定番の教訓です。CPU 使用率80%でアラートを仕込んで安心していた現場で、当日誰のダッシュボードも赤くなっていないのに Twitter では「ログインできない」の報告が流れていた、という事例はよく聞かれます。原因は DB 接続プールの枯渇で CPU はむしろ暇、アプリだけが全員待たされている状態、という典型パターンです。

SLOベースアラートの実装例

SLO違反ベース」のアラートは、エラーバジェットの消費速度(burn rate)で発報するのが現代的です。単なる閾値超過ではなく「このペースだと予算を使い切る」を検知する仕組みで、Google SRE Workbook が標準として推奨しています。

重大度条件発報先
Critical(即対応)1時間で予算の2%消費(burn rate > 14.4×)PagerDuty
High(数時間以内)6時間で予算の5%消費(burn rate > 6×)PagerDuty
Warning(営業時間内)3日で予算の10%消費(burn rate > 1×)Slack
# Prometheus の例(可用性SLO 99.9%, 月間予算 43.2分)
alert: ErrorBudgetBurnRateCritical
expr:  (1 - availability_slo:ratio_rate5m) > (14.4 * 0.001)
  and  (1 - availability_slo:ratio_rate1h) > (14.4 * 0.001)
for: 2m

CPU 80%超えたら発報は時代遅れ。burn rateで発報するのが現代の標準です。

判断基準①:システム規模と複雑さ

オブザーバビリティの重装度はシステムの複雑度で決まります。モノリシックな単一サーバーなら軽量監視で十分、マイクロサービスならフルセットが必要です。

システム規模推奨
単一サーバー・モノリスCloudWatch/Datadog 軽量プラン
数サービスPrometheus + Grafana
マイクロサービス(10〜50)LGTM + OpenTelemetry
大規模(100+)Datadog/Dynatrace エンタープライズ

判断基準②:運用チームのスキル

OSS スタックは運用が重く、専門チームが必要です。SaaS なら運用負担は減りますが、コストが跳ね上がります。

チーム体制推奨
SRE 専属なしSaaS(Datadog/New Relic)
SRE 数名Grafana Cloud
SRE 充実・コスト削減志向自社 LGTM + OpenTelemetry

ケース別の選び方

個人開発・小規模SaaS

クラウド標準(CloudWatch/Cloud Monitoring)+ UptimeRobot。月数千円から回せます。独自ダッシュボードが欲しくなったら Grafana Cloud 無料枠を追加します。

スタートアップ・SRE 0〜1名

Datadog or New Relic の無料枠 + OpenTelemetry SDK。運用負荷を最小化したいなら SaaS 一択です。OTel で計測すれば、将来バックエンド切替も可能です。規模が大きくなると課金が跳ねるため、100ホスト超で見直します。

中堅SaaS・マイクロサービス化

Grafana Cloud(LGTM)+ OpenTelemetry。LGTM スタックの学習コストはありますが、Datadog より大幅に安く済みます。SRE 2〜3名で運用可能です。

大企業・独自運用できるチーム

自社 Prometheus + Grafana + Loki + Tempo + OpenTelemetry。ベンダーロックインを避け、機密データを外に出さない構成です。運用には5名以上の専任 SRE が必要になります。

よくある勘違い

ログを全部取れば大丈夫

ログ地獄になります。サンプリング・構造化・重要度別の設計が必要で、ログ量は金になります。

CPU高騰を監視すれば十分

CPU 高騰はユーザーに影響しないこともあります。ユーザー影響ベースSLO)が正しいアプローチです。

アラートは全員にメールで送る

誰も見なくなります。対応者に適切なチャネルで届けるべきで、オンコール設計が重要です。

OpenTelemetryは新しいから様子見

既に業界標準です。今から入れるなら OTel 一択で、ベンダー独自 SDK は陳腐化しつつあります。

監視コスト・アラート運用の数値Gate

※ 2026年4月時点の業界相場値です。テクノロジー・人材市場の変化で陳腐化するため、定期的にアップデートが必要です。

監視は「入れれば安心」ではなく、費用とシグナル品質を数値で追うのが運用の肝です。

指標推奨値超えたらどうするか
監視基盤の月額コストインフラ費の5〜10%サンプリング・保持期間短縮
本番DEBUGログ出力禁止INFO 以上に絞る
アラート発報数/週10件以下ノイズ削減・SLO ベースへ
アラート対応率90%以上鳴っても誰も見ないなら削除
MTTA(Mean Time To Acknowledge)5分以内オンコール体制の見直し
MTTR(Mean Time To Resolve)30分以内Runbook 整備
Lighthouse Observability スコア90点以上メトリクス設計を見直す
構造化ログ率100%JSON 以外は受け付けない
OpenTelemetry 採用率新規は100%ベンダー独自 SDK を避ける

アラート発報10件超/週「ノイズ化の兆候」Datadog月額30万円超はスタートアップでは過剰投資の目安。本番でDEBUGログを出し続けるとCloudWatch Logs月100万円超という事故が定番です。

監視コストはインフラ費の10%が上限。超えたらサンプリング・保持期間で削ります。

監視設計の鬼門・禁じ手

監視で事故る典型パターン。どれも設定しただけで運用できていない構造を持ちます。

禁じ手なぜダメか
CPU/メモリの静的閾値(80%超過等)でアラート負荷変動で誤検知が積み重なり、鳴っても誰も見ない状態に
本番でDEBUGレベルログを出し続けるCloudWatch Logs/Datadog 請求が月100万円超
アラートを1つのSlackチャンネルに全部流す本物の障害通知が日常ノイズに埋もれる
平均値(Average)だけで性能を追う1%の遅いユーザーが見えない。P95/P99で追う
RunbookをWord/PDF/口頭で管理属人化・再現不能、AI に実行させられない
ポストモーテムで犯人探し情報隠蔽の温床。Blamelessが鉄則
監視基盤のコストを監視しないDatadog 請求5倍事故が頻発、監視の監視が必要
トレースなしでマイクロサービス運用どのサービスが遅いか特定不能、MTTR が数時間に
独自SDKで計装ベンダーロックイン、将来の乗り換えで全書き換え
アラート棚卸しを実施しない月1回の棚卸しで形骸化アラートを削除
監視系と本番を同じネットワークで運用2021年10月の Facebook 6時間障害と同じ構造(BGP設定ミスで監視ツールまで見えず)

2021年10月の Facebook/Instagram 6時間障害(BGP 設定ミスで社外からサーバーが見えなくなり、社内の監視ツール・入退室システムまで同じネットワークに依存していたため復旧遅延、推定6,000万ドル超の損失)は、監視の監視がない構造的問題を示した事例です。

監視は人間の痛みで鳴らす。CPU 80% ではなく SLO 違反で発報します。

AI時代の視点

AI 駆動開発(バイブコーディング)と AI 活用が前提になると、オブザーバビリティAIが異常を自動検知・診断する領域に進化しています。Datadog Watchdog・Dynatrace Davis 等の AI 駆動監視は、従来の閾値ベースを超えて異常を自動発見します。

AI時代に有利AI時代に不利
高カーディナリティ対応(Honeycomb)固定メトリクスだけ
OpenTelemetry 標準独自SDK
AIが読める構造化ログ非構造の文字列ログ
SRE Agent・LLM(Large Language Model=大規模言語モデル)連携手動での原因追跡

AI に障害を調査させるためには、トレース・構造化ログが必須です。生の文字列ログだけでは AI も解析できません。「AIが読める形で計測データを出す」のが新しい基準です。

オブザーバビリティの将来はAIエージェントが運用する。データ構造が命です。

筆者メモ — 「ダッシュボード全面緑」の裏で燃えていた事例

監視していたはずなのに気づけなかった、という事例が運用現場の定番の語り草になっています。

ある SaaS で、CPU・メモリ・ネットワークのダッシュボードは全て緑のまま、Twitterには「ログインできない」の報告が数百件流れていた、というヒヤリハットがあります。原因は DB 接続プール枯渇で、CPU はむしろ暇、アプリだけが全員待たされている状態でした。「インフラメトリクスを見て安心していた」のが罠で、SLO(ユーザー影響)を測っていなかったのが根本原因です。

もう一つ、2021年10月の Facebook/Instagram 6時間障害は、BGP設定ミスで社外からサーバーが見えなくなっただけでなく、社内の監視ツールや入退室システムまで同じネットワークに依存していたため、エンジニアがデータセンターに入れず復旧が遅延した、という「監視の監視がない」事例として語り草になっています。広告収入の損失だけで推定6,000万ドル超でした。

どちらも「何を測るか」「監視系の独立性」の設計漏れが致命傷で、ユーザー影響で鳴らす・監視は対象と切り離すの両方が必須であることを突きつけます。

決めるべきこと — あなたのプロジェクトでの答えは?

以下の項目について、あなたのプロジェクトの答えを1〜2文で言語化してみてください。曖昧なまま着手すると、必ず後から「なぜそう決めたんだっけ」が問われます。

  • 計測SDK(OpenTelemetry推奨/ベンダー独自)
  • バックエンド(OSS LGTM/Datadog/New Relic)
  • メトリクス設計(USEREDSLI
  • ログ戦略(収集範囲・保持期間)
  • 分散トレース(全リクエスト/サンプリング)
  • アラート設計(SLOベース・チャネル分け)
  • ダッシュボード(サービスヘルス・ビジネス)

最終的な判断の仕方

監視とオブザーバビリティの核心は動いてる?に答えるのが監視、なぜ壊れた?に答えるのがオブザーバビリティという役割の違いを理解することです。モノリシックなら従来の監視で足りますが、マイクロサービス化が進んだ瞬間、Metrics/Logs/Traces の三本柱と OpenTelemetry による統一計測が必須になります。アラート設計は CPU 高騰のような「症状」ではなく SLO 違反のような「ユーザー影響」ベースに寄せ、アラート疲れを防ぐのが運用持続性の鍵になります。

もう一つの決定的な軸はAIエージェントが運用するためのデータ構造です。OpenTelemetry構造化ログ・高カーディナリティ対応が揃った基盤は AI が障害を自動診断でき、Datadog Watchdog や SRE Agent といった新しい運用モデルに乗れます。独自 SDK・非構造文字列ログ・固定メトリクスのみは AI 時代に陳腐化します。

選定の優先順位

  1. OpenTelemetryで計測を統一 — ベンダー中立、将来のバックエンド切替に備える
  2. SaaS vs OSSは運用体制で決めるSRE 専属なしは Datadog、数名なら Grafana Cloud、充実なら自社 LGTM
  3. アラートはユーザー影響ベースSLO 違反を発報、CPU 高騰単体は鳴らさない
  4. AIが読める構造化データ — JSON/Traces/高カーディナリティ、AI 診断に備える

三本柱をOpenTelemetryで統一AI が読める形で計測を揃え、ユーザー影響で鳴らします。

まとめ

本記事は監視とオブザーバビリティについて、三本柱・OpenTelemetry・主要ツール・SLOバーンレートアラート・AI診断に備える構造化データまで含めて解説しました。如何だったでしょうか。

OpenTelemetryで計測を統一し、運用体制でSaaS vs OSSを決め、アラートはユーザー影響ベースで、AIが読める構造化データを整える。これが2026年の監視とオブザーバビリティの現実解です。

次回はログ設計構造化ログPII保護・保持期間)について解説します。

シリーズ目次に戻る → 『生成AI時代のアーキテクチャ超入門』の歩き方

それでは次の記事も閲覧いただけると幸いです。