リモートサーバーのTomcatにJavaアプリケーションをインストールするとします(Amazon AWSなど)。アプリケーションが回復不能な方法で失敗した場合、自動的にTomcatを再起動することをお勧めしますか? 多分、アプリケーション自体からこれを行う方法があるので、例外が非常に厄介であることがわかったら、すべてを再起動できますか?アプリケーションがクラッシュした場合、リモートサーバー上でTomcatを再起動する方法はありますか?
3
A
答えて
4
1つの可能性は、アプリケーションを監視(ポート、カスタムチェックなど)し、必要に応じてサーバー全体を再起動するウォッチドッグをインストールすることです。これは制御されたサブシェル上でcatalina.sh run
を実行するbashスクリプトでもあります。
また、適切なモニタリングシステムでこれが可能です。たとえば、Zabbixでは、カスタム監視のチェックとアクションが許可されているため、サービスに到達できない場合は、事前にサービスを再起動できます。
もう1つの解決策は、既存のアプリケーションを停止/開始するためにTomcat managerを使用することです。関連するマネージャーURLを呼び出すApache Antスクリプトを使用してこれを行うことができます。ただし、アプリケーションが「ハード」になってサーバー全体がダウンすると、この解決策は適用されません。
1
私はmonitユーティリティを見ることをお勧めします。あなたは簡単にサービス、リソースの使用状況を監視することができMONITでは、URLをチェック - サービスが期待通りに応答することを確認するために、再起動を開始したときに何かが間違っhttp://mmonit.com/monit/documentation/monit.html#connection_testing_using_the_url_notation
ここで任意のプログラムなし
4
興味深いソリューション:http://aujava.wordpress.com/2006/08/16/watchdog-for-tomcat/
は、あなただけに必要
#!/bin/sh
HOST=127.0.0.1
PORT=8080
#infinite loop
while [ 1 ]
do
#try to access tomcat's page
RES=`wget -O - -o /dev/null --proxy=off http://${HOST}:${PORT}/isalive.html | awk '{ print $1 }'`
echo got ${RES}
#decide on reply
if [ "$RES" = "YES" ]
then
echo tomcat is responding on $HOST:$PORT
else
echo tomcat seems to be dead.
echo Killing...
for thepin in `ps -Af | grep -v grep | grep tomcat | grep catalina | awk '{ print $2 }'`
do
kill -9 ${thepin}
done
echo Starting...
sudo -u tomcat /usr/local/tomcat/bin/startup.sh
fi
sleep 60
done
関連する問題
- 1. Windowsでクラッシュした場合にプログラムを自動的に再起動する方法はありますか?
- 2. Javascriptアプリケーションがクラッシュした場合、自動的にJavascriptアプリケーションを再起動しますか?
- 3. ANRエラーのためにアプリケーションが再起動するため、Androidが停止したらサービスを再起動する方法はありますか?
- 4. クラッシュ時に自動的にアプリケーションを再起動しますか?
- 5. 開かれたアプリケーションがクラッシュした場合、開かれたDDEチャネルには何が起こりますか?
- 6. app.configを変更した場合は、Windowsサービスを再起動する必要がありますか?
- 7. アプリケーションを再起動しても値を格納する方法は? ApplescriptObjCでアプリケーションを作成する場合
- 8. システムがクラッシュまたは再起動したときに通知する予定/意図はありますか?
- 9. Visual Studio 2008がクラッシュし、デバッガを起動するときに再起動する必要があります
- 10. EclipseでTomcatを起動するとorg.apache.struts2.tiles.StrutsTilesListenerが見つからない場合があります
- 11. c#Windowsサービスが再起動される場合があります
- 12. Androidアプリケーションがクラッシュしたが、再起動しません - 問題のアプリケーション
- 13. Apache Tomcat 6.0でのアプリケーションの再起動
- 14. jenkinsに展開後にTomcatを再起動するように指示する方法はありますか?
- 15. .NETからリモートサーバー上のCOM +アプリケーションを再起動するにはどうすればよいですか?
- 16. コンソールWebアプリケーションから起動した後にアプリケーションがクラッシュする
- 17. 起動時にアプリケーションがクラッシュします。
- 18. WPFルーテッドコマンドのみが起動する場合があります
- 19. EclipseでWebサイトを更新するたびにTomcatを再起動する必要がありますか?
- 20. Visual StudioでFSIを再起動する方法はありますか?
- 21. ASP.NETアプリケーションがあまりにも多く再起動する
- 22. ubuntuでtomcat 6を再起動する方法
- 23. クロムプロセスのモニタリング方法は?クラッシュすると再起動する
- 24. Pythonマルチプロセッシングがクラッシュしたプロセスを再起動しました
- 25. シミュレータのクラッシュ後にXCodeを再起動する必要があります
- 26. クラッシュ時にアプリケーションを再起動
- 27. 管理APIを使用してロールがクラッシュしたり再起動したりするとAzureロールホストが実際に再起動されますか?
- 28. IIS 6.1 Server 2003 Web Apps再起動時に起動しない場合があります
- 29. Tomcat6をLinux上で冗長なメッセージで再起動する方法はありますか?
- 30. Tomcatサーバーが再起動し、org.apache.catalina.core.AprLifecycleListenerとは何ですか?
これはHTMLのアプローチを使用することを計画している場合は、次のようにしてください:atalive.html(単一のテキスト "YES")をアプリケーションに追加してください。少なくともsleepの代わりにcrontabを使用してください。 – Panthro