バルーニングメモリプロセスがスワップを満たし、マシン全体(Apacheなど)を強制終了する、スワップの死などの問題を診断する方法を探しています。
私はすでにサボテンを使用しており、nagios(できればそうではないかもしれません)またはmuninを設定できますが、個々のプログラムの使用状況を記録することはできません-全体的なステータスのみ。
30秒ごとに一部のファイルに>>するスクリプトをロールバックできることはわかっていますが、既存の成熟したソリューションが既に存在するかどうかを確認したいと思います。
繰り返しますが、理想的には:
プロセス名は事前に知られていないので、知っておくべきではありません。アイデアは、プロセス名を監視させ、上位の違反者を確認することです。
私のシステムはLinux(OpenSUSE)です。
上位の攻撃者だけが必要な場合は、top
を比較的長い間隔(60秒以上)でバッチモードで実行することを検討してください。複数のリソースで上位の攻撃者をキャプチャするには、複数のtop
を実行する必要がある場合があります。リソースが使い果たされているときにtop
を数サイクル実行するようにシステムを構成しました。
sar
をバッチモードで実行して、リソース使用率をキャプチャすることを検討してください。これはサーバーベースですが、問題が発生している時間を特定するのに役立ちます。
munin
を実行して通知を有効にします。これにより、サーバーにアクセスしてサーバーが停止するのを監視できる可能性があります。ダウンする前に問題を修正できる場合があります。
メモリリークの場合、スワップ使用量が着実に増加することは問題を示しています。私はかつてサーバーが数日かけてゆっくりと死ぬのを見ました。問題のサービスは、メモリリークがないか他のプロセスを監視するプログラムでした。システム管理者は、サーバーの応答が停止するまで、スワップの使用量の増加は問題ではないと主張し続けました。
cfengine
の異常検出を使用して、スクリプトがトリガーされ、問題が発生したときにシステムの状態をキャプチャできる場合があります。ほとんどのリソースを使用しているプロセスだけでなく、多くの情報が必要になる場合があります。突然の使用の流入では、ネットワーク接続のリスト(名前ではなくアドレス)が必要になる場合があります。メモリ使用量も役立ちます。
sysstat は、まさにあなたの目的のために作成されています。
私は前に使用したことがあります:
http://freshmeat.net/projects/atop/
「上部は、ASCII全画面のパフォーマンスモニターであり、すべてのプロセスのアクティビティ(間隔中にプロセスが終了した場合でも)、システムの毎日のログ、およびプロセスアクティビティを長期間にわたって報告できます。用語分析、色などを使用して過負荷のシステムリソースを強調表示します。定期的に、CPU、メモリ、スワップ、ディスク、ネットワークレイヤーに関連するシステムレベルのアクティビティを示し、アクティブなプロセスごとにCPU使用率を示します。メモリの増加、優先度、ユーザー名、状態、終了コード。」
あなたはcollectdを試しましたか?
非常に強力でカスタマイズ可能です。
多数のプラグインがあり、nagiosと統合できます。
http://studyhat.blogspot.com/2010/08/user-activity-view-processes-display.html
上記のリンクの小さなコードを見て、メモリCPUなどを出力してください。
nmon は、探していることを実行できる優れたツールです。 AIXおよびLinux用に開発されました。大量の詳細な出力を生成し、レポートに簡単に入力できます。あなたがそれをググれば、たくさんのドキュメンテーションとデータを解析するための追加のユーティリティを持っているIBM wikiがあります。
同様の質問をしたときに提案された回答 質問 :
Munin は、インストールと構成の労力を最小限に抑えて稼働時間グラフを取得する最も簡単な方法です。また、一部のプロセスによるCPU使用量の合計にも使用していますが、それはあなたが要求したものではありません。
私は collectd を使用して、他の多くのパラメーターの中でシステムの負荷を記録します。データを [〜#〜] rrd [〜#〜] ストアに格納します。これらのストアは、グラフ化したり、他の多くの利用可能なツールやスクリプトを使用して分析したりできます。グラフに このスクリプト の修正バージョンを使用しています( サンプル出力 )。
Collectdには、さまざまなもの(一般的に求められるすべてのものといくつかの上にあるもの)を監視するためのプラグインがあり、特別なものが必要な場合でも独自のプラグインを作成することは難しくないので、非常に柔軟なツールになります。 rrd.cgiでのグラフの設定は非常に手動のプロセスですが、難しくはありませんが、collectdによって維持されるRRDファイルを操作するためのより便利なツールが見つかるかもしれません。
Server Density は、ユーザーが記述したとおりに機能します。
私は私たちの生産サーバーの1つでそれを使用し、それについて非常に満足しています。その最大の特徴は、グラフを表示し、ピークをクリックして、実行中のすべてのプロセスを含む、その時点でのサーバーのCPU /メモリ消費量を確認する機能です。彼らはそれを snapshots と呼んでいます。
それは常に改善されています。最新の機能の1つは anomaly detection です。これにより、異常を簡単に検出できます。さまざまなしきい値を設定することもできます
Nagiosの上にあるCentreon、NagiosとNRPEの組み合わせ。次に、カスタムスクリプトを記述して、データをNRPEにしたい任意の形式でレポートできます。 NagiosはNRPEを使用してリモートサーバーからデータをポーリングし、Centreonはきれいなグラフを作成し、ユーザーの柔軟性を大幅に高めます。 http://beyondhosting.net で使用しています。必要に応じて、centreon + nagiosが設定されたVZコンテナテンプレートをすでに持っています。
グラフcenteronはhostthenpost.org/tyler/2010-07-23_1719.pngをビルドします
Munin は、Nagiosやその他のツールを必要とせずに、箱から出して必要なすべてを実行します。 OpenSUSEで利用できるRPMがあります。