2009-07-02 8 views
1

javaを使用してサーバーが稼働しているかどうかを確認する最善の方法についてアドバイスできますか?私はダウンタイムのためにサイトをチェックしたいのです。サーバに接続してステータスを取得していますか(200が返された場合はそれが上です)正しい方法ですか?Javaのダウンタイムをチェックするにはどうすればよいですか?

接続が確立され、ステータスが60秒ごとにチェックされると、サーバーの速度が低下することはありませんか?

現在、HttpConnectionを使用して接続しており、HttpConnection.getResponseCodeでステータスコードを取得しています。コードが200の場合、サーバーは正常に動作しています。この方法はサーバーに影響を及ぼしませんか?毎分サーバーに独自の要求をロードしませんか?

+1

ステータスコード301と302も受け入れることを忘れないでください。 –

+1

確かに...もう一つの疑念です!そのリダイレクトとリダイレクトされたURLが500を返す場合、何を受け取るのですか、302または500!うーん...これもチェックしなければならない。 – Nischal

+1

もちろん!他の多くのケースがあります - 302リダイレクトが同じURLにある場合はどうなりますか?あなたは無限ループに巻き込まれます。 –

答えて

2

1分ごとに1回のリクエストは絶対にうまくいくはずです。あなたのためのダウンタイムは、サイトにアクセスできないとあなたは、十分な帯域幅や負荷のためのソリューションをサーバーにサイズのしていることを意味している場合

ちょうど:-)

+1

ヘッドアップのおかげで...サーバの負荷が高いのかどうかは、いい考えではありませんか?ホストされているすべてのサイトからの多数のリクエストのために通常問題になっている共有ホストに対してこれを実装するとどうなりますか? – Nischal

0

同時に起こっている他の要求の量を考えますOKですが、エンタープライズレポートの使用には十分ではありません。あなたはもっと必要としている。

私はあなたのホスティングプロバイダが、監視を行うことなくサーバーの健全性と可用性に関するより正確な統計情報を提供できると確信しています。彼らと契約を確認してください。

+0

私のサイトにアクセスできない瞬間を通知するサービスを用意したいと考えています。ホスティングプロバイダは通常、ダウンタイムの通知があった場合、より迅速に反応します。したがって、このイニシアチブです。より効率的な方法で実装するためのアイデアか、これはうまくいくと思いますか?関係するサイトは負荷が高いかもしれません。そのため、この方法では貧弱なものに余計な負担をかけることはありません:D – Nischal

+0

">ホスティングプロバイダは通常、ダウンタイムの通知を受けた場合、したがって、このイニシアチブ "..それは奇妙です!当社のホスティングプロバイダの1つは、ポートとサーバープロセス(Webアプリケーションサーバーアプリケーションプロセス)を常に監視しています。ポート監視は、アプリケーションを実行しているマシンからファイアウォールとフロントエンド(レイヤ4-7)のコンテンツスイッチにまで及んでいます。再度、あなたのソリューションは動作しますが、ホスティングプロバイダと一緒に行くと、このタイプの作業に必要なアカウンタビリティの層が追加されます –

0

1分あたり1件のリクエストは、そのリクエストによってサーバーが大量に重労働を起こさない限り無視できます。また、CSSファイルのような静的アセットを要求して、コンテナが応答しているかどうかを確認することもできます。

最後にネットワーク帯域幅を節約したい場合は、「GET」ではなく「HEAD」のリクエストメソッドを作成できます。

+0

uh..huh!つまり、「HEAD」リクエストは「GET」と比較してそれほど厳しいものではないでしょうか?それでもサイトの可用性を確認することはできますか? – Nischal

+0

あなたが要求している内容によっては、動的ページへのHEADリクエストによってページがレンダリングされる可能性が非常に高いですが、結果がワイヤを介して返送されないことだけです。 –

0

あなた自身でそれを行い、このことを生きている企業に頼らない理由はありますか?通常、彼らは世界中のサーバーを持っており、非常に柔軟な設定でメールやSMSで通知することができます。

私が知っている会社の中には、host-tracker,monitis,watchourおよびmon.itor.usがあります。私は彼らと提携していない、ちょうど顧客です。私は他の人もいると思います。

+0

そして、私はそれらと競争したい:私はあなたのサイトがダウンした瞬間にあなたに即座に通知するのに役立つシンプルで費用対効果の高いサービスを開始するつもりです。 私のような単純な人がそれをやることができると思いますか? :) – Nischal

+0

これらのサービスに登録して機能リストを確認することをお勧めします。 60秒ごとにページを表示することは、必ずしも必要なものではありません。 –

+0

たとえば、ボディに特定のフレーズが含まれていて何らかの認証を実行している場合など、いくつかのテストを行うことができます。 –

0

HEADリクエストを使用すると、GETと同様の応答が生成されますが、HTTPヘッダーのみが含まれます。

監視対象のサーバーを制御できる場合は、モニタリング目的のみにURLを設定し、適切な応答コードで単純なテキスト応答を返し、リソースに対する特別な要求はしないでください。

HTTP応答だ​​けでなく、基礎となるサービス(データベースなど)の正常性を監視することをお勧めします。あなたの監視URLはリクエスト中にこれらをチェックし、HTTP応答コードを適切に変更することができます(例えば、500サーバエラーなどを返します)

+0

私はサーバを制御できないかもしれません、ただURLを取得します:) – Nischal

+0

残念ながら、Webサーバをテストしているだけです。慎重にあなたのURLを選択しない限り、基本的なシステムの健康については少し –

+0

あなたは、URLがステータスコード "200"を返しても、サイトがダウンしている可能性はまだありますか? – Nischal

関連する問題