【perl】 system関数を使ってサーバの稼動状況を表示してみた(1)


コマンドラインで出力するのに、以下のスクリプトを作成した。

sh-3.00$ cat example1.pl
#!/usr/bin/perl

$hr = "-" x 96;
$time = localtime;

print "$hrn";
print "$time のディスク使用量n";
print "n";
system("/bin/df -h");
print "n";

print "$hrn";

print "$time のメモリ使用状況n";
print "n";
system("/usr/bin/free");
print "n";

print "$hrn";

print "CPU使用率n";
print "n";
system("LANG=C /usr/bin/sar -u 1 10");
print "n";

print "$hrn";

実行結果は以下の通り。

sh-3.00$ ./example1.pl
------------------------------------------------------------------------------------------------
Fri Nov 16 20:37:43 2007 のディスク使用量

Filesystem          サイズ  使用  残り 使用% マウント位置
/dev/mapper/VolGroup00-LogVol00
                       66G  1.3G   61G   3% /
/dev/sda1              99M   24M   71M  25% /boot
none                 1014M     0 1014M   0% /dev/shm
/dev/sdb1              68G  354M   64G   1% /home

------------------------------------------------------------------------------------------------
Fri Nov 16 20:37:43 2007 のメモリ使用状況

             total       used       free     shared    buffers     cached
Mem:       2075952     834156    1241796          0     106624     581300
-/+ buffers/cache:     146232    1929720
Swap:      2031608          0    2031608

------------------------------------------------------------------------------------------------
CPU使用率

Linux 2.6.9-55.0.12.EL (nullpopopo.blogcube.info)         11/16/07

20:37:43          CPU     %user     %nice   %system   %iowait     %idle
20:37:44          all      0.99      0.00      0.99      0.00     98.02
20:37:45          all      0.00      0.00      0.00      0.00    100.00
20:37:46          all      0.00      0.00      0.00      0.00    100.00
20:37:47          all      0.00      0.00      0.00      0.00    100.00
20:37:48          all      0.00      0.00      0.00      2.00     98.00
20:37:49          all      0.00      0.00      0.00      0.00    100.00
20:37:50          all      0.00      0.00      0.99      0.00     99.01
20:37:51          all      0.00      0.00      0.00      0.00    100.00
20:37:52          all      0.00      0.00      0.00      0.00    100.00
20:37:53          all      1.00      0.00      0.00      0.00     99.00
Average:          all      0.20      0.00      0.20      0.20     99.40

------------------------------------------------------------------------------------------------

次のエントリには、これをブラウザで表示するにはどうするかを書きます。