EC2で実行されているLinuxインスタンスを監視するためのアプローチをお聞きしたいと思います。私はNagiosを使用してWebベースのアプリケーションのエコシステムのあらゆる側面を監視することに非常に慣れていますが、そのモデルは、かなり頻繁に破棄および再作成されるマシンには特に適しているようには見えません。私のEC2インスタンスはRightScaleによって仲介されています。これには、あまり役に立たない独自のモニタリングスキームがありますが、それらのモニタリングについてはもう少し調べる予定です。
問題のインスタンスは、MySQL、Apache、Passenger、Railsなどの通常のオープンソースのものを実行します。
よろしくお願いします。
スクリプトでec2ツールを使用して、nagios設定を動的に生成することができます。すべてのEC2インスタンスに同じサービスが必要な場合は、サービスをホストではなくホストグループに関連付け、cronを介して実行されるスクリプトを使用してホスト/ホストグループ定義を動的に生成します。次に、kill -HUP(または/etc/init.d/nagiosreloadまたはsvcadmnagios refresh)を実行して、nagiosに新しい構成をリロードさせることができます。これは軽量の操作であるため(再起動は必要ありません)、かなり頻繁に実行できます。スクリプトは、アクティブなインスタンスとそのアドレスのリストを読み取り、それぞれのホスト定義を生成する必要があります。
eachEC2インスタンスまたは全体稼働時間とパフォーマンスを監視しますか?
各インスタンスが何をするかは実際には気にしませんが、Webアプリケーションの全体的な応答時間と機能を監視します。これにはいくつかのツールがあります。私たちはAlertFoxが好きです。これは、15分ごとにかなり複雑なiMacrosベースのトランザクション監視スクリプトを実行します。
クラウドキックを見る価値があるかもしれません。実行する必要のあるモニタリングの種類によって異なりますが、EC2用に特別に設計されています。