何らかの理由でサーバーがクラッシュしたときに警告を受け取るにはどうすればよいですか?HopToadまたは他のサービスはそれを行いますか?
ありがとう
編集:
node.jsにHerokuを使用しています。それは私が他に何も実行することを許可しません。他のプロセスを実行することなく、コードを裏返しに監視するための何かが必要です。
ありがとう
何らかの理由でサーバーがクラッシュしたときに警告を受け取るにはどうすればよいですか?HopToadまたは他のサービスはそれを行いますか?
ありがとう
編集:
node.jsにHerokuを使用しています。それは私が他に何も実行することを許可しません。他のプロセスを実行することなく、コードを裏返しに監視するための何かが必要です。
ありがとう
node.jsプログラム内でuncaughtExceptionイベントを処理し、そこで「警告」を実行することができます。または、稼働時間ロボットなどのサービスを使用して、アプリが指定されたポートでリッスンしているかどうかを監視することもできます。
実際にはかなりの数のオプションがあります!
私の意見では、 monit、forever、supervisordは群衆から突き出ているものです。
@ rob-cowieはすでにスーパーバイザーについて回答しているので、ここで「forever」と「monit」に関するいくつかのポインターを取得します。
Monitは、マシン上のサービスを管理するための全体的なソリューションです。サービスがクラッシュしたり、リソースを大量に消費したりした場合は、通知して再起動します。
私はまだmonitの代わりに監視対象のユーザーに正当な理由を見つけていませんが、監視対象のメーリングリストで監視対象を監視するためにmonitを使用する提案を見ました!
1つのアプローチは、提供しているページに正常にアクセスできることを定期的に確認することです。http://wasitup.com/を参照してください。
もう1つのアプローチは、マシン上のサーバープロセスを監視することです。これを行う良い方法の1つは、 Supervisordを使用してnode.jsを起動することです。クラッシュしたプロセスを再開し、メールで通知することができます。デプロイメントの例1を含む、インターウェブの周りには多数の例があります
未処理の例外をリッスンするクラスをまとめたところです。それが見つかった場合は、次のようになります。
私はまだ一般的なものにしていないので、アプリケーションを少し調整する必要がありますが、それはほんの数行であり、あなたが探しているものかもしれません!
アプリ内から実行され、他のファイルを含める必要はありません(メール通知が必要な場合はnodemailer.jsを除く)。
まだherokuでnode.jsを使用している場合は、Nodejitsuも一見の価値があります。ノードを強力にサポートし、アプリのクラッシュループなどが発生した場合にメール通知を送信して、永久に実行されます。とても便利な。
また、処理に関する限り、それuncaughtException
は避けたいと思います。経験から、それは不安定であり、最新のnode.js apiドキュメントでは、信頼性が低く不安定であることが示されています。http://nodejs.org/api/process.html#process_event_uncaughtexceptionを参照してください
永遠のようなものを使用してください!