2011-07-19 16 views
7

solrサーバーから検索結果を取得するアプリケーションを実行しています。しかし、サーバーが動作していないときは、私はサーバーから応答を得ません。私は私のサーバーが実行されていないので、私はそれに関する適切なエラーメッセージを表示することができますどのような方法がありますかsolrサーバーが実行中であるかどうかを調べる方法

答えて

0

おそらくNagiosのようなハードウェアの状態を監視する必要があります。 Nagiosには、あなたを助ける素晴らしいplugin for solrもあります。

+0

Nagiosは、フロントエンド(エラーメッセージ)でこれを処理しようとすると、それほど大きな助けにならないでしょう。 –

+0

彼はあまりあまり指定していませんでしたが、ナギオスは私が考えることができる最もスタンドアロンのソリューションです。 –

1

サーバーが適時に応答しない場合(solr)、は、それがダウンしていることを表すとみなす必要があります(過負荷のため時間がかかります) 。

ほとんどのsolrクライアントには、何らかの種類のタイムアウトとエラーコールバックがあります。タイムアウトが発生すると、エラーが表示されます。

サーバーがダウンしていることを非常に迅速に知りたい場合は、メッセージを出力するだけで何もしないJSPをsolrに置くことができます。その後、JSPにHTTP GETを行い、それが非常に速く起きなければ、サーバーはダウンしています。

+0

私は、クライアント側からは、定期的にサーバーにpingを送信するよりもタイムアウトの方が賢明だと思います。 –

9

あなたは定期的にサーバーにpingを実行する(例えばhttp://localhost:8983/solr/admin/ping)とエラーが発生した場合には、あなたがSolrServerオブジェクトを持っている場合は

+0

:どのように私はエラーがあるので、私はコードベースを介してsolrサーバーをpingする必要があります。 – Romi

+0

あなたのプログラミング言語には、ジョブを定期的に実行するためのスケジューリング機能(例えばhttp://www.quartz-scheduler.org for Java ...)があるかもしれません。そして、単にping URLにGETリクエストを送り、それに応じてHTTPステータス応答... –

+0

これは古い回答ですが、それはもはや最新のSolrには適用されません。 – Marc

0

、単にできない場合に例外をスローSolrServer.ping()を呼び出す...フロントエンドの上、そのメッセージを渡すことができます接続を確立する。

関連する問題