EC・小売 2026年4月28日

EC運営者が売上時間帯のサイトダウンを30秒で検知する監視設計

月商3,000万円のECサイト運営者が、決済ページの不具合・在庫表示の異常・画像CDN障害をMiterlで30秒〜1分以内に検知する仕組み。SLA設計と売上時間帯の重点監視を解説します。

EC ECサイト 決済監視 SLA 売上時間帯

想定するチームと前提条件

月商3,000万円のBtoC向けセレクトショップ「D社EC」を想定したシナリオです。Shopify ベースのフロントに、自社開発のクーポン・在庫連携APIを組み合わせた構成。社内は店長 + 運営4名 + 業務委託のエンジニア1名。売上の70%が金土日の20-23時に集中する典型的なEC構造です。

「サイトが落ちる = 売上が止まる」のため、5分の障害が10〜30万円の機会損失につながります。Miterlで売上時間帯のサイト・決済・在庫を多層的に監視し、本物の機会損失をほぼゼロまで削減した運用です。

EC運営でクリティカルな3つの故障

1. 決済ページ(チェックアウト)の不具合

商品をカートに入れて決済画面に進もうとしたら500エラー、というパターン。フロントの商品ページは生きているため、ホームページ監視では絶対に検知できない最悪の障害です。

2. 在庫表示の異常

在庫切れ商品が「在庫あり」と表示され、注文を受けてしまう/逆に在庫があるのに「在庫切れ」と表示される事故。Webhook 経由の在庫同期APIが詰まると発生します。

3. 画像CDNの一斉障害

商品画像がすべて表示されない状態。Cloudinary / imgix などの障害だけでなく、自社のCDNトークン期限切れでも起きます。SNSで一気に拡散されるため、検知速度がとくに重要。

Miterl で組んだ「売上時間帯重点監視」

通常時間帯(5分間隔)

  • トップページ、カテゴリ一覧、人気商品ページ × 10件のHTTP監視
  • 決済ページ(カート→チェックアウト遷移先)のキーワード監視
  • 在庫API /api/v1/inventory/health のHTTP監視
  • 画像CDN代表URLのHTTP監視

売上ピーク時(金土日 19-24時、1分間隔に切替)

リリース集中監視(Release Mode)を使って、ピーク時間帯だけ監視を1分間隔に上げる設定にしています。Miterl のリリースモードはWebhookで起動できるため、cron で自動切り替えしています。

# crontab: 毎週金曜19時にリリースモード起動(5時間 = 24時まで)
0 19 * * 5 curl -X POST https://miterl.com/api/v1/webhooks/release-mode/$TOKEN \
  -H "Content-Type: application/json" \
  -d '{"duration_hours": 5, "interval_seconds": 60}'

土日も同様に19時起動するcronを設定。終了は duration_hours 経過で自動的に通常監視に戻ります。

決済ページのキーワード監視

Shopifyの決済ページHTMLには、正常時に必ず「カートに進む」「お会計」などのテキストが含まれます。これをキーワード監視のmust_containで常時チェックすることで、500エラーや空画面の事故を即座に検知。

逆に「Internal Server Error」「お探しのページは見つかりません」などをmust_not_containとしても登録し、二重チェックしています。

SLA を 99.9% に設定する判断

D社では Miterl の SLA 機能で月次目標を 99.9% に設定。この水準は「月の許容ダウンタイムが約43分」という意味です。

SLA水準 月の許容ダウンタイム 推奨フェーズ
99% 約7時間18分 立ち上げ初期
99.5% 約3時間39分 安定運用フェーズ
99.9% 約43分 売上規模が出てきた段階
99.99% 約4分 エンタープライズ・金融

D社のフェーズでは 99.9% が適切。SLA違反の事前アラート(残り許容ダウンタイム 25%未満で通知)が発火することで、月末に「あと10分のダウンで違反」というギリギリの判断ができるようになりました。

デプロイ時の自動メンテナンス(売上時間帯外)

EC運営の鉄則として「売上時間帯にデプロイしない」を運用ルールにしていますが、緊急パッチ対応時は Webhook でメンテナンスを発令します。

# 緊急パッチ前
curl -X POST https://miterl.com/api/v1/webhooks/maintenance/$TOKEN/start \
  -d '{"duration_hours": 1, "name": "Hotfix: Cart bug"}'

# パッチ反映 + 動作確認
./scripts/hotfix_deploy.sh
./scripts/cart_smoke_test.sh

# 解除
curl -X POST https://miterl.com/api/v1/webhooks/maintenance/$TOKEN/end

月次レポートでマーケに数字を渡す

毎月のMiterl月次PDFレポートを、マーケティングチームのKPI会議資料に組み込んでいます。

  • 先月のサイト総稼働時間
  • ピーク時間帯のレスポンスタイム平均値
  • インシデント件数と原因(5XX系 vs CDN系 vs DB系)

「先月のCDN障害で機会損失見込みが約42万円」みたいな数字を出せると、CDN契約を上位プランに見直す判断もデータドリブンで進みます。

関連リンク

同じ運用フローをMiterlで

無料プランから始められます。クレジットカード不要。

料金を見る