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 のどちらかを選択できません)-今のところ、両方を(異なるマシンで)使用します。
ありがとう:)
collectd を使用して、他の多くのパラメーターの中でシステム負荷を記録します。データは [〜#〜] rrd [〜#〜] に格納され、利用可能な多くのツールやスクリプトを使用してグラフ化または分析できます。グラフ化には このスクリプト の修正バージョンを使用します( サンプル出力 )。
Collectdには、多くのもの(一般的に求められるものすべてとその上にあるもの)を監視するためのプラグインがあり、特殊なものが必要な場合でも独自のプラグインを作成することは難しくないので、非常に柔軟なツールになります。 rrd.cgiでのグラフの構成は非常に手動のプロセスですが、難しくはありませんが、collectdによって管理されているRRDファイルを操作するためのより便利なツールが見つかる可能性があります。
Munin は、インストールと構成の労力を最小限に抑えて稼働時間グラフを取得する最も簡単な方法です。私はまた、いくつかのプロセスによる総CPU使用率のために上を使用しますが、それはあなたが求めたものではありません。
見る 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
負荷平均データは、/proc/loadavg
疑似ファイルにあります。そこにあるフォーマットは、自動処理に適している可能性があります。形式を除けば、これらはuptime
コマンドを実行したときに受け取る番号とまったく同じです。
以前、あなたと同様の問題を解決するために、cron
を使用してbashスクリプトをスケジュールして/proc/loadavg
を読み取り、rrdtool update
コマンドを発行してRRDデータベースを更新しました。