0

まず、私がここで言及したこの問題を通して読書と思考にあなたの忍耐を感謝します。AWS EC2 Cloudwatch監視

私はAWS EC2インスタンス(Ubuntu 14.04)のいずれかで、インスタンスがhttpまたはpingのいずれかに到達できないという固有の問題を抱えていました。また、SSHアクセスから私をロックしました。毎回awsコンソールにログインして、インスタンスを手動で再起動する必要がありました。解決策として、私は、システムチェックが失敗した場合に、自動的にインスタンスを再起動し、通知メールを私に送信するように、クラウドウォッチの監視を設定しました。

これまでのところ、とても良いです。

今、私が本当に欲しいのは、根本的な原因/理由、たとえば到達不能です。私はそれが記憶上の問題であると仮定します。私はget-system-logsを通過しました。これは少し助けになりました。とにかく、私に警告ログを送信するように、または警告メールを送信するときに似たようなものを私に送信するように、cloudwatchを設定することができます。または、何らかの方法で、十分なログ情報(例えば、メモリ使用量が80%、ネットワークが応答しないなど)に気付くことができます。インスタンスが到達不能になったとき。私はスワップツールについて聞いたことがありますが、私はもっと一般的なものを探しています。メモリの監視に限られていません。

何でもいいですか?誰もが考えている?

+0

これは後で分析できるS3に格納されます。私は、障害発生時のシステム状態を知るために、さまざまな監視指標(メモリ、CPU、ディスクI/Oなど)を備えたCloudWatch Dashboardを設定することから始めます。プロセスの数、ディスクの空き容量など独自のメトリックをCloudWatchに送信するカスタムソフトウェア(Pythonスクリプト)を書くことができます。 –

+0

http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/mon -scripts.html#mon-scripts-systems これはec2からメモリ使用量メトリックを収集し、それを監視し続けるためにcloudwatchに送信する方法に関する非常にクリーンなデモです。 これはメモリ使用量の問題です。このソリューションを実装した後、再び同じことが起こると、その時間のcloudwatchのメモリ使用量を確認します – Ashwini

答えて

0

私は与えているシステム上で実行されている特定のプログラムがある(上記の中で、この詳細については言及していない)おそらく

古いSKOOLを移動して、ファイルにログを記録するようにサーバー上でスクリプトを使用しますあなたこの問題

通常、システムプログラムはPIDをファイルに保存します。そのファイルが/var/run/nginx.pidであると仮定しましょう。あなたはPIDを読み、メモリ使用量を記録し、例えば「は/ usr/local/binに/ mymemory」

PID=`cat /var/run/crond.pid` 
# the 3 fields are %mem, VSZ and RSS 
DATA=`ps uhp $PID| awk '{print $4, $5, $6}'` 
NOW=`date --rfc-3339=sec` 
echo "$NOW $DATA" >> /var/log/memory.log  

追加として、このファイルを追加するためのスクリプトを書くあなたの特定のシステム

のためにこれをうまくすることができますルートとしてのcrontabへの行

* * * * * /usr/local/bin/mymemory.log 

これは1分あたりのメモリ容量が増えます。私はあなたが1日1回ログインし、それをチェックし、興味深い場合はそれをダウンロードし、それを削除することをお勧めします。 (実際の生産状況のログローテーションでは使用することができる)

ファイルがメモリ使用データが含まれている必要があり、クラッシュがあるたび

CloudWatchのはあなたにログファイルを送信することはできませんが、CloudWatchのにログファイルを送信するようにインスタンスを設定することができます
関連する問題