|
FreeBSD 研习课程讲义
|
|
Prev
|
MRTG-CPU Loading
CPU的使用量藉由MRTG画出图表 |
Next
|
◎安装 MRTG
◎安装 bsdsar
bsdsar是一个针对FreeBSD 4.x 系统系统活动状态回报的程式。
透过它可以储存/显示系统网路、中央处理器(CPU)、记忆体(memory),swap,
及NFS(Network File System)的使用状况。
安装路径:
#/usr/ports/sysutils/bsdsar/
#make install clean
◎叁数:
-n 察看某日状况。(需配合其他叁数)
-f 从由某bsdsar记录档调阅资料。
-v 察看bsdsar版本。
-a 显示所有纪录的资料。
-u 显示cpu使用状况。
-d 显示磁碟使用状况。
-r 显示记忆体与swap的使用状况。
-i 显示网路使用状况。
-I 显示网路使用状况。
-N 显示nfs的使用状况。
-s 显示cpu使用量最高的5个程序(process)。
-S 显示记忆体使用量最高的5个程序(processes)。
◎设定 MRTG-CPU Loading 的设定档案
在网页下的mrtg资料夹下,建一个叫cpu的资料夹
写一个名叫mrtg-cpu.cfg设定档,放到cpu这个资料夹中,如下:
Target[CPU]: `/usr/local/www/data/mrtg/cpu/mrtg-cpu`
MaxBytes[CPU]: 100
Title[CPU]: Waylon CPU-Loading MRTG 图
PageTop[CPU]: Waylon CPU-Loading MRTG 图
Options[CPU]: gauge,growright
YLegend[CPU]: CPU Loading (%)
ShortLegend[CPU]: %
WorkDir:/usr/local/www/data/mrtg/cpu/
LegendO[CPU]: CPU系统负载
LegendI[CPU]: CPU使用者负载
Language:big5
说明:Target 乃是资料的取得的方式 如同MRTG测流量时的public@community.
因为是要观测CPU Loading,所以透过bsdsar程式取得资料
MaxBytes:限制绘图的最大 Loading 值,CPU Loading 的最高值就是 100% .
Title: HTML 网页的title 语法.
PageTop: 在显网页页面的*标题*.
Options: 采用标准格式,并且让MRTG由右往左绘图.
YLegend: 图表的Y轴名称.
ShotLegend: 定义最小的单位(%).
WorkDir: 工作区域 也就是显示图表的位置.
Language:繁体中文
LegendO[CPU] & LegendI[CPU]: 下方的说明
◎设定MRTG-CPU Loading 的资料取得档案
写一个名叫mrtg-cpu的设定档,放到cpu这个资料夹中,权限为700,如下:
#!/usr/bin/perl
$cpu_orig=`/usr/local/bin/bsdsar -u > /usr/local/www/data/mrtg/cpu/bsdsar.tmp`;
$cpu_str=`/usr/bin/tail -1 /usr/local/www/data/mrtg/cpu/bsdsar.tmp`;
$val=(split(' ',$cpu_str))[1];
$val2=(split(' ',$cpu_str))[2];
$val=int($val);
$val2=int($val2);
print "$val\n";
print "$val2\n";
print "0\n";
print "0\n";
◎执行MRTG CPU Loading
a.在/root/cron 资料夹下 放了一个权限为700的执行档,档名为mrtg-cpu.cron
内容如下:
#!/bin/sh
/usr/local/bin/mrtg /usr/local/www/data/mrtg/cpu/mrtg-cpu.cfg
b.第一次执行
#/root/cron/mrtg-cpu.cron
起先因为没有档案 所以会有错误讯息,run个3到5次
c.检视成果
http://你的ip位置/mrtg/cpu/cpu.html
d.写入crontab (crontab -e)
我设定每10分钟run一次.
*/10 * * * * /root/cron/mrtg-cpu.cron
由於每隔10分钟run一次,
所以原先系统预设每隔20分钟执行一次的bsdsar_gather也要修正.
#vi /etc/crontab
把预设的一、二行mark起来,自己新增第三行
#20,40 8-18 * * * root /usr/local/bin/bsdsar_gather
#0 * * * * root /usr/local/bin/bsdsar_gather
*/10 * * * * root /usr/local/bin/bsdsar_gather
|