
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フロントエンドがあります。
答え2
それはすべて「ドロップ」が意味するもの、実行中および実行中のタスクの詳細によって異なります。する監視するときも重要です…
「サービス」を監視する最も徹底的な形式は、外部自動化システムを備えていることです。顧客がすることをしなさいそしてあなたに報告してください。予期しないこと発生する。
あなたの電子メールサービスの簡単な説明に基づいて、最初のエンドツーエンドのテストは次のとおりです。
- SMTP経由で
#id
ローカルmonitor
アカウントに電子メールを送信する - 希望の最大時間(秒)待ってください。
- POPサーバーで@ Eメールを確認してください
#id
。monitor
外部監視ホストの 1 回の確認により、簡単なメールシステムで発生する可能性のある問題の約 99% を見つけることができます。
これらのサービスまたはトランザクションモニタは、同様の方法で作成されたカスタムスクリプトである傾向があります。ルビー、Pythonまたは真珠次のようなものを簡単に実装できるモジュールがあります。メール転送プロトコルまたはポップミュージックプログラム的に。その後、これらのスクリプトは通常監視ソリューションに接続されますが、単純なものが必要な場合は、cron Job Gatewayを介して簡単な電子メールまたはSMSをトリガーするだけで十分です。モニタリングソリューションを購入する場合は、通常、GUIデザイナーと同じタイプのモニターを使用しようとします。
もちろん、現実の世界では、これはすぐに複雑になります。再確認が必要なPOPおよびSMTP用のセキュリティポートを提供できます。 IMAPにはいくつかのCarddavとCaldavが追加され、複数のホストにサービスがある可能性があります。
上記のような全体的なサービスチェックで簡単にわからないのは何ですか?どこ問題は問題があるだけだということどこかに。
低レベルのモニタリング
サービスの個々のコンポーネントを監視することで、基本的には、発泡作業を実行する前に監視を介して問題領域をより簡単に識別(または予測)できます。このタイプのコンポーネントの監視はシステムとまったく同じです。ナギオス、ザビクスそれともこんなに大きなことでもチボリ監視うまくいきます。
これは、あなたがどれだけ詳細に作成し、あなたの「サービス」をサポートするシステムがどれほど複雑になっているかに応じて、拡大し続けるツリーになる可能性があります。
「お客様のメールサービス」は、以下の事項により異なります。
Services: POP:110 SMTP:25
Application: devmail
OS: linux Z
Host: server Y
Components: diskA diskB cpu1 cpu2 memory
Ntwork: ethernetA, Switch B, Router C, Firewall X
各コンポーネントには、報告できる指標またはステータスがあります。
外部
Service:
POP service - Are we accepting connections on 110,995
SMTP service - Are we accepting connections on 25,587
地元の
Application:
devmail process(es) (is it running, memory, cpu, handles, io)
JMX parameters of the java process (memory, threads, performance, garbage collection)
OS:
Disk, Memory, Cpu, IO
etc...
監視ホストが停止したらどうすればよいですか?それとも、サービスとモニターの間のネットワークです。
通常、モニタリングに影響を与えずに、クライアントソースにできるだけ近い 2 つ以上の外部ホストでサービスチェックを実行するのが最善です。次に、ホスト上でローカルに、または少なくともローカルネットワーク上でスキャンを実行します。これにより、ほとんどのネットワークベースの問題をよりよく理解できます。
- 外部クライアントでエラーが発生すると、外部ネットワークがダウンする可能性があります。
- ローカルクライアントは正常に動作しますが、すべての外部クライアントが失敗した場合はローカルネットワークになる可能性があります。
- すべてのクライアントでエラーが発生した場合は、ローカルの問題かもしれません。
多くの人が監視ソリューションを間違った方法で構築する傾向があることがわかりました。彼らは警告するのに適していると思う多くの低レベルのシステムインジケータと1000個のモニタとレベルを考えましたが、それが本当に重要であるならば、何の警告もありませんでした。つまり、分析と容量管理に適しており、すべての値から素晴らしいグラフを作成でき、非常に便利です。しかし、レベルyで指標xを見逃すと、誰もこれを選択できないという意味です。メールは実際にはあまり意味がありません。
答え3
SNMPトラップ、電子メール、SMS(ハードウェアまたはソフトウェア/サブスクリプションがある場合)を介してさまざまな方法で警告を送信するように設定できる監視アプリケーションがたくさんあります。必要に応じて、これらの多くはプロセス自体を再起動することもできます。
Google は monit、nagios、または「監視ソフトウェア」を検索します。返品https://softwarerecs.stackexchange.com/アドバイスを求めるのに良い場所かもしれません。
答え4
一度試してください。アシカ。クラウドベースのLinuxサーバー監視ツールです。インストールには数秒しかかからず、ユーザーインターフェイスはきれいでシンプルです。さらに、通知機能も素晴らしいです。サーバーのパフォーマンスの概要を含むスケジュールされた電子メールを毎日送信する「毎日の概要」機能があります。