现在的位置: 首页 > 【日志记录】 > 正文
MRTG监控系统网络流量、cpu、内存、硬盘状态
2005年02月13日 【日志记录】 ⁄ 共 4129字 评论数 8 ⁄ 被围观 3,560 views+
VPS主机合租

Warning: Missing argument 2 for wpdb::prepare(), called in Z:\wuhao\www.wuhao.net\myfile\web\wordpress\wp-content\plugins\nextgen-gallery\lib\tags.php on line 318 and defined in Z:\wuhao\www.wuhao.net\myfile\web\wordpress\wp-includes\wp-db.php on line 1246

1.安装
./configure --prefix=/usr/local/mrtg
make
make install
2.设置
vi /etc/snmp/snmpd.conf

#view systemview included mib2的内容修改为:
view mib2 included .iso.org.dod.internet.mgmt.mib-2 fc
然后将
access notConfigGroup "" any noauth exact systemview none none
修改为:
access notConfigGroup "" any noauth exact mib2 none none
再重新启动snmpd:
/etc/rc.d/init.d/snmpd restart

3.修改配置文件,实现对cpu、内存、网络、硬盘的监控
vi mrtg.cfg
######################################################################
# System: public
# Description: Linux public 2.6.9-1.667smp #1 SMP Tue Nov 2 14:59:52 EST 2004 i686
# Contact: Root (configure /etc/snmp/snmp.local.conf)
# Location: Unknown (edit /etc/snmp/snmpd.conf)
######################################################################

WorkDir: /home/mrtg
Options[_]: growright, bits
Language:GB2312
EnableIPv6: no

Target[network]: 2:public@localhost:
SetEnv[network]: MRTG_INT_IP="localhost" MRTG_INT_DESCR="eth0"
MaxBytes[network]: 12500000
Title[network]:网络流量监控
PageTop[network]:

网络流量监控

#Target[cpu]: 100 - .1.3.6.1.4.1.2021.11.11.0&.1.3.6.1.4.1.2021.11.11.0:public@localhost
#Target[cpu]:.1.3.6.1.4.1.2021.11.9.0&.1.3.6.1.4.1.2021.11.10.0:public@localhost
Target[cpu]:`/home/mrtg/conf/cpu.pl`
MaxBytes[cpu]: 100
Title[cpu]: CPU负载分析
PageTop[cpu]:

CPU负载分析

Options[cpu]: nopercent,growright,gauge,transparent
YLegend[cpu]: CPU Loading
ShortLegend[cpu]: %
LegendI[cpu]: User  
LegendO[cpu]: System
Legend1[cpu]: User  CPU负载(%)
Legend2[cpu]: System CPU负载(%)

Target[memory]: `/home/mrtg/conf/memory.pl`
MaxBytes[memory]: 100
Options[memory]: nopercent,growright,gauge
YLegend[memory]: Memory Using(%)
ShortLegend[memory]: %
LegendI[memory]: 物理内存负载
LegendO[memory]: 虚拟内存负载
Legend1[memory]: 物理内存负载(%)
Legend2[memory]: 虚拟内存负载(%)
Title[memory]: 内存负载分析
PageTop[memory]:

内存负载分析

Target[load]: `/home/mrtg/conf/load.sh`
Xsize[load]: 600
Ysize[load]: 200
Ytics[load]: 10
MaxBytes[load]: 3000
PageTop[load]:

服务器 Load Average

Options[load]: growright, gauge, nopercent
YLegend[load]: Load average (10E-2)
ShortLegend[load]: (10E-2)&
Legend1[load]: Load over 5 minutes&
Legend2[load]: Load over last 15 minutes&
Legend3[load]: Average over last 5 minutes
Legend4[load]: Average over last 15 minutes
LegendO[load]: 15 minute stagger&&
Title[load]: System load

Target[disk]: `/home/mrtg/conf/df.pl`
Xsize[disk]: 600
Ysize[disk]: 200
Ytics[disk]: 10
Title[disk]: 服务器硬盘使用情况
Unscaled[disk]: dwym
MaxBytes[disk]: 76524755
PageTop[disk]:

服务器硬盘使用情况

kmg[disk]: KB,MB,GB
LegendI[disk]: Total Disk Space
LegendO[disk]: Used Disk Space
Legend1[disk]: Total Disk Space
Legend2[disk]: Used Disk Space
YLegend[disk]:Megabytes
ShortLegend[disk]: &
Options[disk]: growright,gauge,nopercent

4.调用以下程序(cpu.pl、memory.pl、load.sh、df.pl
#cpu.pl
#!/usr/bin/perl
$machine="211.167.240.54";
$getcpu=`/usr/bin/sar -u 1 3|grep Average`;
$getuptime=`/usr/bin/uptime`;
$getcpu=~/^Average:\s+(\w+)\s+(\d+).\d+\s+(\d+).\d+\s+(\d+)\.(\d+)\s+(\d+)\.(\d+)/;
$getcpuusr=$2;
$getcpusys=$3;
print $getcpuusr."\n";
print $getcpusys."\n";
#print "2\n1\n";
$getuptime=~/.+up\s+(.+)(\,\s+\d+\s+user)(.+)/;
print $1."\n";
print $machine."\n";

#df.pl
#!/usr/bin/perl
# This script was written on Debian 3.0, it assumes that the command
# output(df -kl) looks like this:
# Filesystem 1k-blocksUsed Available Use% Mounted on
# /dev/md095645100304013126427208033% /
# /dev/hde1141191159 12231 9% /boot
#
# In which case, this script returns :
# 95659219
# 30402503
# when run.
foreach $filesystem (`df -hl | grep -v "Filesystem"`)
{
  @df = split(/\s+/,$filesystem);
  $total += $df[1];
  $usage += $df[2];
}
print "$total\n";
print "$usage\n";
uname -a

#memory.pl
#!/usr/bin/perl
$machine="localhost";
$memuse=`sar -r 1 5|grep Average`;
$memuse=~/Average:\s+\d+\s+\d+\s+(\d+).\d+\s+\d+\s+\d+\s+\d+\s+\d+\s+\d+\s+(\d+).\d+\D+/;
$memused=$1;
$swpused=$2;
print $memused."\n";
print $swpused."\n";
#print "36.45\n2.50\n";
$times=`/usr/bin/uptime`;
$times=~/.+up\s+(.+)(\,\s+\d+\s+user)(.+)/;
$time=$1;
print $time."\n";
print $machine."\n";

#load.sh
#!/bin/sh
# first the load 5 and 15 min avg
# multiply * 100 to avoid floats
# it helps if mrtg "period" is a multiple of 5 mins
uptime | sed -e 's/^.*average.*: \(.*\)$/\1/' -e 's/ //g' |
awk -F, '{ printf("%.0f\n",$2*100); printf("%.0f\n",$3*100) }'
# the uptime
uptime | sed 's:^.* up \(.*\), [0-9][0-9]* users.*$:\1:'
# my name
uname -n

5.运行生成图表
/usr/loca/mrtg/bin/mrtg /home/mrtg/conf/mrtg.cfg

6.制作index.html文件
/usr/local/mrtg/bin/indexmaker /home/mrtg/conf/mrtf.cnf --output=/home/mrtg/index.html\

版本吧版本吧版本吧

目前有 8 条留言 其中:访客:8 条, 博主:0 条

  1. 浮游 : 2008年03月14日10:08:22  -49楼

    你单独运行menory.pl会报错么?我现在没有linux的机器,没法测。

  2. Mike : 2008年03月13日10:19:07  -48楼

    浮游,一直没你的回复,能帮我看看吗?

  3. Mike : 2008年02月24日14:15:49  -47楼

    你好浮游,
    我在使用你的memory.pl中遇到一个问题,取不出结果。
    我的sar取得的结果是:
    Average: 251054 783894 75.74 155812 293108 2031580 28 0.00 0
    但你的memory.pl中的正则表达式好象取不出其中的数值,我装的是sysstat-8.1.1.tar.gz。
    请指教一下要如何更改memory.pl才可以取出正确的数值?

  4. 透明人 : 2008年01月30日14:29:10  -46楼

    现在配置完成了,不过不是照楼主的弄的,http://bbs.icedot.com.cn/dispbbs.asp?boardid=17&id=1815&star=1#1815 我弄的例子
    http://211.94.188.238/mrtg/

  5. 透明人 : 2008年01月30日11:35:00  -45楼

    我已经把mrtg配置上了,也安装了sysstat,但现在我在制作mrtg主页时,报下面的错误
    ERROR: no H1 line pagetop property in cpu section
    请问是怎么回事?还有,感谢楼上的回答,原来不是楼主,呵呵,看错了

  6. redhat : 2008年01月30日10:18:46  -44楼

    谢谢楼主回答,请问能有sysstat的安装教程吗?或者给出个URL地址也行啊,呵呵,再次感谢

  7. 浮游 : 2008年01月23日14:34:08  -43楼

    对,需要安装sysstat的

  8. redhat : 2008年01月22日14:19:47  -42楼

    呃,我系统本身没有sar命令.是不是需要安装sysstat软件才能使用监控cpu那部分呢?谢谢~~~~~

Wopus问答

给我留言

您必须 [ 登录 ] 才能发表留言!

//百度统计代码
×