Web ページがホワイト ページを返す場合にアラートを出すためのベスト プラクティスは何ですか?

Web ページがホワイト ページを返す場合にアラートを出すためのベスト プラクティスは何ですか?

ホワイト ページ オブ デスを返す Web アプリケーションに対して、監視 (zabbix) を設定しようとしています。アプリケーションは PHP ベースです。

私の知る限り、ホワイトスクリーンは、メモリの問題、構文エラーなど、さまざまな問題によって発生する可能性があります。

そこで質問したいのですが、Web サーバーが 50x コードを返すことに依存する方が良いのでしょうか、それとも (何らかの方法で) 戻りコード 200 を取得して、レンダリング ページが空 (白) になる可能性はあるのでしょうか?

答え1

HTTP ステータス コードに依存するのが最善かつ一般的な方法です。PHP で重大なエラーが発生した場合は、適切な HTTP エラー コードでシャットダウンする必要があります。

HTTP ステータス コード 200 の重大なエラーは偽りの主張であり、回避する必要があります。適切に設計された 404 ページでも、HTTP エラー コード 404 のみを使用する必要があります。

HTTP エラー コードを使用すると、次のことが可能になります。

  • 既存のオンラインおよびオンプレミスの監視ツールを使用して、Web サイトとアプリを監視します。

  • ブラウザが与えられたエラーに応じて反応できるようにする

  • Googleや他の検索エンジンに、ウェブサイト内に新しいコンテンツではなくエラーがあることを伝えます。

  • PHPが致命的なエラーでシャットダウンした場合に適切なHTMLを表示し、エラーコードを保持するようにNginxを設定します。

    ...

答え2

Web サイトを正しく監視するには、Web コンテンツ内に表示される文字列を識別し、それらの文字列が HTTP 応答内に存在するかどうかをモニターで確認する必要があります。

フォーム データを収集して処理する Web アプリケーションを実行している場合は、フォームを処理してフォームが正しい結果を返していることを確認するインタラクティブ モニターを作成する必要があります。これはさまざまな方法で実行できます。以前は、Jmeter と Nagios を統合してこれを行いましたが、Pingdom などのオンライン サービスを使用することもできます。

HTTP ステータス コードに頼るのは、私の意見では良い方法ではありません。PHP の DB エラーは、依然として HTTP 200 ステータスを返す可能性があります。同様に、改ざんされたサイトは、200 ステータス コードを返す可能性があります。

https://exchange.nagios.org/directory/Plugins/Java-Applications-and-Servers/jmeter-invocation-plugin-II/詳細

https://www.pingdom.com/

関連情報