技术头条 - 一个快速在微博传播文章的方式     搜索本站
您现在的位置首页 --> 系统运维 --> 在Centos(RHEL)上安装和配置MRTG

在Centos(RHEL)上安装和配置MRTG

浏览:1990次  出处信息

MRTG是个很过时的东西。现在大多都用RRD,但配置有点麻烦,当然,用Cacti之类还是相当方便。但我在这使用MRTG原因有三.

1.我只有一台机器要用,比如我的个人网站。为了一个小服务器搞个cacti不值.象这样MRTG还是很方便的.
2.就算大面积使用Cacti加RRD还是有必要在本机运行一个可以直接查看的网页比较方便。方便运维排错。
3.可以在一个节点的一台机器上装一个MRTG,然后加上那个节点后面所有的机器,这样可以显示每个节点的流量,方便节点排错.
 
MRTG的全称叫 Multi Router Traffic Grapher 可以监控很多东西,今天我们就用它来监控我小小的个人网站的流量.节点之类多设备的设置后面也可以参考一下.
 
第一步: 安装 MRTG 和snmp
 
以下是代码片段:
yum install mrtg net-snmp net-snmp-utils
 
第二步:配置 snmpd
 
以下是代码片段:
vi /etc/snmpd/snmpd.conf
 
修改成下面这样主要是com2sec那行的可以snmp来打开的地址和密码根据你的需要来设置一下。还有就是access部分后面的权限,可以设置成all之类。
 
以下是引用片段:
com2sec notConfigUser  localhost       public
 
group   notConfigGroup v1           notConfigUser
 
group   notConfigGroup v2c           notConfigUser
 
view    systemview    included   .1.3.6.1.2.1.1
 
view    systemview    included   .1.3.6.1.2.1.25.1.1
 
access  notConfigGroup ""      any       noauth    exact all all none
 
view all    included  .1                               80
 
syslocation Unknown (edit /etc/snmp/snmpd.conf)
 
syscontact Root <root@localhost> (configure /etc/snmp/snmp.local.conf)
 
pass .1.3.6.1.4.1.4413.4.1 /usr/bin/ucd5820stat
 
以下是代码片段:
service snmpd restart
 
我们来确认一下我们的配置,用下面的命令,看看能不能得到你接口的ip信息
 
以下是代码片段:
snmpwalk -v 1 -c public localhost IP-MIB::ipAdEntIfIndex
我的输出如下:
以下是引用片段:
IP-MIB::ipAdEntIfIndex.127.0.0.1 = INTEGER: 1
IP-MIB::ipAdEntIfIndex.221.9.252.35 = INTEGER: 2
 
 
第三步:配置MRTG
 
我们使用cfgmaker的命令来建立 /etc/mrtg.cfg 文件,输入如下命令:
以下是代码片段:
cfgmaker --global \’WorkDir: /var/www/mrtg\’ --output /etc/mrtg.cfg public@localhost
 
以下是引用片段:
    * -global ‘WorkDir: /var/www/mrtg’ : 设置全局的工作目录配置,也就是存MRTG的图象的地址
    * -global "Options[_]: growright,bits" :设置网络显示
    * -output /etc/mrtg.cfg: 你输出的配置文件的地址
    * public@localhost : public是你的snmp设备读的密码,localhost是设备的密码.如果你要显示远程的snmp的设备,就是远程的地址的密码,现在我这是本地的.
 
设置完后,运行indexmaker来建立网页显示接口的信息。这个只需运行一次,你加入新的设备和新监控内容才需要更新.
以下是代码片段:
indexmaker --output=/var/www/mrtg/index.html /etc/mrtg.cfg
 
第四步:加入定时任务
 
http服务都会配置吧,这个就不教了哦。。。crontab我想都会加吧。加入下面的命令到crontab中吧
以下是代码片段:
*/5 * * * * root LANG=C LC_ALL=C /usr/bin/mrtg /etc/mrtg.cfg --lock-file /var/lock/mrtg/mrtg_l --confcache-file /var/lib/mrtg/mrtg.ok
 
最后你打开你的网站的
http://your-ip.add.ress/mrtg/
比如我的网站就是:http://www.php-oa.com/mrtg/
 
 
FQA:
1.怎么加入多个节点内其它的多个设备
本地运行下面的命令
 
以下是代码片段:
 cfgmaker --global ’WorkDir: /var/www/mrtg’ \
 
--output /etc/mrtg/mrtg.cfg \
 
--global "Options[_]: growright,bits" \
 
--ifref=nr \  
 
public@192.168.0.1 \
 
public@192.168.0.2 \
 
public@192.168.0.3 \
 
远程主机
只需要配置snmp的配置,配置如上面提到的一样,只是配置中的可以读snmp的localhost需要修改成显示的那个地址.
2.怎么显示成中文
在你的/etc/mrtg.conf配置之间加入
以下是引用片段:
Language: Chinese     #注意:不要用Language: gb2312,因为用Language: gb2312会出现流量单位b不能正常显示的问题
3.怎么显示指定接口的流量
在cfgmaker命令参数后面加入接口信息 -ifref=ip
ifref可以指定为nr、ip、eth、descr、name。nr表示用接口在MIBII库中Interface接口的ifIndex来识别接口.
 
以下是代码片段:
cfgmaker --global \’WorkDir: /var/www/mrtg\’   --ifref=ip  --output /etc/mrtg.cfg public@localhost
 
 
附:1: mrtg.cfg 里面几个参数的意思. 
Target:是要执行的脚本 
Xsize:生成图表的横向宽度(最大600) 
Ysize:生成图表的纵向高度(最大200) 
Title:标题 
kMG: Change the default multiplier prefixes 
Ytics:纵向划分为几个块(格子) 
MaxBytes:图表纵向数值的最大上限 
PageTop:页面上面的提示 
kilo:一般是写1024,如果需要的话,是1000在计算机里的单位 
LegendI:从SHELL返回的数据中的第一个 
LegendO:从SHELL返回的数据中的第二个 
Options: growright,表示图表向右延展 

建议继续学习:

  1. Linux下三种常用的流量监控软件对比    (阅读:8686)
  2. Centos yum 安装nginx+PHP-FPM+eAccelerator+mysql    (阅读:5609)
  3. ubuntu10.10 使用mrtg监控服务器的cpu、内存、网络等等情况    (阅读:3723)
  4. web业务尽快升级到centos 6.4的理由    (阅读:2898)
  5. 查看CentOS版本的方法    (阅读:2651)
  6. CentOS分区规律大总结    (阅读:2500)
  7. CentOS 5上安装yum    (阅读:2301)
  8. CentOS上搭建Git服务器    (阅读:2238)
  9. 解决CentOS的Missing Dependency: bind问题    (阅读:1944)
  10. CentOS 上的 LNMP 一键安装工具 Centmin Mod    (阅读:1335)
QQ技术交流群:445447336,欢迎加入!
扫一扫订阅我的微信号:IT技术博客大学习
© 2009 - 2024 by blogread.cn 微博:@IT技术博客大学习

京ICP备15002552号-1