Javaプロセスを実行するクラウドベースのサーバー(davmailというPOP / SMTPサーバー、詳細は重要ではありません)があります。
Javaプロセスの状態をリモートで監視する最も簡単な方法は何ですか?下落するかどうかを知る必要があります。 SSHセッションを開いてログを追跡することもできますが、よりエレガントな方法はありますか?
おそらく、Webサーバーをインストールし、同じサーバー上でいくつかの監視ソフトウェアを実行する必要があります。または、自分のローカルコンピュータ(Mac)で実行できるクライアントプログラムがあり、サーバー上のいくつかのcronジョブがJavaプロセスが停止するたびにそのプログラムに警告を送信できますか?
ベストアンサー1
まあ、いつでもcronjobにすることができます。
echo "100 logout" | nc yourserver.fqdn 143 || \
{
echo "The server is down" |\
mailx -s "Red alert! Red alert! This is not a drill!" [email protected];
}
単純さの意味と必要な他の機能によって異なります。
100 logout
以前にログインしていない場合は、サーバーに接続を終了させる非常に簡単なIMAPコマンドです。nc
TCP接続を開き、STDINとSTDOUTをソケットに接続するツールです。
結合された結果は、IMAPサーバーへの接続を確立し、「完了しました」と通知します。 IMAPサーバーが稼働している場合は、このコマンドを認識してTCP接続を閉じてnc
正常に終了します。
サーバーが IMAP コマンドを処理しないため、TCP 接続が確立されない、またはタイムアウトするなどの問題が発生した場合、明らかに IMAP サーバーを使用できません。この場合は通知が必要で、nc
この場合は常に例外が発生します。
||
つまりnc
、異常終了すると、その中の{ ... }
すべての項目が実行されます。ここで提供されたサンプルコマンドは、mailx
次のコマンドを使用して電子メールを送信します。[Eメール保護]テーマは「赤色警報!赤色警報!これは訓練ではない」で、内容は「サーバーがダウンした」だ。
ただし、mailxはすべてのLinuxインストールの一部ではなく、異なる動作をする複数のバージョンがあることに注意してください。
もちろん、次のようないくつかの監視ソフトウェアを展開することもできます。シンケン、監視するコンテンツを追跡し、電子メールを送信できる素晴らしいWebフロントエンドがあります。