web-dev-qa-db-ja.com

過去の負荷平均の保存/計算

uptimeを実行すると、次のような出力が得られます。

 07:50:39 up 13 days,  5:00,  1 user,  load average: 0.00, 0.02, 0.00

X-many分ごとにuptimeを実行する以外に、より履歴的な負荷平均を取得する方法はありますか?

先週、先月などの負荷平均をグラフ化できるようにしたいと思います。

おそらく私は間違った場所を探していますか?

更新
collectd (@ david spillet )または munin (@ icapan のどちらかを選択できません)-今のところ、両方を(異なるマシンで)使用します。

ありがとう:)

2
warren

collectd を使用して、他の多くのパラメーターの中でシステム負荷を記録します。データは [〜#〜] rrd [〜#〜] に格納され、利用可能な多くのツールやスクリプトを使用してグラフ化または分析できます。グラフ化には このスクリプト の修正バージョンを使用します( サンプル出力 )。

Collectdには、多くのもの(一般的に求められるものすべてとその上にあるもの)を監視するためのプラグインがあり、特殊なものが必要な場合でも独自のプラグインを作成することは難しくないので、非常に柔軟なツールになります。 rrd.cgiでのグラフの構成は非常に手動のプロセスですが、難しくはありませんが、collectdによって管理されているRRDファイルを操作するためのより便利なツールが見つかる可能性があります。

5
David Spillett

Munin は、インストールと構成の労力を最小限に抑えて稼働時間グラフを取得する最も簡単な方法です。私はまた、いくつかのプロセスによる総CPU使用率のために上を使用しますが、それはあなたが求めたものではありません。

4
Icapan

見る man sadc(システムアクティビティデータコレクタ)およびman sar(システムアクティビティ情報を収集、報告、または保存します)。

私のUbuntuシステムでは、cronジョブがすでに実行されているため、データ収集を有効にするために必要なことは、編集/etc/default/sysstatそして、この行を「true」に変更します。

ENABLED="true"

uptimeと同様の負荷情報を表示するには、次のようにします。

sar -q

特定の時間範囲と日付(ここでは、月の20日)のデフォルト出力を表示するには:

sar -s 11:00:00 -e 14:00:00 -f /var/log/sysstat/sa20
2

負荷平均データは、/proc/loadavg疑似ファイルにあります。そこにあるフォーマットは、自動処理に適している可能性があります。形式を除けば、これらはuptimeコマンドを実行したときに受け取る番号とまったく同じです。

以前、あなたと同様の問題を解決するために、cronを使用してbashスクリプトをスケジュールして/proc/loadavgを読み取り、rrdtool updateコマンドを発行してRRDデータベースを更新しました。

0
rolaf