障害の検知方法
私たちの方法論について
コミュニティ主導のレポート
DownStatusは複数のシグナルを組み合わせます。利用できる場合は公式ステータスフィード、サービスページでのユーザー報告、合成チェック、公開された会話の急増を参照します。公式インシデントを最も重視し、コミュニティ報告は地域的な問題や初期の問題をより早く見つけるのに役立ちます。
ウェブサイトのチェック
20分ごとに、サーバーから各サービスのウェブサイトにリクエストを送り、応答の有無と応答速度を記録しています。HTTPレスポンスコードが500未満であれば、稼働中として扱います。300ミリ秒未満は高速、800ミリ秒未満は通常、2秒未満は低速、3秒以内に応答がない場合はタイムアウトと判定します。
大規模なウェブサイトの多くは、クラウドサーバーからのリクエストをブロックします。そのため、チェックに失敗した場合は、北米、ヨーロッパ、アジアから再度サイトをテストします。ほとんどの地域で応答があれば、サービスは稼働中で、ブロックされたのは当サイトのサーバーのみと判断し、サービスページではアクセス可能と表示します。
一部のサイトは、数日間にわたって、どの地域からの自動チェックも拒否します。その場合、ウェブサイトチェックを非表示にし、信頼性ランキングの対象外とします。ステータスは、ユーザーからの報告と、利用可能な場合は公式ステータスページの情報に基づきます。
レポートの種類
ユーザーは問題の種類を指定できます:ウェブサイトの不具合、アプリの問題、ログインエラー、決済の失敗、ストリーミングエラー、または全面的な障害。
障害検知のしきい値
各サービスについて、過去1時間のユーザー報告数を集計しています。報告が5件以上で「パフォーマンス低下」、20件以上で「一部障害」、50件以上で「大規模障害」と判定します。サービスに公式ステータスページがある場合、そこで重大またはクリティカルなインシデントが発生するとサービスを「停止中」と判定し、軽微なインシデントが発生すると「パフォーマンス低下」と判定します。
すべてのサービスに同じしきい値を適用しています。ウェブサイトのチェック結果やRedditでの言及だけでステータスが変わることはありません。これらはサービスページに別のシグナルとして表示され、信頼度スコアに反映されます。
ステータスレベル
- 正常 — レポート量が正常範囲内。問題は検出されていません。
- 低下 — レポート量が上昇中。一部のユーザーが問題を経験している可能性があります。
- 障害 — レポート量がベースラインを大幅に上回っています。広範なインシデントが発生している可能性があります。
スパムと不正使用の防止
シグナルの品質を維持するために、複数の保護層を適用しています:
- レート制限 — 各IPアドレスは、スライディング時間窓内でサービスごとに少数のレポートに制限されています。
- 重複の抑制 — 同じIPから同じサービスへの5分以内の2件目のレポートは破棄されます。
- ハニーポットフィールド — ボットが記入する隠しフォームフィールドが含まれており、そのような送信は破棄されます。
- IPのハッシュ化 — IPアドレスは平文では保存されません。
24時間グラフ
各サービスページには、過去24時間のレポート量を時間ごとに区切った棒グラフが表示されます。
障害履歴
確認された障害イベントは保存され、各サービスページの障害履歴セクションに表示されます。
独立性
DownStatusは完全に独立したサービスです。このプラットフォームに掲載されているサービスとは一切提携しておらず、スポンサー契約や公認も受けていません。ユーザーからの報告に、当サイト独自のウェブサイトチェックと、利用可能な場合は企業の公式ステータスページの情報を組み合わせています。そのため、公式ページでは問題なしと表示されていても、ここでは問題が報告されることがあります。
ご質問は?
方法論についてご質問や改善のご提案がある場合は、 お問い合わせページ.