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

mrtg高级应该技巧

时间:2009-11-18来源:互联网 点击:

善用FC命令比较得出的结果

  特别是在研究cfgmaker命令应用的初期,好不容易利用替换不同的参数得到了配置文件,怎么样才能快速比较出各个配置文件之间内容的差异呢(也就是不同参数所实现的效果),用FC命令可以快速的得到结果。

  下面我列出了比较两个文件所得到的结果的一小部分:

  正在比较文件 192.168.3.1.nr.cfg 和 192.168.3.1.ETH.CFG
  ***** 192.168.3.1.nr.cfg
  # Created by
  # ./cfgmaker --global WorkDir:/usr/local/apache2/htdocs/mrtg/ --ifref=nr --output /usr/local/mrtg-2/bin/cfg/192.168.3.1.nr.cfg ublic@192.168.3.1
  ***** 192.168.3.1.ETH.CFG
  # Created by
  # ./cfgmaker --global WorkDir:/usr/local/apache2/htdocs/mrtg/eth --ifref=eth --output /usr/local/mrtg-2/bin/cfg/192.168.3.1.eth.cf public@192.168.3.1

  ***** 192.168.3.1.nr.cfg
  EnableIPv6: no
  WorkDir:/usr/local/apache2/htdocs/mrtg/
  ***** 192.168.3.1.ETH.CFG
  EnableIPv6: no
  WorkDir:/usr/local/apache2/htdocs/mrtg/eth

  ***** 192.168.3.1.nr.cfg

  Target[192.168.3.1_1]: 1:public@192.168.3.1:
  SetEnv[192.168.3.1_1]: MRTG_INT_IP="" MRTG_INT_DESCR="FastEthernet0/1"
  MaxBytes[192.168.3.1_1]: 12500000
  Title[192.168.3.1_1]: Traffic Analysis for 1 -- 3550
  PageTop[192.168.3.1_1]: <h1>Traffic Analysis for 1 -- 3550</h1>
  <div id="sysdetails">
  ***** 192.168.3.1.ETH.CFG
  Target[192.168.3.1_00-0d-bc-04-1b-01]: !00-0d-bc-04-1b-01:public@192.168.3.1:
  SetEnv[192.168.3.1_00-0d-bc-04-1b-01]: MRTG_INT_IP="" MRTG_INT_DESCR="FastEthernet0/1"
  MaxBytes[192.168.3.1_00-0d-bc-04-1b-01]: 12500000
  Title[192.168.3.1_00-0d-bc-04-1b-01]: Traffic Analysis for 00-0d-bc-04-1b-01 -- 3550
  PageTop[192.168.3.1_00-0d-bc-04-1b-01]: <h1>Traffic Analysis for 00-0d-bc-04-1b-01 -- 3550</h1>
  <div id="sysdetails">

  从中可以明显的看出指定生成网页文件路径不同,生成的配置文件存放的路径不同,接下来就是重点了,第一个文件是用端口口号来标识的,

  Target[192.168.3.1_1]: 1:public@192.168.3.1:

  第二个文件是用以太地址来标识的(即00-0d-bc-04-1b-01这一串字符)。

  Target[192.168.3.1_00-0d-bc-04-1b-01]: !00-0d-bc-04-1b-01:public@192.168.3.1:

  利用FC命令,我们可以在生成配置网页文件以前就立即知道各个参数所产生的不同效果是什么,实际上,综合利用好这两个小技巧,可以让我们在学习cfgmaker的各项参数时达到事半功倍的效果,快速的掌握选项中每个参数的用法,从一个胜利走向另一个胜利。

  2、--ifdesc参数系列

  这组参数主要解决什么问题呢,以我们单位实际的网络情况来说吧,利用MRTG来监控一台CISCO3550三层交换机的各个端口的流量,在用indexmaker命令得到全部端口组成的网页时,会发现前面关于1-24端口的描述还是可以看懂的,但是后面出现的端口就看不懂了,只是一个24口的交换机,怎么出现了七、八十个监控的端口,只是当点击某个端口的图标进去看到详细信息以后再发现这其实是某个VLAN,怎么能让indexmaker生成的网页文件直接显示相应的VLAN号呢?其实利用-ifdesc的相关参数就可以做到,只需使用一个"descr"参数就可以了,命令这样写:

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

  现在再看生成的网页文件,就是显示的相应的VLAN号了,如图1所示。

 

  图1

  这样看起来就直观多了。

  3、MRTG还支持中文

  太神奇了吧,这简直是MRTG赐予我们的礼物,本来要说起来在单位中会使用MRTG来监控流量的人多少都懂点英语,但是如果我们某天要给领导演示一下MRTG的效果的话,网页中显示的内容是中文的话,效果还是要好很多的,怎么做呢?利用--global "language: chinese" 这个参数就可以了,命令这样写:

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

  写完以后,生成的网页就会用中文显示相关的信息了,如图2所示

 

  图2

  4、在一条cfgmaker命令中同时监控多台网络设备的流量

  以前我们是通过写多个配置文件,开启多个mrtg进程来实现的对于多台网络设备的流量临控,但是通过学习cfgmaker命令发现如果需要同时监控几台网络设备时,只需在cfgmaker命令的后面写几个相应的"[community@]router"参数即可,比如我们这次要同时监控三台交换机,IP地址分别为192.168.3.1、192.168.3.253、172.19.97.2,命令可以这样写:
  cfgmaker --global "WorkDir:/usr/local/apache2/htdocs/mrtg/3/"  --global "language:chinese" --output /usr/local/mrtg-2/bin/cfg/3switch.cfg --ifref=nr --ifdesc=descr --show-op-down  public@192.168.3.1 public@192.168.3.253 public@172.19.96.2

  就是这么简单,在生成的配置文件中我们就可以看到里面包含了这三台交换机所有的端口信息,附带提一下,这条命令中出现了一个"--show-op-down",它的意思是不论端日是处于"up"还是"down"的状态,都对其进行流量监控。

  5、为每一个网络设备都定义相应的目录

  当我们实现了同时监控多台网络设备后,却发现又出现了一个问题,那就是所有网络设备被采集到的信息都存一个目录里,太杂乱了,能不能该不同的网络设备的信息分别分别与之对应的目录里呢,可以的,利用-subdis参数就可以实现,命令如下:

  cfgmaker --global "WorkDir:/usr/local/apache2/htdocs/mrtg/s3sub/"  --global "language:chinese" --output /usr/local/mrtg-2/bin/cfg/3switchsub.cfg --ifref=nr --ifdesc=descr --show-op-down --subdirs=HOSTNAME public@192.168.3.1 public@192.168.3.253 public@172.19.96.2

  利用这条命令先得到配置文件,再利用mrtg进程生成相应的网页文件,就会发现mrtg自动在相应的目录下新建三个子目录:"192.168.3.1"、"192.168.3.253"、"172.19.96.2",里面分别存放着各自对应的网页文件。

让MRTG与交换机端口随需而变

  作为一名网络管理员,经常会对网络设备进行调整,比如要经常调换交换机端口所连接的网络节点,这样一来,交换机上有些端口就处于空闲状态了,又有些端口处于使能状态,这种情况下,为了保证MRTG记录流量的准确性,就要重新生成配置文件,以前我见网上介绍过一个方法,是通过复杂的shell编程实现的自动生成配置文件,其实有了祥子前面介绍的脚本大法,当网络设备的接口情况有所改变时,根据改变的端口生成新的网页并不是一件很难的事,一个脚本(包括一次生成多台交换机的配置文件、生成网页文件、合并网页文件)就搞定了,下面是具体实现步骤。

  (一)解决在配置文件末尾添加"RunAsDaemon=Yes"语句的问题

  其实生成配置文件没什么难的,但是每次生成配置文件以后都要手动往里面添加一行语句:"RunAsDaemon:Yes",当然我们也可以通过脚本来实现的,用最简单的echo语句即可
  举个例子:
  echo -e "RunAsDaemon:Yes" >>test
  这条命令即可将RunAsDaemon:Yes添加到文本文件test的末尾。

  (二)功能强大的脚本

  这个脚本特别适合祥子单位的情况,即网络设备相对固定,但是网络接口经常改变的情况。

  [root@jncatvrd6a bin]# more s3all
  #!/bin/sh
  htmdir=/usr/local/apache2/htdocs/mrtg/s3all/
  htmdir1=/usr/local/apache2/htdocs/mrtg/s3all/192.168.3.1/
  htmdir2=/usr/local/apache2/htdocs/mrtg/s3all/192.168.3.253/
  htmdir3=/usr/local/apache2/htdocs/mrtg/s3all/172.19.96.2/
  conf=/usr/local/mrtg-2/bin/cfg
  rm -rf /usr/local/mrtg-2/bin/cfg/s3all.cfg
  cd /usr/local/mrtg-2/bin && cfgmaker --global "WorkDir:$htmdir"  --global "language:chinese" --output $conf/s3all.cfg --ifref=nr --ifdesc=descr --show-op-down --subdirs=HOSTNAME public@192.168.3.1 public@192.168.3.253 public@172.19.96.2
  echo -e "RunAsDaemon:Yes" >>$conf/s3all.cfg
  #mrtg /usr/local/mrtg-2/bin/cfg/s3all.cfg
  mrtg $conf/s3all.cfg
  indexmaker --output=$htmdirindex.htm $conf/s3all.cfg

  然后再将这个脚本拷由到/etc/rc5.d中,改名为S33mrtg,即可。

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