web-dev-qa-db-ja.com

仮想マシンのフリーズを検出する方法

クラウドプラットフォームでは、隣接するVMの負荷が高い、オーバーサブスクライブされたイーサネット上のディスク、バックアップ、または他のハードウェアへのライブマイグレーションが原因で、仮想マシンが一時的に「フリーズ」することがよくあります。

これは、公に恥をかかせようとは思わないクラウドプロバイダー上のUbuntu仮想マシンの1つで発生しているのではないかと疑っています。

毎晩、外部の監視サービスでは利用できません。マシン自体は、負荷やトラフィックなどの点で正常に見えます。プロバイダーは、ネットワークは問題ないと示唆しています。

VMフリーズがこれらのポケットベルを引き起こしていることを(不)証明できるようにしたいと思います。

私が持っていたアイデアの1つは、1秒ごとにログに日付を書き込むことでした。しばらく使用できなくなった後、「ビート」をスキップしたかどうかを確認します。
ただし、VMが独自のクロックを維持し、ホストのハードウェアからのドリフトを許可する場合はどうなるかという理由で、これには欠陥があるようです。
内部クロックがVMとともにフリーズした場合でも、そのログファイルにはNiceシーケンスの秒があり、クロックはリアルタイムで遅れています。

マシンがフリーズしていることを確認するために使用できるより良い方法/ツールはありますか?

リアルタイムだと思いますが、私たちの時間はわかります。それでも、時計がドリフトする原因は他にもあります。

5
kvz

あなたは毎秒ログファイルに時間を書き込むことで正しい方向に進んでいると思いますが、あなたが指摘した理由により、それは信頼できないかもしれません。ローカルディスクに時間を書き込むことに加えて、cronプロセスがネットワークを介して既知の安定したシステムに到達し、そのシステムに要求をディスクに記録させてみませんか?システムに対してhttpリクエストを実行していて、そのシステムがリクエストをログに記録していると仮定すると、wgetのような単純なものが機能する可能性があります。もちろん、理想的には、ネットワーク的に問題があると思われるシステムにターゲットシステムを比較的「近づけ」たいと思うでしょうが、それは少なくともデバッグデータを取得するのに役立ちます。

1
vrtigo1

監視用のITソリューションであるNagiosを使用できます。これにより、CPU負荷(およびその他の多くのこと)を確認し、メールまたはWebコンソールからアラートを受信できます。 PCにサーバーをインストールし、仮想マシンにリモートプラグインエグゼキュータをインストールする必要があります。

これはかなりクールなチュートリアルです: http://www.tecmint.com/how-to-add-linux-Host-to-nagios-monitoring-server/

0
Alonimus

外部ホストからVMにpingを実行します。VMがフリーズすると、ネットワークスタックもフリーズし、ログに記録されたpingのシーケンスで表示されます。

0