5

多数のアプリケーションを起動しようとしている Web サーバーがあります。それらはすべてデータベースと memcached サーバーを共有しますが、各アプリケーションには独自の mySQL データベースがあり、アプリケーションごとにすべての memcached キーがプレフィックスされます。

考えられるシナリオ:

クラスター内の memcached サーバーがブームになった場合、電子メール/iPhone プッシュ通知またはその他の適切な方法で、誰か (運用システム管理者) に自動的に連絡する必要があります。

顧客向けに 150 個の同一のアプリケーションをサーバーにインストールしようとしていて、memcached サーバーが停止した場合、150 個のアプリケーションすべてが個別にこれを見つけて、システム管理者に連絡します。システム管理者は、新しい仕事を得ることを考えるでしょう。朝の 4 時 15 分に 150 件のメッセージが送信されて目が覚めることはありません。

考えられる解決策:

1 つのアイデアは、送信された $_POST または cURL 要求を取得し、実際のエラー メッセージの深刻度に応じてエラー メッセージの保存を処理するエラー処理用の外部サーバーをセットアップすることです。もちろん、エラー コールの受信時にチェックします。同じ memcached サーバーが既にオフラインとして報告されている場合は、システム管理者に追加のリマインダーを送信する必要はありません...

質問:

  • エラーを処理する方法についての良いアプローチは何ですか?
  • 業界の大物はこれをどのように処理しますか?

ありがとう!

4

2 に答える 2

3

一からやり直す必要がないように、 Hypericなどのオープン ソースの監視フレームワークの使用を検討することもできます。

Hyperic は、すぐに使用できるシステムのさまざまな側面を監視でき、新しい監視ポイントをプラグインするのは非常に簡単です。ルールベースのアラートを提供し、どのタイプのアラートが発生するたびにリセットするか、リセットするまで一度だけにするかを構成できます。

私はこれを PHP アプリの監視に使用したことはありませんが (使用できると思いますが)、Java アプリと関連する MySQL DB の監視には非常にうまく使用しています。

于 2010-05-23T16:53:04.710 に答える
2

あなたの問題は、アプリケーションの外で解決するのが最善だと思います。

物理およびソフトウェア サーバー/サービスを監視したい。http://www.nagios.org/またはhttp://www.opennms.org/のようなものをお勧めします。各 memcached サーバー、mysql サーバー、apache などを監視するように設定し、状態の変化 (ダウン、リソース不足、回復など) で通知を送信します。

于 2010-05-23T16:54:08.903 に答える