当前位置: 主页 > 网络知识 > 网络管理 > mrtg高级应该技巧

mrtg高级应该技巧

时间:2009-11-18来源:互联网 点击:
设置MRTG为自启动程序

  让MRTG进程跟随系统一同启动,这是一个最基本的需求,因为MRTG的最基本功能就是实时记录网络设备的流量,操作系统总有重启的时侯,我们要实现的是当系统重新启动后,MRTG也随之启动了,怎么做呢?做一个脚本,放在/etc/rc.5/目录下即可,这里面有几点需要注意的地方。

  (一)正确判断放置脚本的目录

  在此要说明一下,本文中MRTG程序是运行在红旗LINUX6.0操作系统的桌面环境下,因此这个环境下启动文件是放在/etc/rc5.d/目录下的。

  (二)创建一个启动脚本

  内容如下:
  [root@jncatvrd6a htdocs]# more /etc/rc5.d/S31mrtg
  #!/bin/sh
  cd /usr/local/mrtg-2/bin && ./mrtg /usr/local/mrtg-2/bin/cfg/192.168.3.1.cfg

  该文件以大写的"S"开头,表示为一个启动文件,后面跟两位数字,再后面跟标志该程序的字符串。

  (三)为脚本设置正确的权限

  即使创建了符合格式的文件名,脚本的内容也正常,重启计算机后也可以无法正确的启动MRTG进程,不成功的原因很可能是由于没有设置正确的权限,可以看一下这个目录下的其它文件的取限设置,发现它们都是可执行文件,照它们的样子写即可:

  [root@jncatvrd6a rc5.d]# chmod 777 S31mrtg
  [root@jncatvrd6a rc5.d]# ls -l S31mrtg
  -rwxrwxrwx 1 root root 87 10-27 16:25 S31mrtg

  以上三步做完,MRTG就可以跟随系统一起启动了。

  (四)不要忘了同时启动WWW发布进程

  我们发布网页(也就是MRTG监控的结果)是通过APACHE程序,也需要把这个程序设置为自动启动

  [root@jncatvrd6a rc5.d]# chmod 777 S65apache
  [root@jncatvrd6a rc5.d]# more S65apache
  #!/bin/sh
设置参数,让输出信息更加准确

  这是我们研究的重点,我们以往配置MRTG的时侯,一般来说都是按照默认的参数来做的,即先生成配置文件(cfgmaker),再生成网页文件(mrtg),最后生成合并的网页文件(indexmaker),但是仔细观查生成的网页文件时却会发现一些问题,比如网页中显示的端口号与交换机实际的端口上对应不上,或者出现了一些交换机上没有的端口(这在三层交换机上表现的尤为明显,一台24口的交换机,MRTG输出的网页上可能出现七、八十个端口,点击进去以后结果发现是VLAN),实际上通过对于cfgmaker命令的深入研究,我们发现是可以通过设置相应参数来得到我们最终想要的结果。

  (一)如何获得最详尽的cfgmaker命令使用方法的帮助信息

  打这个命令就可以了:cfgmaker -man

  为了方便查看,可以将此帮助输出到一个文件里面。

  [root@jncatvrd6a rc5.d]# cd /usr/local/mrtg-2/bin
  1027.txt  cfg  cfgmaker  indexmaker  mrtg  mrtg-traffic-sum  rateup
  [root@jncatvrd6a bin]# ./cfgmaker --man >>1029.txt
  [root@jncatvrd6a bin]# more 1029.txt

  通过FTP的方式将这个文件传到一台WINDOWS的电脑,在WORD中打开这个文件,可以方便的进行标注及翻译。

  (二)了解cfgmaker最基本的语法格式

  通过查看cfgmaker的帮助文件的开并头部分,我们可以大概了解到cfgmaker命令的基本语法

  [root@jncatvrd6a bin]# more 1029.txt
  NAME
  cfgmaker - Creates mrtg.cfg files (for mrtg-2.16.2)
  SYNOPSIS
  cfgmaker [options] [community@]router [[options] [community@]router ...]
  OPTIONS
  --ifref=nr    interface references by Interface Number (default)
  --ifref=ip                     ... by Ip Address
  --ifref=eth                        ... by Ethernet Number
  --ifref=descr                      ... by Interface Description
  --ifref=name                       ... by Interface Name
  --ifref=type                       ... by Interface Type

  --ifdesc=nr       interface description uses Interface Number (default)
  --ifdesc=ip                        ... uses Ip Address
  --ifdesc=eth                       ... uses Ethernet Number
  --ifdesc=descr                     ... uses Interface Description
  --ifdesc=name                      ... uses Interface Name
  --ifdesc=catname                   ... uses CatOS Interface Name
  --ifdesc=ppname                    ... uses Passport Port Name
  --ifdesc=alias                     ... uses Interface Alias
  --ifdesc=type                      ... uses Interface Type

  如上面的信息所显示的,cfgmaker命令主要通过后面所跟的相应参数来生成相应的配置文件,最后面跟的是要监控设备的community串和主机名

  (三)主要的参数

  1、--ifref系列参数

  Ifref系列参数的主要作用就是告诉配置文件依据什么指标来标记端口,可以通过端口号(nr)、端口的IP地址(ip)、端口的以太地址(eth)、端口的描述(descr)、端口的名字(name)、端口的类型(type)来标记,一般情况下我们就是使用端口号来标记端口的,我们可以写一下看看,命令如下:

  cfgmaker --global "WorkDir:/usr/local/apache2/htdocs/mrtg/"  --output /usr/local/mrtg-2/bin/cfg/3switch.cfg --ifref=nr  public@192.168.3.1

  可以到指定的目录去看一下生成的配置文件,可以看到跟用默认的命令生成的配置文件内容是一样的,因为系统默认就是通过nr来标识端口的。

利用脚本来简化命令的输入

  相信大家在配置MRTG的过程中,总为要不断的敲入一长串一长串的命令犯愁,其实我们可以通过将配置命令做成脚本来简化操作,比如我们要学习-ifref=nr这个参数的配置,可以写如下一个脚本:

  [root@jncatvrd6a bin]# more sifrefnr
  #!/bin/sh
  cd /usr/local/mrtg-2/bin && cfgmaker --global "WorkDir:/usr/local/apache2/htdocs/mrtg/"  --output /usr/local/mrtg-2/bin/cfg/192.168.3.1.des1029.cfg --ifref=nr  public@192.168.3.1
  [root@jncatvrd6a bin]# ls -l sifrefnr
  -rwxrwxrwx 1 root root 189 10-29 17:09 sifrefnr

  下次如果我们要看-ifref=eth的效果时,只需将这个脚本复制另一个文件,然后再稍微的改动一下这个新文件的内容即可,我们可以这样写:

  [root@jncatvrd6a bin]#cp sifrefnr sifrefeth
  [root@jncatvrd6a bin]# more sifrefeth
  #!/bin/sh
  cd /usr/local/mrtg-2/bin && cfgmaker --global "WorkDir:/usr/local/apache2/htdocs/mrtg/eth"  --output /usr/local/mrtg-2/bin/cfg/192.168.3.1.eth1029.cfg --ifref=eth public@192.168.3.1
  [root@jncatvrd6a bin]# ls -l sifrefeth
  -rwxrwxrwx 1 root root 204 10-30 11:42 sifrefeth

  为什么可以这样做,因为cfgmaker命令的语法是相同的,不同之处只是所跟的参数,而且只是各别具体的值,所以我们可以针对一个参数系列写成一个模板脚本,每次要尝试一个萁中小项参数的功能的时侯,稍微修改一下模板的内容就可以了。

站长资讯网
.
分页: [1] [2]
TAG: MRTG 技巧 高级
推荐内容最近更新人气排行
关于我们 | 友情链接 | 网址推荐 | 常用资讯 | 网站地图 | RSS | 留言