サーバーがダウンしたときにアラートを受け取るようにAmazon Cloudwatchをセットアップする


13

ウェブサーバーになったAmazon EC2で実行しているインスタンスがあります。

今、私はクラウドウォッチを見てきましたが、それが仕事に適したツールであるかどうかはわかりません。基本的に、何らかの理由でサーバーがダウンしたときに通知を受け取りたいと思います。

サーバーがハッキングされたのか、何らかの理由でサーバーがシャットダウンしたのか、通知を受け取りたいのですが。

clouwatchを有効にし、アラートを設定しようとしましたが、ネットワークの入出力やCPU使用率、dメトリックスなどしか表示されません。今、私はこれらがトリックを行うかどうかわかりません。


1
チェックアウトcloudkick。私たちは意見を広めることになっていないことは知っていますが、cloudkickは私のお気に入りの監視ソリューションです。サイトはping可能(apache / nginx)である可能性があるため、pingdomはほとんど役に立ちませんが、プロキシされたphp / java / ruby​​プロシージャは機能しない可能性があります。3分ごとにcloudkickで実際のURLにアクセスし、指定したテキストの存在を確認するか、2xxの成功のために、スタック全体が機能していることを確認するのがはるかに便利です。私は等を監視しloadaverageのセットアップ、MEMの使用、エージェント接続(サーバーがオフラインまたは接続が切断)、HTTPの2xxページの成功を、持っている
iainlbc

あなたはここで良い点を挙げました。phpのみがダウンしている場合でも、200の応答が返されます。あなたが提供したリンクは良い代替手段です。私は最終決定を下すときにそれを見ていきます。
サイフBechan

@iainlbc実際のURLにアクセスして特定のテキストをチェックするようにPingdomを設定できます。
ceejayoz

回答:


11

1つの推奨事項は、常にCPU使用率などの数値を持つメトリックを監視し、メトリックの状態が「データが不十分」のときにアラームをトリガーすることです。AmazonのSNSを使用してこれを通知できます。

または、特定のサービス(httpd、mysqlなど)のバイナリ状態を返すカスタムメトリックをセットアップし、これらのいずれかが0を読み取るたびにアラートを生成することができます。このアプローチは、より詳細な可能性を提供します。 'すべてのケースをカバーします。

サイトを実際に監視するもの(Pingdom、UptimeRobotなど)を使用すると、より成功する可能性があります。


私はpingdomのようなサービスを見てきましたが、確かにそれらを有効にします。さらに、CPUを調べることも考えていましたが、Webサーバーだけがハッキングされるとどうなるかを考えました。httpd、mysqlなどのテストを行うことは確かに役立ちます。このバイナリ状態メトリックを有効にする方法についてのヒントを教えてください
サイフBechan

簡単に説明すると、対象のサービスのステータスを取得する方法を決定します(例:pid / nameのps | grep 、使用中のポートの確認など)-つまり、ウォッチドッグスクリプト。このようなスクリプトを変更してCloudwatch API(PutMetricData)を呼び出し、0(ダウン)または1(アップ)のいずれかを渡します。この目的のために存在するSDK(Ruby、PHP、等); コマンドラインバージョンmon-put-dataはより低速です。すべてをcronで実行します。
cyberx86

1
それは少し複雑に聞こえます。私はuptimerobotのようなサービスの方が個人的には良い選択だと思います。すべての助けてくれてありがとう。
サイフBechan

3

OpsGenie(http://www.opsgenie.com)を使用して、CloudWatchのリッチアラートを送信できます。Currenly CloudWatchには、SNSメカニズムを介したEメールやSMSなどの限られたアラートメカニズムセットがあります。

OpsGenie WebサービスAPIを呼び出すようにCloudWatchを設定し、受信者の好みに応じて、iPhone / Androidアプリ、SMS、音声通話などへのプッシュ通知を介して適切なユーザーに迅速に通知することができます。

詳細については、次のブログ投稿をご覧ください。

http://www.opsgenie.com/blog/2012/09/04/aws-cloudwatch-alarms-on-your-mobile-with-opsgenie.html


2

Cloudwatchでアラームを作成し、アラームが「データ不足」状態になったときに通知するようにアラームを設定できます。すでに利用可能なメトリクスのほとんどはVMホストからのものであり、マシン内で何が起きているかについての本当の考えはありません。

初めに、インスタンスにAmazonツールをインストールし、何かを報告するスクリプトをセットアップすることをお勧めします(何でも:CPU使用率、何でも)、そのメトリックがデータの送信を停止した場合にアラームを出す(したがって、メトリックはデータ不足状態になります) )。

これは最低限のものですが、開始するのに適した場所である必要があります。

Cloudwatch開発者ガイドの監視スクリプトのセクションを参照してください:http ://docs.amazonwebservices.com/AmazonCloudWatch/latest/DeveloperGuide/mon-scripts.html


素晴らしい、ちょうど私が探していたもの。
GivP

2

Route 53とその「ヘルスチェック」を使用できます。これにより、SNSアラートを送信し、ユーザーを別のセカンダリWebサイトまたはエラー画面にリダイレクトすることもできます。これは、Cloudwatchよりも問題の解決策として優れていると思います。


2

EC2ステータスチェックを実装できます。EC2ダッシュボードから行います。インスタンスに移動し、インスタンスを選択し、ステータスチェックタブ(インスタンスの説明の横)を選択します。ステータスチェックアラームの作成をクリックします。デフォルトの「ステータスチェック失敗(任意)」が適切です。一時的な問題に悩まされないように、常に間隔を1より大きく設定します。

何らかの理由でインスタンスがダウンした場合、インスタンスを自動的に回復するようにEC2を設定することもできます。

二次監視システムもお勧めします。ダムはこれに適しています。別のホストからWebサーバーを指すLinuxユーティリティmonをセットアップしました。200応答コードを連続して2回取得できなかった場合、メールを受け取ります。


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