web-dev-qa-db-ja.com

Tomcatは稼働していますか?

TomcatがUnix環境で動作しているかどうかを人々が通常どのように確認するかを知りたいです。

プロセスが実行中であることを確認する

ps -ef | grep Java
ps -ef | grep logging

またはポート番号がアクティブであることを確認します

netstat -a | grep 8080

tomcatが実行されていることを確認するためのより良い方法はありますか?上記はTomcatが実行されていることを確認するための「ハックな」方法のようです。

97
ziggy

Pidがgrep psファイルに書き込まれたのに、なぜ$CATALINA_PIDなのでしょうか。

Tomcatが停止しているときに電子メールを送信するcronチェッカースクリプトがあります。

kill -0 `cat $CATALINA_PID` > /dev/null 2>&1
if [ $? -gt 0 ]
then
    echo "Check Tomcat" | mailx -s "Tomcat not running" [email protected]
fi

あなたのTomcatの健全性をチェックするのにwgetを使うこともできると思います。ユーザ負荷などのある診断ページがある場合は、それを定期的に取得して解析し、問題がないかどうかを判断できます。

52
dogbane

私のLinuxシステムでは、startup.shスクリプトを使ってTomcatを起動します。それが実行されているかどうかを知るために、私は使用します

ps -ef | grep Tomcat  

出力結果に私のTomcatフォルダへのフルパスが含まれていれば、それは実行中です。

80
Thai Tran

代わりにこれを試してみてください。ルート権限が必要なのでSudo

Sudo service Tomcat7 status
63
Kemboi

Tomcatのlistenポートを知っていれば、おそらくnetstat -lnp | grep 8080が最善の方法です。それが機能していることを確認したい場合は、接続を確立し、HTTPリクエストを送信してレスポンスを取得する必要があります。これはプログラム的に、または任意のWebブラウザを使用して実行できます。

13

Tomcatがローカルにインストールされている場合は、ブラウザウィンドウに次のURLを入力します。{localhost:8080}

これにより、Tomcatのホームページに次のメッセージが表示されます。

これを見ていれば、Tomcatは正常にインストールされています。おめでとうございます。

Tomcatが別のサーバーにインストールされている場合は、replace localhostを有効なホスト名、またはTomcatがインストールされている場所に置き換えます。

上記はTomcatがデフォルトのポート8080を使う標準インストールに適用されます。

7
Lokanath

以下の方法でTomcatのステータスを確認できます。

ps -ef | grep Tomcat  

Tomcatが実行されている場合、これはTomcatのパスを返します

netstat -a | grep 8080

8080はTomcatのポートです。

6
Dhanish Jose

wget urlまたはcurl urlここで、urlはTomcatサーバーの利用可能なURLです(例:wget http://localhost:8080)。終了コードが0の場合は、終了コードを確認します。Tomcatが起動しています。

4
Dikla

Tomcatが起動しているか停止しているかを確認するシェルスクリプトを作成し、shにcronを設定して数分おきに確認するようにし、停止している場合はTomcatを自動起動します。以下のコードのサンプルスニペット

Tomcat_PID=$(ps -ef | awk '/[t]omcat/{print $2}')
echo Tomcat PROCESSID $Tomcat_PID

if [ -z "$Tomcat_PID" ]
then
    echo "Tomcat NOT RUNNING"
    Sudo /opt/Tomcat/bin/startup.sh
else
   echo "Tomcat RUNNING"
fi
4
Devendra Dora

実行中のプロセスや開いているポートが必ずしも実際にリクエストを処理しているという意味ではないという点で、Tomcatはかなり扱いにくいと思いました。私はよく知られているページをつかみ、その内容を計算済みの期待値と比較しようとします。

3
Alex Howansky

いつもしています

tail -f logs/catalina.out

そこを見ると

INFO: Server startup in 77037 ms

それから私はサーバーが稼働していることを知っています。

3
konkit

あなたは警報システムを設定しようとしていますか?単純な「ハートビート」の場合は、TomcatポートにHTTPリクエストを送信します。

より綿密な監視のために、JVM統計を表示するためにJMXやSNMPを設定することができます。 Tomcatのメモリ使用量をチェックし、10〜15分ごとにスレッドプールサイズを要求するために、SNMPプラグイン(JMXへのブリッジ)を使ってNagiosを実行します。

http://Tomcat.Apache.org/Tomcat-6.0-doc/monitoring.html

更新(2012):

Tomcatプロセスをチェックするために "monit"を使用するようにシステムをアップグレードしました。私は本当にそれが好き。ごくわずかな設定で、サービスが実行されていることを自動的に確認し、実行されていない場合は自動的に再起動します。 (Eメールアラートを送信する) /etc/init.dスクリプトと統合したり、プロセス名で確認したりできます。

2
Will Glass

私のTomcatインスタンスはTomcat_という名前です。例えば。 Tomcat_8086、私が使っています

ps aux | grep Tomcat

他の方法はncユーティリティを使用しています

nc -l 8086(ポート番号)

または

ps aux | grep Java

1

Tomcat.shはあなたがこれを簡単に知るのを助けます。

Tomcat.shの使用方法は次のとおりです。

引数なし:実行中ならTomcatのプロセスIDを表示し、そうでなければ何もしません

だから、あなたのコマンドプロンプトでコマンドを実行し、pidをチェックしてください:

$ Tomcat.sh

0
Techflash

このコマンドを試してください

ps -ef | awk '/[t]omcat/{print $2}' 

Tomcatが実行中の場合はpidを返します。

0
Alin
$ Sudo netstat -lpn |grep :8080

ポート番号を確認する

$ ps -aef|grep Tomcat

Tomcatがサーバーの下で稼働しているかどうか。

tsssinfotech-K53U infotech # ps -aef|grep Tomcat

root 9586 9567 0 11:35 pts/6 00:00:00 grep - colour = auto Tomcat

0
Batchu Bhargava

これが私の2セントです。

私のクラスタセットアップでは、異なるポートで複数のTomcatインスタンスを実行しています。次のコマンドを使用して、異なるポートで実行されている各プロセスを確認します。

/sbin/fuser 8080/tcp

必要に応じてポート番号を交換してください。

そしてプロセスを強制終了するには、上記のコマンドで-kを使用します。

  • これはps -efの方法や、コマンドを呼び出してその上に別のgrepを呼び出す他のコマンドよりもはるかに高速です。
  • Tomcatの複数のインストール環境、あるいは事実上同じサーバー上で実行されているポートを使用する他のサーバー環境でうまく機能します。

BSDオペレーティングシステムでの同等のコマンドはfstatです。

0
Raja Anbazhagan

基本的にテストしたい

  1. Tomcatインスタンスへの接続
  2. いくつかの基本的な統計を集める
  3. UNIXプロセスが実行されているかどうか

最初の2つの選択肢は、3番目の選択肢が既に十分に回答されているので評価します。

最も簡単なのは、いくつかの基本的な測定基準を収集するWebページ上のWebページを作成し、その結果を読んだり接続の問題を検出したりできるクライアントを用意することです。

そうするためには、いくつかの問題があります

0
YoYo