SREとモニタリング

あなたのダッシュボード、
現在のユーザーの状況は見えていますか

SREの皆さまへ ― サーバーを見ることと、ユーザーの状況を見ることは、別の話です

ユーザーのリクエストがサーバーに届くまでの、全経路

「サーバーは正常。既存の監視ツールでもアラートなし。
でもユーザーから『繋がらない』の報告が来た」——この状況に心当たりはありませんか。
これはツールの問題ではなく、見ている場所の問題です。
ユーザーのリクエストがサーバーに届くまでの経路を分解すると、既存の監視ツールが主にカバーしているのは全体のごく一部です。

ユーザー端末からオリジンサーバーまでの全レイヤー

ユーザーのリクエストは、以下の経路をたどってサーバーに届きます。

ユーザー端末
スマートフォン・PC。
OSのネットワークスタック、ブラウザのレンダリングエンジン、CPUとメモリの処理能力がすべて影響します。
Wi-Fi / 有線LAN
家庭・オフィスの無線環境。
干渉・輻輳・ルーターの性能。
キャリア網
docomo・au・SoftBank・楽天モバイルの4G/5G基地局。
基地局の混雑、パケット詰まり、キャリア間ピアリングの品質。
夕方の通勤帯に基地局が混雑すれば、スループットが低下します。
ISP(インターネットサービスプロバイダ)
キャリア網からインターネットへの接続点。
ISP間のピアリング品質、帯域の逼迫。
BGP(Border Gateway Protocol)
AS(自律システム)間の経路制御。
経路ハイジャックやルートリークが発生すると、「サーバーは正常なのに繋がらない」が起きます。
BGPの変化はサーバーログには現れません。
IXP(インターネット交換点)
ISP同士が接続する物理的な拠点。
日本国内では東京・大阪が主要拠点ですが、地方ユーザーのトラフィックがここを経由する際の遅延は、クラウド監視では見えません。
CDN(コンテンツデリバリーネットワーク)
エッジサーバーのキャッシュヒット率、エッジの地理的配置。
北海道・九州のユーザーに適切なエッジから配信できているか。
キャッシュが効いていなければ、遠方のオリジンサーバーまでリクエストが到達します。
DNS(名前解決)
ドメインをIPアドレスに変換する処理。
キャリア別リゾルバの応答時間は大きく異なります。
DKIMのDNSタイムアウトは、メール到達率に直結します。 TTLの設定ミスは全ユーザーに影響します。
SSL/TLS
証明書の検証、ハンドシェイクの処理時間。
証明書チェーンの不備や、OCSP応答の遅延は、接続開始時のレイテンシとして現れます。
オリジンサーバー(ここだけを見ているSREが多い)
アプリケーションサーバー、データベース、キャッシュ。
既存のAPMツール・サーバー監視ツールが主に計測しているのはこの層です。

あなたの既存監視が主にカバーしているのは、この経路の末端だけです。
それは間違いではありません。
しかし、ユーザーが体験する品質は、経路全体の最も弱い部分によって決まります。

「サーバーは正常」なのに「繋がらない」が起きる理由

以下のケースは、すべてサーバーが正常であるにもかかわらず発生します。

BGP経路の問題
自社ASへの経路広告が正しく伝播していない。
または他のASが誤った経路を広告している(ルートリーク)。
サーバーは動いているが、ユーザーのリクエストが届かない。
キャリア網の輻輳
夕方のピーク時間帯に特定キャリアの基地局が混雑し、スループットが低下。
サーバーの応答は正常でも、ユーザー側でタイムアウトが発生する。
DNSの障害
上流のDNSリゾルバに問題が発生。
ドメインの名前解決ができず、ユーザーはサーバーに到達できない。
サーバーのメトリクスには何も表れない。
CDNのキャッシュ不整合
コンテンツの更新後、特定エッジのキャッシュが古いバージョンを返し続ける。
ユーザーには壊れたページが表示される。アプリケーションログには正常レスポンスが記録される。
SSL証明書の問題
証明書の有効期限切れ、またはチェーンの不備。
ユーザーのブラウザはエラーを表示するが、サーバーのポート443は正常に開いている。

これらは「理論上あり得る話」ではなく、実際の障害として繰り返し発生しているパターンです。
そしてその多くは、サーバー側の監視ツールだけでは検知できません。

クラウド監視の構造的限界

既存のAPMツール・サーバー監視ツールは優れたプロダクトです。
しかし、これらのツールが計測している「場所」を理解することが重要です。

クラウド内部から、クラウド内部を監視している

多くのAPMツール・合成監視ツールは、AWSやGCPのデータセンター内に計測エージェントを置いています。
これは「自社サーバーから自社サーバーへの経路」を見ているに過ぎません。
ユーザーがdocomo回線を使って札幌からアクセスする経路、au回線を使って福岡からアクセスする経路——これらはクラウド内部の計測には含まれません。
ラストマイルの品質は、クラウド監視には原理的に見えません。

監視システム自体がクラウド障害の影響を受ける

AWSの特定リージョンに障害が発生したとき、同じリージョンで動いている監視エージェントも影響を受けます。
「監視システムが死んでいるから、障害を検知できない」という状況が起きます。
物理的に独立した場所から計測するインフラが必要な理由はここにあります。
監視システムは、監視対象と独立したインフラで動いていなければなりません。

「モバイル対応」はシミュレーションではない

多くの合成監視ツールが提供する「モバイル計測」は、データセンター内のPCで回線速度を人為的に制限(スロットリング)したシミュレーションです。
実際のモバイル環境は、基地局との電波状況、キャリア網のルーティング、5G/4G切り替えのオーバーヘッドなど、スロットリングでは再現できない変数を持っています。
シミュレーターで見えていた数字と、実回線で計測した数字は、しばしば大きく乖離します。

平均値を見ていても、品質は管理できない

「平均応答時間200ms」は良好に見えます。しかしこの数字だけでは、ユーザーの品質体験を管理できていません。

平均は外れ値を隠す

応答時間の分布が以下だったとします。

  • 90%のリクエスト:50ms
  • 9%のリクエスト:500ms
  • 1%のリクエスト:8,000ms

加重平均は約230msです。
「平均230ms、良好」と報告できます。
しかし月間1000万リクエストのサービスであれば、毎月10万件のリクエストが8秒待ちになっています。
その10万件は実在するユーザーです。
平均値は、最も不満を抱えているユーザーの存在を隠します。

SLOはパーセンタイルで設計する

Googleが提唱するSRE実践では、SLO(サービスレベル目標)をパーセンタイルで定義します。
「p95の応答時間が500ms以内」
「p99の応答時間が2,000ms以内」という形式で定義します。
p99を監視することは、「100人に1人が経験する最悪の体験」を管理することです。
平均だけを見るSLOは、最も重要なユーザー体験を管理対象から外しています。
さらに、地域別・キャリア別のパーセンタイルを持つことで、「全体のp99は良好だが、楽天モバイル×地方ユーザーのp99が劣化している」という粒度の問題を発見できます。

統計的品質管理の視点を持つ

製造業の品質管理で使われる統計的手法——管理図、パーセンタイル分析、外れ値の検出——は、インターネットサービスの品質管理にそのまま適用できます。
「アラートが鳴らなかったから問題なし」ではなく、「p99が先月比でじわじわ悪化しているが閾値には達していない」という劣化の傾向を早期に検知することが、障害を起こさないSREの本質です。
アラートは「火事になってから鳴るもの」です。統計的品質管理は「煙を検知するもの」です。

「障害が起きてから動く」から「劣化を検知して先手を打つ」へ

障害対応の時間(MTTR)を短縮する最も効果的な方法は、障害になる前に劣化を検知することです。

「サイトが遅い」という報告から始まる障害対応

ユーザーからの「サイトが遅い」という報告を受けて調査を開始するパターンを考えます。

  • 自社サーバーのメトリクスを確認 → 正常
  • データベースの応答時間を確認 → 正常
  • CDNのステータスを確認 → 正常
  • 外部SaaSのステータスページを確認 → 正常
  • 「ユーザー環境の問題では?」という仮説が出る
  • 数時間後、特定キャリアの障害情報が出る

この調査に半日かかったとすれば、その間ユーザーは劣化した体験を受け続けていました。原因の「推測」に時間をかけていたのは、実測データがなかったからです。

実測データがある障害対応

SpeedDataのダッシュボードを開いた場合、同じ状況でこう見えます。

  • 「19:03から、SoftBank回線×大阪でDNS応答時間が通常の4倍に上昇」
  • 「同時刻、該当エリアのTCP接続時間も上昇傾向」
  • 「東京・名古屋・福岡の同キャリアは正常範囲内」

この情報があれば、「SoftBank×大阪のDNSまたはネットワーク経路の問題」という仮説に数分で到達できます。SoftBankのNOCへのエスカレーションも、推測ではなく実測データを根拠に行えます。
障害の切り分けを「推測」から「実測」に変えることが、MTTRを劇的に短縮します。

障害になる前に劣化を検知する

継続計測によって、「アラート閾値には達していないが、先週比でp95が15%悪化している」という傾向を検知できます。
この段階で原因を調査すれば、ユーザーへの影響が出る前に対処できます。
アラートが鳴ってから動くのではなく、数字が動き始めた段階で先手を打つのが、継続計測の価値です。
計測間隔は1分単位で設定可能です。

SpeedDataは、既存監視の代替ではなく補完です

既存のAPMツール・サーバー監視ツールは、引き続き使ってください。
それらはサーバー内部・アプリケーション層の監視に優れたプロダクトです。
SpeedDataはその「外側」、ユーザーのいる場所からの計測を担います。
両方を持つことで、インターネット全経路の監視が初めて完成します。

既存監視が見ている層

既存のAPMツール・サーバー監視ツールが主にカバーしているのは、アプリケーション層・インフラ層(サーバー・データベース・キャッシュ)です。
コードレベルのトレーシング、サーバーリソース、サービス間の依存関係。
これらの可視化には既存ツールが最適です。

SpeedDataが補完する層

SpeedDataが計測するのは、ユーザーからオリジンサーバーまでの経路全体です。
BGP・DNS・SSL・キャリア網・CDN・ラストマイル。
国内7都市(札幌・仙台・新潟・東京・名古屋・大阪・福岡)に物理計測センターを持ち、NTT/KDDIの光回線とdocomo・au・SoftBank・楽天モバイルの4キャリア実SIMで継続計測します。
クラウドとは独立した物理インフラで動いているため、クラウド障害時も計測を継続できます。

統合して使う

SpeedDataのアラートはSlack・PagerDuty・Webhook経由で既存のAPMツール・インシデント管理ツールに送出できます。
既存のインシデント管理フローに組み込めます。
Terraform・REST APIによる監視設定の自動化にも対応しています。
「クラウドの外側」と「クラウドの内側」を一つのインシデント対応フローで扱えるようになります。

「サーバーは正常」なのに「繋がらない」——その原因を、実測データで数分で特定できるようになります。

SpeedDataが提供する18の監視メニュー

インターネットの全レイヤーをカバーする18メニューを、国内7都市×4キャリア実回線から24時間365日計測します。

ネットワーク・経路層

  • BGP監視 — 自社ASの経路広告、ピアリング品質、経路ハイジャック・ルートリークの検知
  • 通信経路監視 — 各都市・各キャリアからのTracerouteによるレイテンシ・ホップ数・パケットロスの可視化
  • Transport監視 — 任意のTCP/UDPサービスへの接続確立・応答時間の計測

プロトコル・認証層

  • DNS監視 — キャリア別リゾルバの応答時間、DNSSEC検証、DKIMのDNSタイムアウト
  • SSL監視 — 証明書有効期限・チェーン完全性・暗号スイート・OCSP応答時間
  • NTP監視 — 時刻オフセット・ストラタム階層・応答時間
  • SMTP監視 — SMTPコマンド単位の処理時間、MTA性能の計測
  • IMAP監視 — ログイン・フォルダ取得・メール本文取得の各段階の応答時間

アプリケーション・サービス層

  • API監視 — レスポンス時間・可用性・エラー率の実回線計測
  • Web監視 — Playwright/Puppeteerによる合成監視。複数ページ遷移・SPA対応
  • 埋め込みタグ監視 — 広告・分析タグ・チャットボットのパフォーマンスと可用性
  • WebSocket監視 — 接続確立時間・メッセージ往復遅延・切断発生率
  • ストリーミング監視 — HLS/DASHのバッファリング・ビットレート適応・再生開始時間
  • MQTT監視 — ブローカー接続遅延・Pub/Subのメッセージ配信時間・QoS到達性
  • カスタムプロトコル監視 — TCP/UDP上の任意ペイロードによる独自プロトコルの計測
  • エンドポイント監視 — 従業員端末からのVPN遅延・Wi-Fi品質・CPU/メモリ使用率

オブザーバビリティ・SaaS層

  • トレーシング — OpenTelemetry準拠。分散マイクロサービス全体のトレーシングにより、エラーや遅延の原因をコードレベルまで追跡。.NET・Python・JavaScript・Node.js・Java対応、サービス自動検出
  • SaaS監視 — スクリプトテンプレートライブラリを活用し、複数のSaaSプロバイダーへのトランザクション・API・カスタムテストを効率的に設定・一元管理