Dec
21
[原]让MRTG适用于adsl等动态IP方式
一般情况下,MRTG默认是通过snmp的Interface Number作为识别信息的,但该信息是会改变的。以adsl为例,当一部机器上同时有多个地址,并且有依赖于adsl创建的临时地址的话(例如vpn依赖于ppp0创建连接)。那么,当adsl断线重连后,snmp的Interface Number就会发生改变了。这时,MRTG就不能从旧接口获取到流量信息了。下面要解决的就是这个问题。
一、唯一识别号
要解决问题动态IP引起的问题,就需要从snmp寻找唯一的识别号。cfgmaker提供了这样的参数:
运行如下命令,以Interface Description为左识别方式。
从新生成的配置文件中,就会发现下面蓝色标注的区别:
只要参考这里修改原配置文件。
二、删除IP标识
adsl是动态IP的,与其每次都修改配置文件,不如直接把IP去掉。
修改配置文件中:
为:
最后重新生成新的index.html文件即可。
一、唯一识别号
要解决问题动态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
--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 <root@localhost></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>
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 <root@localhost></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文件即可。