[原]让MRTG适用于adsl等动态IP方式

   一般情况下,MRTG默认是通过snmp的Interface Number作为识别信息的,但该信息是会改变的。以adsl为例,当一部机器上同时有多个地址,并且有依赖于adsl创建的临时地址的话(例如vpn依赖于ppp0创建连接)。那么,当adsl断线重连后,snmp的Interface Number就会发生改变了。这时,MRTG就不能从旧接口获取到流量信息了。下面要解决的就是这个问题。

一、唯一识别号
要解决问题动态IP引起的问题,就需要从snmp寻找唯一的识别号。cfgmaker提供了这样的参数:

引用
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

运行如下命令,以Interface Description为左识别方式。

# cfgmaker –ifref=descr –output=/etc/mrtg/testmrtg.cfg public@192.168.228.153

从新生成的配置文件中,就会发现下面蓝色标注的区别:

引用
Target[192.168.228.153_ppp0]: \ppp0:public@192.168.228.153:
SetEnv[192.168.228.153_ppp0]: MRTG_INT_IP="219.136.13.9" MRTG_INT_DESCR="ppp0"
MaxBytes[192.168.228.153_ppp0]: 0
Title[192.168.228.153_ppp0]: Traffic Analysis for ppp0 — printserver
PageTop[192.168.228.153_ppp0]: <H1>Traffic Analysis for ppp0 — printserver</H1>
<TABLE>
  <TR><TD>System:</TD>     <TD>printserver in PrintServer</TD></TR>
  <TR><TD>Maintainer:</TD> <TD>Root &lt;root@localhost&gt;</TD></TR>
  <TR><TD>Description:</TD><TD>ppp0  </TD></TR>
  <TR><TD>ifType:</TD>     <TD>ppp (23)</TD></TR>
  <TR><TD>ifName:</TD>     <TD></TD></TR>
  <TR><TD>Max Speed:</TD>  <TD>0.0 Bytes/s</TD></TR>
  <TR><TD>Ip:</TD>         <TD>219.136.13.9 (9.13.136.219.broad.gz.gd.dynamic.163data.com.cn)</TD></TR>
</TABLE>

只要参考这里修改原配置文件。

二、删除IP标识
adsl是动态IP的,与其每次都修改配置文件,不如直接把IP去掉。
修改配置文件中:

引用
SetEnv[192.168.228.153_ppp0]: MRTG_INT_IP="219.136.13.9" MRTG_INT_DESCR="ppp0"

为:

引用
SetEnv[192.168.228.153_ppp0]: MRTG_INT_DESCR="ppp0"

最后重新生成新的index.html文件即可。

让MRTG从脚本获取信息画图
使用MRTG画图进行监控

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/112484.html

(0)
上一篇 2021年8月27日
下一篇 2021年8月27日

相关推荐

发表回复

登录后才能评论