mrtg的配置

1.安装配置SNMP

MRTG是工作在SNMP协议上的,你必须安装SNMP才能启动MRTG来观测网络

 

     环境要求perl(perl-5.0xx以上)zlib(zlib-1.1.3-xx以上)gd(gd-1.3.xx以上)libpng

#Vi /etc/snmp/snmpd.conf #安装完以后,配置/etc/snmp/snmpd.conf文件,使其能配合mrtg工作。
把下面的#号去掉
#view mib2 included .iso.org.dod.internet.mgmt.mib-2 fc #
89
把下面的语句#62
access notConfigGroup "" any noauth exact systemview none none
改为:
access notConfigGroup "" any noauth exact mib2 none none

转到397  (这里需要注意,一般情况下,默认不需要改! 但是如果出不来图形,就需要改这里了!)
rocommunity mrtg
这是的communitymrtg,而不是常见的public。可能在ucd-snmp中默认的是public,没有用过。

service snmpd start

 

2.安装配置MRTG

安装需要GD库支持,如果没有安装GD库,则应该安装GD

tar -zxvf mrtg-2.16.1.tar.tar

cd mrtg-2.16.1

./configure --prefix=/usr/local/mrtg      指定安装的路径

make

make install

在你的虚拟目录中建立一个mrtg的专用目录

例如

mkdir /data0/htdocs/17xie.com/mrtg

再建立一个images的目录

mkdir /data0/htdocs/17xie.com/mrtg/images

再到mrtg-2.16.1的安装目录中拷贝images目录下的文件到/data0/htdocs/17xie.com/mrtg/images

 

进入/usr/local/mrtg/bin目录下

 cfgmaker public@localhost --global "workdir:/data0/htdocs/17xie/mrtg" --output=/etc/mrtg/mrtg.cfg

vi /etc/mrtg/mrtg.cfg

 

WorkDir: /var/www/html/mrtg

Options[_]: growright, bits

 

workdiroptions前面的注释去掉 他们的前面不要有空格!!我可是在这里浪费了1个小时找问题!

 

workdir写你的虚拟目录

 

 

env LANG=C /usr/bin/mrtg  /etc/mrtg/mrtg.cfg

如果报错: Line 8 ( WorkDir: /var/www/html/mrtg) in CFG file (mrtg) does not make sense”的错误

workdiroptions前面的注释去掉 他们的前面不要有空格

env LANG=C /usr/bin/mrtg  /etc/mrtg/mrtg.cfg要运行3

前两次会报告错误,不用管

 

indexmaker --output=/data0/htdocs/17xie/mrtg/index.html --title='mrtg information' /etc/mrtg/mrtg.cfg

 

如果看到生成好几个html不要奇怪,因为你有几个网卡,就会对应的生成几个html,如果只想对某个网卡进行监控,则只需要在.cfg文件中修改即可。

 

.设定每5分钟执行一次
使用手工运行mrtg并不能定时产生适当的统计信息,因此最好还是定时自动运行mrtg来生 成统计信息,默认为五分钟运行一次。
作为root身份crontab -e进入编辑状态,添加内容 如下:

*/5 * * * * /usr/local/mrtg/bin/mrtg /var/www/html/mrtg/mrtg.cfg
记得要重新启动snmphttpd服务!

3.配置MRTG,监控CPU

/usr/local/bin下些一个perl脚本,下面是脚本内容

#!/usr/bin/perl
system ("/usr/bin/sar -u 1 3|grep Average >cpu_info_file");

open (CPUINFO,"cpu_info_file");
@cpuinfo=<CPUINFO>;
close (CPUINFO);
foreach $line(@cpuinfo) {
@cpustatus=split(/ +/,$line);
}
$cpuused=$cpustatus[2]+$cpustatus[4];
$cpuidle=$cpustatus[5];
print "$cpuused\n";
print "$cpuidle";
system ("uptime");
system ("uname -n");


注意:在脚本里system ("/usr/local/bin/sar -u 1 3|grep Average >cpu_info_file") ,这句话中必须将sar 的全路径写全,而不能用system ("sar -u 1 3|grep Average >cpu_info_file") 。因为cpu.pl 是由mrtg 调用,mrtg 不知道你的系统路径。
我将cpu.pl 脚本放在/usr/local/bin

下一步的工作就是要交给mrtg 了,mrtg 是通过一个配置文件来获得这两个数值的,通常情况下这个配置文件是由mrtg cfgmaker 命令来生成的, 但这次我们要自己写这个配置文件(cpu.cfg) : 这个配置文件我把他放在/etc/mrtg 下,内容如下:

WorkDir:/data0/htdocs/17xie/cpu
Target[localhost]:`/usr/local/mrtg/bin/cpu.pl`
Xsize[localhost]: 300
Ysize[localhost]: 100
Ytics[localhost]: 10
MaxBytes[localhost]:100
Title[localhost]:CPU State
PageTop[localhost]:<H1>CPU State of Vitter-test Server</H1>
ShortLegend[localhost]: %
YLegend[localhost]: CPU (%)
Legend1[localhost]: Used
Legend2[localhost]: Total
LegendI[localhost]: CPU Used
LegendO[localhost]: CPU IDEL
Options[localhost]: growright,gauge,nopercent

下面我们可以执行mrtg :
[root@intel etc]#/usr/local/mrtg/bin/mrtg /etc/mrtg/cpu.cfg
当第一次执行时会有报警,执行三次,就没有报警了。

4.获得内存的使用率和总量

首先需要一个perl脚本!保存在/usr/local/bin

#!/usr/bin/perl
system ("/usr/bin/free -m | grep Mem >mem_info_file");
open (MEMINFO,"mem_info_file");
@meminfo=<MEMINFO>;
close (MEMINFO);
foreach $line(@meminfo) {
@memstatus=split(/ +/,$line);
}
$memused=$memstatus[2];
$memtotal=$memstatus[1];
print "$memused\n";
print "$memtotal\n";
system ("uptime");
system ("uname -n");

这个脚本由mrtg 来调用,现在我们来完成相应的配置文件(mem.cfg),我把mem.cfg 放在/etc/mrtg 目录下,内容如下:
[WorkDir:/data0/htdocs/17xie/mem
Target[localhost]: `/usr/local/bin/mem.pl`
Xsize[localhost]:300
Ysize[localhost]:100
Ytics[localhost]:10
MaxBytes[localhost]: 1006
Title[localhost]:Memory State of Vitter-test Server
PageTop[localhost]:<H1>Memory State of Vitter-test Server</H1>
ShortLegend[localhost]: B
kmg[localhost]: M
YLegend[localhost]: Memory Usage
Legend1[localhost]: Used
Legend2[localhost]: Total
LegendI[localhost]: Used
LegendO[localhost]: Total
Options[localhost]: growright,gauge,nopercent

下面我们可以执行mrtg :
 /usr/local/mrtg/bin/mrtg /etc/mrtg/mem.cfg
当第一次执行时会有报警,执行三次,就没有报警了。

5.MRTG定期执行


我们把mrtg 加入到crontab 中,让他定时执行:
*/3 * * * * /usr/local/mrtg/bin/mrtg /etc/mrtg/mem.cfg
*/3 * * * * /usr/local/mrtg/bin/mrtg /etc/mrtg/cpu.cfg

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值