2009-09-16 3 views
28

Webサイトにサイトの正常性を報告するページがあり、HTTP 200ステータスコードがすべて正常であることを設定しています。このページは、外部モニタリングプログラムがサイトが稼動していることを確認するために使用されます。データベースのHTTPステータスコードがダウンしています

このページが表示されたら、私は非常に軽いDB proc呼び出しを行い、DBが正常であるかどうかを確認します。これが失敗した場合は、意味のあるHTTPエラーコードをモニターに戻して、すべてがうまくいかないことを知らせたいと思います。

「私が信頼しているサードパーティのコンポーネントがダウンしている」というHTTPステータスはないので、この場合何を返すのですか?

503サービスを利用できません...?

答えて

22

私は、500または503が適切であると思われます。 503は、一般的に過負荷やメンテナンスのために使用されますが、私はあなたの状況に使用することが不合理ではないと思います。

+0

私は500コードが最も有用であることに同意する必要があります。サーバ側でエラーが発生しました。データベースがダウンしています。それでも、あなたが望むマークアップを返すことができます。 – geowa4

-1

ステータスの復帰以上のモニタリングを行う必要があるようです。 HTTPステータスコードが通信するように設計されているよりも高度な情報を渡そうとしています。

または、コードを選択しても、コードを選択して、 "db down"として扱うように監視を設定してください。

+7

私には、データベースがダウンしているときに、クライアントに意味のあるメッセージを伝えたいと思うように思えます。その場合、コードを作成するのは良い考えではありません。クライアントはどのようにそれを解釈する必要がありますか?正しいステータスコードを選択する必要があります。 –

25

これはまさに503と同じです。

503は、サーバが時間内に応答しなかった他のサービスの接続に依存していたことを意味します。

Server Error 5xx

ウィキペディアにアップチェック

とリスト504は、私は考えているものであろうことを示唆するものであるように思われます。間違いなくリンクが古くなっている可能性があります。

ので:

504ゲートウェイタイムアウト

サーバーがゲートウェイまたは プロキシとして動作しており、ダウンストリームサーバーからタイムリー 要求を受信しませんでした。

+0

これは一時的な問題であり、クライアントがヘッダーに指定できる特定の時間の後に再試行できないことを示しているため、503を選択しています。 –

関連する問題