EC2を使用する場合、Nagios / Capistranoの設定にどのように対応しますか?


11

私はモバイルアプリにAmazon EC2を使用しています。特定の時点でのアプリケーションの負荷に応じて、新しいインスタンスを生成し、負荷が低いときにそれらを削除して、コストを節約します。

このような動的環境のNagios構成にどのように対応しますか?管理されたハードウェアを扱う場合、構成ファイルは予測可能です。この場合、Nagios、Capistrano、およびその他の構成ファイルの束を追加する必要があります。Capistranoは、アプリサーバーの新しいビルドをどこにデプロイするかを知る必要があります。Nagiosは、既存のインスタンスを削除するか、監視する新しいインスタンスを追加することを知る必要があります。Nagiosは、ノードが意図的に停止されたのか、エラーのためにホストが停止されたのかを知る必要もあります。

これは、VPS /動的インスタンスの素晴らしい世界でどのように行われますか?

回答:


9

ノード情報からNagios構成を書き出す構成管理ツール(この場合はChef)を使用します。


1
もちろん、Puppet / Chefの使用は当然です。しかし、コツは、ノードごとの構成を管理しやすく(たとえば、NagiosサーバーのPuppet構成でノードのリストを複製する必要がないように)、さらにNagiosサーバーに追加/削除/変更されたノードを追跡させる方法です。以下の私の回答でこの点に触れます。
Amos Shapira、2012年

3

nagios設定をファイルに書き込む独自のphpスクリプトセットを作成しました。Nagiosはテキストファイルなので、簡単です。サーバーの種類ごとにテンプレートを作成するだけです。次に、サーバーが起動したら、テンプレートを使用してファイルを追加します。ファイルで変更される唯一のデータは、ホストのIPと名前です。

より静的なサーバーの場合、実行するスクリプトを作成し、ec2-describe-instances返されるインスタンスごとにファイルを作成しました。各インスタンスはtag:Purpose = XXXXでマークされているので、適用するテンプレートがわかります。

自動スケーリンググループではas-put-notification-configuration、SQSキューにメッセージを送信するコマンドを使用して通知を設定しました。phpスクリプトはcrontabによって実行されます。スクリプトの実行時に、新しいサーバーのキューをチェックします。新しいサーバーを見つけるたびに、新しいファイルを作成します。サーバーが削除されたときにも同じことが起こります。既にChefを使用している場合はChefなどを使用する方が簡単かもしれませんが、そうでない場合は数日で私のような簡単なphpサービスを作成できます。


1

さらに別のnagios + database + rest-apiラッパーであるOpsviewを使用します。これが誰にとっても(または私たちにとっても)最適なソリューションであるかどうかはわかりませんが、起動時にノード(または他の管理ノード)から単純なREST APIを介してNagiosサーバーを動的に構成できます。完了したときの構成。Opsview(/ Nagios)サーバーのPuppetマニフェストの一部としてホストテンプレートの定義を使用し、監視対象ホストはそれを登録し、Puppetマニフェストの一部として適切なホストテンプレートに参加します。

より「一般的な」アプローチは、元のNagiosとその静的ファイルでさえほとんど何でも機能するはずですが、Puppet Stored Configurationです。これにより、Puppetが収集した情報に基づいて、好きなツールを設定するためのスクリプトを作成できますそのマニフェスト。

フォレンジックの目的のために、ノードがダウンしたときにノードの構成を完全に削除するのではなく、ノードと稼働中に収集された監視情報をアーカイブすることをお勧めします。


1

いくつかの方法。

  • 事前設定されたAmazon EC2テンプレートを使用します。

  • 可変テンプレートでパペットマニフェストを使用します。

  • nagiosネットワークとAmazon VMの間にVPNを設定します。すべてのAmazon VMに静的IPがあり、それらにDNSを設定することもできます。すべてのAmazonインスタンスを実行および監視するnagiosがあります。Elastic IPも必要ありません。アウトVPNにはopenvpnを使用します。

  • 外部コマンドをリッスンするNagiosをビルドし、それに応じて構成を更新します。最終的に、マシンはNagiosで登録、登録解除、一時停止、再開できます。


0

nagiosでこの問題を解決するための特効薬はありません。ただし、capistranoには、Amazon タグ付け機能を使用してサーバーの役割リストを解決するcapistranoの拡張機能であるcapify- ec2があります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.