英语法语西班牙语

Ad


OnWorks 网站图标

cfgmaker - 云端在线

通过 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器在 OnWorks 免费托管服务提供商中运行 cfgmaker

这是命令 cfgmaker,可以使用我们的多个免费在线工作站之一在 OnWorks 免费托管服务提供商中运行,例如 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器

程序:

您的姓名


cfgmaker - 创建 mrtg.cfg 文件(适用于 mrtg-2.17.4)

概要


cfgmaker [选项] [社区@] 路由器 [[选项] [社区@] 路由器 ...]

配置


--ifref=name 接口引用按接口名称(默认)
--ifref=ip ... 通过 IP 地址
--ifref=eth ... 通过以太网号码
--ifref=descr ... 按接口描述
--ifref=nr ... 按接口编号
--ifref=type ... 按接口类型
您也可以使用逗号分隔的多个选项,
在这种情况下,使用第一个可用的:
例如 --ifref=ip,name,nr

--ifdesc=nr 接口描述使用接口编号(默认)
--ifdesc=ip ... 使用 IP 地址
--ifdesc=eth ... 使用以太网号码
--ifdesc=descr ... 使用接口说明
--ifdesc=name ... 使用接口名称
--ifdesc=catname ... 使用 CatOS 接口名称
--ifdesc=ppname ... 使用 Passport 端口名称
--ifdesc=alias ... 使用接口别名
--ifdesc=type ... 使用接口类型
您也可以使用逗号分隔的多个选项,
在这种情况下,使用第一个可用的:
例如 --ifdesc=catname,ppname,descr,alias,ip,name,nr

--if-filter=f 针对过滤器 f 测试每个接口以决定是否
或者不将该接口包含在集合中。
当前 f 被评估为 Perl 表达式
它的真值用于拒绝或接受
界面。
(实验性的,正在开发中,可能会改变)

--if-template=模板文件
替换接口的正常目标条目
具有文件中内容指定的条目
模板文件。 该文件应该包含 Perl
要执行以生成行的代码
配置文件中的目标。
(实验性的,正在开发中,可能会改变)

--host-template=模板文件
除了为主机的接口创建目标之外
还要按照指定为主机本身创建目标
通过文件模板文件中的内容。 该文件是
应该包含要执行以生成的 Perl 代码
主机相关目标(例如 CPU、
ping 响应时间测量等)在配置中
化文件。
(实验性的,正在开发中,可能会改变)

--global "x: a" 添加全局配置条目

--no-down 不查看接口的 admin 或 opr 状态

--show-op-down 显示操作性关闭的接口

--zero-speed=spd 将此速度(以每秒位数为单位)用作接口
返回速度为 0 的所有接口的速度
通过 ifSpeed/ifHighSpeed。 100Mbps = 100000000

--subdirs=format 给每个路由器自己的子目录,命名每个路由器
“格式”,其中 HOSTNAME 和 SNMPNAME 将是
替换为这些项目的值——例如,
--subdirs=HOSTNAME 或 --subdirs="HOSTNAME (SNMPNAME)"

--noreversedns 不反向查找 IP 号

--community=cmty 将默认社区字符串设置为“cmty”而不是
“民众”。

--enable-ipv6 启用 IPv6 支持,如果所需的库是
展示。 必须包含数字 IPv6 地址
在方括号中,例如 public@[2001:760:4::1]:161

--use-16bit 使用 16 位 SNMP 请求 ID 查询所有路由器。

--snmp-options=:[ ][:[ ][:[ ][:[ ][: ]]]]

指定要附加到所有的默认 SNMP 选项
路由器如下。 个别字段可以为空。
跟随的路由器可能会覆盖部分或全部
提供给 --snmp-options 的选项。

--dns-domain=域
指定要附加到所有名称的域
路由器如下。

--nointerfaces 不要为接口生成任何配置行,
跳过收集界面信息的步骤和
不要运行任何界面模板代码。

--interfaces 为接口生成配置行(这是
默认)。 此选项的主要目的是否定
前面出现在命令行上的 --nointerfaces。

--help 简短的帮助信息
--man 完整文档
--version 打印 cfgmaker 的版本

--output=file 输出文件名默认为 STDOUT

商品描述


配置器 根据从路由器提取的信息创建 MRTG 配置文件或
另一个 SNMP 可管理设备。

[社体的一部分@]路由器

用户社区 是您要为其创建配置的设备的社区名称。 如果
未指定,默认为 '国家'; 如果你不这样做,你可能想先试试这个
知道设备的团体名称。 如果您使用了错误的社区名称,您将
没有得到设备的响应。

路由器 是 SNMP 可管理设备的 DNS 名称或 IP 号。 跟随名字
您可以指定 6 个以冒号分隔的其他选项。 完整的语法如下所示:

路由器[:[准备][:[输出][:[撤退][:[退避][:]]]]]]

特别感兴趣的可能是最后一个参数, . 如果您将其设置为“2”,那么您的
将使用 SNMP 版本 2 请求查询设备。 这允许您轮询 64 位
设备中的流量计数器,因此在使用快速接口时会更好地工作(没有
更多计数器溢出)。 请注意,路由器上指定的顺序
命令行很重要,因为在生成配置文件时使用相同的顺序。
第一个指定的路由器首先生成它的配置行,然后是
属于下一个路由器的线路等等。

请注意,生成的 cfg 文件的第一行将包含所有命令行
用于生成它的选项。 这是为了便于“再生”,以防万一
您想添加新主机或进行其他一些全局更改。

配置
除了 - 输出- 全球的 选项,所有选项只影响路由器
在命令行上跟随他们。 如果之前在命令行中指定了一个选项
稍后以另一个值重新出现在命令行上,新值会覆盖旧值
就其余路由器而言的价值。 这种方式可以为以下选项量身定制
路由器组或单个路由器。

我们 - 输出- 全球的 他们的行为如何受到地点或次数的影响
它们出现在命令行上。

查看 国际私人包机价格项目范例 下面介绍如何为多个路由器设置不同的选项。

- 帮帮我
打印简短的帮助消息并退出。

- 男人
打印手册页并退出。

- 版
打印 cfgmaker 的版本。 这应该与配置的 MRTG 版本相匹配
正在创建文件。

--ifref nr|ip|ETH|描述|姓名
选择接口识别方法。 默认是 nr 它标识路由器
接口编号。 不幸的是,SNMP 中的接口编号方案
树可以改变。 添加新接口时,某些路由器会更改其编号,
其他人在每个满月时都会更改编号,只是为了好玩。

为了解决这个可悲的问题,MRTG 可以通过 4 个其他属性来识别接口。
这些都不适用于所有接口,但您应该能够找到一个
对你很好。 请注意,特别是以太网地址可能会出现问题,因为某些
路由器在其大多数接口卡上具有相同的以太网地址。

选择 ip 以通过其 IP 号识别接口。 用 ETH 使用以太网
身份证明地址。 用 描述 使用接口描述。 或使用 姓名
使用接口名称。

如果愿意,您可以指定多个属性,用逗号分隔。 在这种情况下,
cfgmaker 将使用列表中可以提供唯一标识的第一项。
这允许您指定,例如,使用 IP 地址和使用 ifName,如果
没有定义:
--ifref ip,名称

如果您选择的方法不允许在设备上使用唯一的接口标识,您
正在查询, 配置工具 会告诉你的。

--ifdesc nr|ip|ETH|描述|姓名|类型|别号
选择要用作界面描述的内容。 说明出现在
目标的“Title[]”属性以及 HTML 代码中的文本标题
在目标的“PageTop[]”中定义。 默认是使用 nr 这只是界面
数字并不总是对图表查看者有用。

还有 6 个其他属性可以使用。 用 ip 如果你想使用
接口的 IP 地址。 用 ETH 如果要使用接口的以太网地址。
如果你想要一个更好的描述,你可以使用 描述, 姓名 or 别号。 究竟
这些在不同设备之间的作用各不相同,因此您可能需要
实验。 例如,对于运行 IOS 的 Cisco 路由器上的串行接口,使用
姓名 可能会导致“S0”成为接口描述, 描述 可能会导致
“Serial0”和 别号 可能会导致“链接到总部”(前提是用作
接口在路由器配置中的“描述”)。

最后,如果你想通过它的 Btype(即“ethernetCSMA”,
“propPointtoPoint”等)你可以使用 类型.

如果愿意,您可以指定多个属性,用逗号分隔。 在这种情况下,
cfgmaker 将使用此接口可用的列表中的第一项。
这允许您指定,例如,按顺序使用任何不同的别名
偏好。

--if-过滤器 '过滤表达式'
首先,这是在一些开发中并且是实验性的。

如果您想更好地控制包含哪些接口,请使用此选项
配置。 这 过滤表达式 被评估为一段 Perl 代码并且是
期望返回一个真值。 如果为真,包括接口,如果为假,
排除接口。

有关这些过滤器如何工作的进一步讨论,请参阅“详细信息”部分
过滤器”如下。

--if-模板 模板文件
首先,这是在一些开发中并且是实验性的。

如果您想控制每个目标的线条在
配置文件。 文件内容 模板文件 将被评估为
Perl 程序,它使用输入和输出的某些变量生成行。

有关这些模板如何工作的进一步讨论,请参阅“详细信息”部分
模板”如下。

--主机模板 模板文件
首先,这是在一些开发中并且是实验性的。

如果您想拥有一些与主机本身相关的额外目标(例如 CPU),请使用此选项
利用率、对主机的 ping 响应时间、繁忙调制解调器的数量等。 内容
文件的 模板文件 每个主机将作为 Perl 程序评估一次
使用输入和输出的某些变量生成行。

有关这些模板如何工作的进一步讨论,请参阅“详细信息”部分
模板”如下。

- 社区 社区字符串
使用它在命令行上为以下路由器设置社区
社区字符串. 个别路由器可能会通过使用覆盖此社区字符串
语法 社区@路由器.

--启用-ipv6
此选项启用 IPv6 支持。 它需要适当的 perl 模块; 如果他们
未找到则 IPv6 被禁用(请参阅 ipv6 文档)。

cfgmaker 将根据目标使用 IPv6 或 IPv4。 如果目标是数字
地址,协议取决于地址的类型。 如果目标是主机名,
cfgmaker 将尝试首先将名称解析为 IPv6 地址,然后再解析为 IPv4
地址。

IPv6 数字地址必须在方括号之间指定。

例如:

cfgmaker --enable-ipv6 [2001:760:4::1]:165:::2

如果目标具有相同主机名的 IPv6 地址和 IPv4 地址,
cfgmaker 首先使用 IPv6 查询目标,如果失败则回退到 IPv4。 这个
对于不支持 SNMP over IPv6 的目标很有用。

--使用16位
此选项强制使用 16 位 SNMP 请求 ID。 一些损坏的 SNMP 代理不会
接受 32 位请求 ID。 尽量避免这个选项,投诉到
您的代理供应商。

--snmp-选项 :[端口][:[超时][:[重试][:[退避][:版本]]]]
使用此命令为所有路由器设置默认 SNMP 选项
线。 可以省略单个值以及尾随冒号。 注意
路由器可能会覆盖由指定的单个(或所有)值 --snmp-选项 通过使用
语法

路由器[:[端口][:[超时][:[重试][:[退避][:版本]]]]]]

- 全球的 "布拉: ABC"
使用它向生成的配置文件添加全局选项。 你可以打电话 - 全球的
多次添加多个选项。 该行将出现在配置中
在下一个路由器的配置出现在命令行之前。

--global "workdir: /home/mrtg"

如果您想要一些默认选项,您可能想要放置

--global“选项[_]:growright,bits”

指定 - 全球的 在命令行上的最后一个路由器之后将在
将出现在所有路由器之后的配置文件。

--norreversedns
不要尝试反向查找 IP 号码……这是无 DNS 环境的必要条件。

--不停机
通常 cfgmaker 不会包含标记为任何但不包含任何内容的接口
管理和操作上 UP。 有了这个开关,你就可以得到所有这些。

--显示操作向下
包括操作性关闭的接口。

--零速 速度
将此速度(以每秒位数为单位)分配给所有为 ifSpeed 返回 0 的接口,并且
如果高速。 一些开关,特别是 Foundry 设备,返回零速度
一些接口。 例如,要将所有报告零的接口设置为 100Mbps,
使用 --zero-speed=100000000。

--子目录 格式
为每个路由器提供自己的 HTML 和图形(或 .rrd)文件的子目录。 这
目录名称是给定的 格式 带有几个模式替换的字符串。 这
字符串“HOSTNAME”将被路由器的主机名替换(但是你
配置工具 命令行——它可能是一个实际的主机名或只是一个 IP
地址),并且“SNMPNAME”将被替换为设备自己的名称(
出现在“标题”行右侧的相同名称)。 例如,一个电话
喜欢:

cfgmaker --subdirs=HOSTNAME__SNMPNAME [电子邮件保护]

将导致生成如下所示的行:

Directory[10.10.0.18_1]: 10.10.0.18__fp2200-bothrip-1.3

- 输出 文件
写出输出 配置工具 进入文件 文件. 默认是使用“STDOUT”。
- 输出 预计在命令行上只出现一次。 如果多次使用,
最后指定的文件 - 输出 将被使用。

--无接口
不要为接口生成配置行。

这使得 cfgmaker 跳过与接口相关的所有步骤,这意味着它不会做
路由器的任何轮询以检索接口信息,从而加快
执行 cfgmaker 并且它不会运行任何界面模板。

--接口
这使得 cfgmaker 为接口生成配置行(默认
行为)。

此选项的主要用途是取消之前出现在
命令行。

SNMP V3 附加选项
配置器 支持 SNMP V3 使用 网络:SNMP perl 模块。 有可选参数
影响 SNMP 操作。

--enablesnmpv3 {是|否}
--启用snmpv3 option 是一个可选标志,用于检查是否存在
网络::SNMP 库。 配置器 将尝试确定是否需要此标志并且
将自动设置值。

SNMPv3 参数

SNMP 上下文是 SNMP 实体可访问的管理信息的集合。 一个
一项管理信息可能存在于多个上下文和一个 SNMP 实体中
可能可以访问许多上下文。 一个 contextEngineID 和一个的组合
contextName 明确标识管理域内的上下文。 在一个
SNMPv3 消息、contextEngineID 和 contextName 作为 scopedPDU 的一部分。
生成 SNMP 消息的所有方法都可以选择采用 --上下文引擎ID
--上下文名称 参数来配置这些字段。

上下文引擎 ID
--上下文引擎ID 参数需要一个表示所需的十六进制字符串
上下文引擎ID。 该字符串的长度必须为 10 到 64 个字符(5 到 32 个八位字节)并且可以
以可选的“0x”为前缀。 一旦 --上下文引擎ID 指定它停留
直到它再次更改或通过传入
未定义的值。 默认情况下,contextEngineID 设置为匹配
权威SNMP引擎的authoritativeEngineID。

上下文名称
contextName 作为字符串传递,该字符串的长度必须为 0 到 32 个八位字节,使用
--上下文名称 争论。 contextName 与对象保持一致,直到它被更改。
contextName 默认为空字符串,表示“默认”上下文。

基于用户 安保行业 型号 参数

SNMPv3 使用的基于用户的安全模型 (USM) 要求 securityName 为
指定使用 - 用户名 争论。 使用 Net::SNMP 对象创建
如果设置为 SNMPv3 的版本将失败 - 用户名 参数不存在。 这 - 用户名
参数需要长度为 1 到 32 个八位字节的字符串。

基于用户的安全模型允许不同级别的安全
身份验证和隐私问题。 SNMPv3 目标将派生安全级别
(securityLevel) 基于指定了以下哪个参数。

默认情况下,假定安全级别为“noAuthNoPriv”。 如果 - 授权键 or
--授权密码 参数被指定,securityLevel 变为 'authNoPriv'。 这
--授权密码 参数需要一个长度至少为 1 个八位字节的字符串。 可选,
- 授权键 可以使用参数,这样就不必使用纯文本密码
在脚本中指定。 这 - 授权键 参数需要由生成的十六进制字符串
使用特定目的地的 authoritativeEngineID 本地化密码
设备。 Net::SNMP 发行版中包含的“snmpkey”实用程序可用于
创建十六进制字符串(请参阅 snmpkey)。

SNMPv3 定义了两种不同的哈希算法,可供安全部门使用
用于身份验证的模型。 这些算法是 HMAC-MD5-96 "MD5" (RFC 1321) 和
HMAC-SHA-96“SHA-1”(NIST FIPS PUB 180-1)。 模块使用的默认算法是
HMAC-MD5-96。 可以通过使用 --auth 协议 争论。 这个
参数期望传递字符串 'md5' 或 'sha' 以修改哈希
算法。

通过指定参数 --私钥 or --隐私密码 关联的安全级别
对象变成'authPriv'。 根据 SNMPv3,隐私需要使用
验证。 因此,如果存在这两个参数中的任何一个并且 - 授权键
or --授权密码 缺少参数,对象的创建失败。 这 --私钥
--隐私密码 参数期望与 - 授权键--授权密码
分别论据。

RFC 3414 中描述的基于用户的安全模型定义了单个加密协议
用于隐私。 此协议 CBC-DES "DES" (NIST FIPS PUB 46-1) 由
默认或如果字符串 'des' 传递给 --priv协议 争论。 通过与
扩展安全选项联盟 http://www.snmp.com/eso/, 模块也
支持已在规范草案中定义的附加协议。 草案
http://www.snmp.com/eso/draft-reeder-snmpv3-usm-3desede-00.txt 定义支持
基于用户的安全模型中的 CBC-3DES-EDE“三重 DES”(NIST FIPS 46-3)。 这个
可以使用协议选择 --priv协议 带有字符串 '3desede' 的参数。 这
草案 http://www.snmp.com/eso/draft-blumenthal-aes-usm-04.txt 描述了使用
USM 中的 CFB128-AES-128/192/256 "AES" (NIST FIPS PUB 197)。 三种AES加密
可以通过传递“aescfb128”来选择由密钥大小区分的协议,
'aescfb192' 或 'aescfb256' 到 -私有协议 论据。

更多信息 on 筛选
过滤器的目的是决定接受哪些接口以及接受哪些接口
拒绝。 通过将过滤器表达式评估为
一段 Perl 代码并调查评估结果。 如果为真,则接受
接口否则拒绝它。

使用过滤器时,请记住 Perl 对什么是真什么是假有自己的想法
是。 空字符串“”和字符串“0”为假,所有其他字符串为真。 这个
进一步意味着 0 的任何整数值以及任何 undef 值都是假的。 它也是
意味着所有引用都被认为是真实的。

由于过滤器被评估为 Perl 表达式,因此 Perl 中的几个有用结构是
值得一提:

表达式可以使用括号“()”进行分组。 表达式可以组合
使用布尔运算符,例如:

"“(相当于“&&")
两个表达式的布尔“与”,仅当两个表达式都为真时才为真。
示例: 表达式1 表达式2

"or“(相当于“||")
两个表达式的布尔值“或”,如果其中一个或两个表达式为真,则为真。
示例: 表达式1 or 表达式2

"不能“(相当于“!")
单个表达式的布尔否定。 例子: 不能 表达 . 完后还有
例: !表达

(关于这方面的更多细节,我推荐一本关于 Perl 的书)

预定义 筛选器 变量

为方便起见,过滤器中有许多可用的预定义值。
请注意,这些变量在评估模板接口时也可用(但
不是主机模板)。

警告:所有这些变量的名称都以美元符号 ($) 开头,这是一种语法
Perl 中对标量变量的要求。 这里的危险是美元符号在许多
shells 是一个活动字符(通常用于 shell 变量,就像在 Perl 中一样
变量),因此确保 Perl 表达式不被
命令行 shell 作为 shell 代码,然后作为命令行传递给 cfgmaker
论据。 在像 Bourne shell、ksh shell 或 bash shell 这样的 shell 中,将整个
单个 qoutes 中的表达式将避免这种意外评估:

'--if-filter=($default_iftype && $if_admin)'

$if_type
这是一个整数,根据 SNMP 标准指定接口类型,并作为
由轮询设备报告。 接口类型的完整列表将是
本文档不切实际,但下面有一些预定义的变量。
通常,cfgmaker 将目标的 PageTop 这个 iftype 值放在括号内
在接口类型的名称之后。 (例如“propPointToPointSerial (22)”)。

以下是按编号列出的一些最常见的接口类型:

6 以太网Csmacd
7 ISO88023Csmacd
9 iso88025令牌环
15 外国直接投资
19 E1
20个基本ISDN
21个主要ISDN
22 属性点对点串行
23 ppp
24 软件回送
30 DS3
32帧中继
33 rs232
ATM 37
第39话
44帧中继服务
46 高速
第49话
53 道具虚拟
62 快速以太网 (100BaseT)
63 ISDN & X.25
69 全双工快速以太网 (100BaseFX)
94 非对称数字用户环路 (ADSL)
117千兆以太网
134 ATM子接口

$默认值
当且仅当 cfgmaker 通常应该接受基于
接口管理和操作状态(取标志 --不停机
--显示操作向下 考虑在内)和它的类型(以及其他一些东西)。

$default_ifstate
当且仅当 cfgmaker 接受基于它的接口时为真
操作和管理状态(还考虑到
标志 --不停机--显示操作向下).

$default_iftype
当且仅当 cfgmaker 接受基于其类型的接口(和
此外还有一些特定于类型的细节)。

$if_admin
当且仅当接口处于管理状态时为真。

$if_oper
当且仅当接口处于可操作状态时为真。

还预定义了许多变量以轻松确定接口是否属于
某些类别与否。 下面是所有这些变量与 if_type 一起列出
每个变量都为真的数字。 注意一些变量引用了其他变量
以及。

$if_is_以太网
适用于以太网接口(nr 6、7、26、62、69 和 117)。

$if_is_isdn
适用于各种 ISDN 接口类型(nr 20、21、63、75、76 和 77)

$if_is_dialup
适用于拨号接口,如 PPP 和 ISDN。 (nr 23, 81, 82 和 108 in
除了数量 $if_is_isdn).

$if_is_atm
对于杂项 ATM 相关接口类型(nr 37、49、107、105、106、114 和
134)。

$if_is_wan
适用于 WAN 接口点对点、帧中继和高速串行 (
22,32,44,46)

$if_is_lan
适用于 LAN 接口(8、9、11、15、26、55、59、60 和 115 以及
的数量 $if_is_以太网).

$if_is_dsl
适用于 ADSL、RDSL、HDSL 和 SDSL(nr 94、95、96、97)

$if_is_loopback
适用于软件环回接口 (nr 24)

$if_is_ciscovlan
对于 Cisco VLAN 接口(在其接口中带有 Vlan 或 VLAN 一词的接口)为真
如果描述)

$if_vlan_id
返回与 Cisco Catalyst 交换机上的特定端口关联的 vlan id
Catalyst OS 和 IOS 以及 3Com 交换机。 如果不是vlan接口,会
返回 undef。

$if_cisco_trunk
返回 Cisco Catalyst 交换机上特定端口的中继状态
催化剂操作系统和IOS。 如果接口是中继,则返回“1”,否则返回 undef。

$if_MTU
返回与特定端口关联的最大传输单位。

除此之外,您还可以使用为下面的模板定义的变量。 此外,所有
cfgmaker 中可用的变量由脚本处理,即使使用此类
不鼓励使用功能。 更多变量和函数形式的“快捷方式”将被
而是在未来提供。

国际私人包机价格项目范例 on 筛选

以下过滤器不会影响包含或排除哪些接口,它会
使 cfgmaker 表现正常。

'--if-filter=$default'

以下过滤器将使 cfgmaker 排除 PPP (23) 接口:

'--if-filter=$default && $if_type!=23'

以下过滤器将使 cfgmaker 表现得像往常一样,只是它会考虑
接口的操作状态无关但仍拒绝所有接口
行政上下来。

'--if-filter=$if_admin && $default_iftype'

更多信息 on 模板
模板文件的内容作为 Perl 程序进行评估。 一个数字或 Perl
变量可供程序读取,其他变量用于写入。

由于相当多的预定义变量具有应该用于的值
其中一些 HTML 代码具有“HTML 转义”变体,例如 $html_syslocation 是 HTML
$syslocation 的转义变体。 HTML 转义意味着字符“<”、“>”和“&”
替换为“<”、“>”和“&”,并且嵌入在字符串中的换行符是
以“开头" 并附加一个空格字符(如果换行符在
字符串它没有被触及)。

可写的 模板 变量

这些是可用于存储配置行的变量。其中一些是
在评估模板之前初始化,但这些内容通常是评论
包含在最终配置文件中,以便这些变量可能被重置为
模板代码中的空字符串以消除注释。 反过来也是
可能,这些变量的内容可能会扩展为更多信息
各种原因,如调试等。

评估模板后,会发生以下情况:如果模板是
接口模板和实际接口由于某种原因被拒绝,因此需要
被注释掉,变量中的所有行 $目标行 被变成评论
在它们的开头添加一个井号(“#”)。 然后所有的变量 $head_lines,
$问题线 , $目标行$separator_lines 连接在一起形成
行添加到配置文件中。

$目标行
此变量是模板创建的配置行的占位符。
$目标行 在评估模板代码时预定义为空。

$head_lines
此变量旨在成为刚刚出现的注释行的占位符
在配置文件中的目标之前。 它是用该注释行初始化的
在评估模板代码之前,如果模板没有修改
$head_lines 在评估期间,注释在配置文件中看起来像往常一样。

$问题线
此变量旨在作为描述任何注释行的占位符
尝试将目标添加到
配置。 对于主机模板,它通常不使用,而对于那些它
预定义为空字符串。 对于界面模板 $问题线 是预定义的
带有 cfgmaker 通常用于被拒绝的错误描述注释
接口或作为接受接口的空字符串。

可以进行测试 $问题线 找出一个接口是否会
包括或拒绝,但不建议这样做。 测试 $if_ok 代替。

$separator_lines
此变量是字符串的占位符,用作字符串之间的分隔符
单个目标的代码。 这个变量的内容放在每个目标之后
(所以这些行也会出现在配置中最后一个目标的结尾之后)。

预定义 模板 变量

下面的所有变量都可用于界面模板使用。 对于主机模板,
只有在“主机和系统变量”下列出的那些是可用的。

对于界面模板,“预定义过滤器变量”下列出的变量也是
可用。

主办方 系统 变量

$路由器名称
这是路由器的完全限定名称。 受以下因素影响
命令行上的项目:路由器名称本身和 --dns-域.

$router_connect
这是被轮询的路由器的参考字符串。 它在表格上
community@router 可能后跟一些 snmp 选项。 它受
命令行上的以下项目:路由器名称本身, - 社区,
--snmp-选项--dns-域. (没有可用的 HTML 转义变体)

$目录名
此变量应包含目录名称,因为 cfgmaker 通常用作
“目录[]”指令的值。 该值由 --子目录
命令行选项。 如果 --子目录 未指定 $目录名 将是空的
细绳。 (没有可用的 HTML 转义变体)

$系统联系人
此变量是路由器的 SNMP sysContact 值。 (HTML 转义变体:
$html_syscontact)

$ sysname
此变量是路由器的 SNMP sysName 值。 (没有可用的 HTML 转义变体)

$系统位置
此变量是路由器的 SNMP sysLocation 值。 (HTML 转义变体:
$html_syslocation)

$系统描述符
此变量是路由器的 SNMP sysDescr 值。 它通常不被使用
cfgmaker 但可能在模板中很有用。 (HTML 转义变体: $html_sysdescr)

接口 目标 相关 变量

$目标名称
这是 cfgmaker 通常用作目标名称的名称。 目标
name 是在方括号“[]”中找到的内容,用于目标指令。
(没有可用的 HTML 转义变体)

$if_ref
这是接口的引用字符串。 预计将用于
“Target[xyz]”指令来区分使用什么接口。 这的价值
变量受 --ifref 命令行选项。 它通常一起使用
$router_connect. (没有可用的 HTML 转义变体)

$if_ok
如果接口将包含在配置中,则此变量为真
文件,否则为假。 不要针对其他变量进行测试,例如 $问题线
找出接口是否会被拒绝,使用这个 $if_ok 代替。

$default_target_lines
此变量包含 cfgmaker 默认为此输出的所有目标行
界面。 如果您想拥有“标准目标”但想添加一些
使用模板添加额外的行。

默认情况下,cfgmaker 对其生成的每个目标使用以下指令:Target[]、
SetEnv[], MaxBytes[], Title[], PageTop[] 如果有指定的目录
Directory[] 指令。

为了便于创建生成类似目标配置的模板
对于默认的,上面提到的每一个指令行都有一个对应的
默认情况下,包含作为 cfgmaker 行的变量将输出它。

请注意,这些都没有 HTML 转义变体,其中的文本是 HTML 转义的,其中
需要。 另请注意,它们最后没有任何换行符。

$default_target_directive
此变量包含 Target[] 指令行的默认字符串。

$default_setenv_directive
此变量包含 SetEnv[] 指令行的默认字符串。

$default_directory_directive
此变量包含 Directory[] 指令行的默认字符串,其中
意味着如果没有目录,它是一个空字符串(没有换行符)。

$default_maxbytes_directive
此变量包含 MaxBytes[] 指令行的默认字符串。

$default_title_directive
此变量包含 Title[] 指令行的默认字符串。

$default_pagetop_directive
此变量包含 PageTop[] 指令行的默认字符串。

接口 商业网络 配置 变量

$if_ip
此变量应包含接口的 IP 地址(如果已分配)
到它。 (没有可用的 HTML 转义变体)

$ifindex
此变量是接口的 SNMP ifIndex,每个定义始终是一个
整数。 (没有可用的 HTML 转义变体)

$if_index
相当于 $ifindex.

$if_eth
包含接口的以太网地址(如果有)。 (没有转义的 HTML
可用变体)

$if_speed
此变量是以字节/秒为单位的速度(带前缀)。 (没有转义的 HTML
可用变体)

$if_speed_str
这个变量是一个成熟的速度描述,它以位或字节为单位,具体取决于
无论位选项是否处于活动状态,并且还具有适当的前缀
速度(k、M、G 等)。 (没有可用的 HTML 转义变体)

$if_type_desc
该变量是接口类型的文本描述。 (HTML 转义变体:
$html_if_type_desc)

$if_type_num
这个变量是对应于接口类型的整数值(对于一个列表
更常见的接口类型的值,请参阅过滤器的详细信息部分
以上)。 (没有可用的 HTML 转义变体)

$if_dns_name
这是接口的 DNS 名称。 (没有可用的 HTML 转义变体)

接口 名, 产品描述 别名 变量

两者似乎都令人困惑 名字, 产品描述别名 在这种情况下和一些
程度。 名字产品描述 大多数设备通常都支持,但它们如何
使用不同,无论是在制造商之间还是在不同的类别之间
来自同一制造商的设备。 这 别名 Cisco IOS 至少支持,并且
该变量包含在 IOS 语句中使用的任何内容,称为“描述”,用于
接口(不要与 SNMP 变量混淆 产品描述).

为了更好地从命令行进行控制,请考虑 $if_title_desc 哪些内容是
由...控制 --if 描述 命令行选项。

$if_snmp_descr
此变量应包含由确定的接口的“原始”描述
路由器的 SNMP 轮询。 (HTML 转义变体: $html_if_snmp_descr)

$if_snmp_名称
由 SNMP 轮询提供的接口的“原始”名称。 (HTML 转义变体:
$html_if_snmp_name)

$if_snmp_别名
由 SNMP 轮询提供的接口的“原始”ifAlias。 (HTML 转义
变体: $html_if_snmp_别名)

$if_cisco_descr
由 SNMP 轮询提供的接口的“原始”CiscolocIfDescr。 (HTML
转义变体: $html_if_cisco_descr)

$if_描述
这是接口的“熟”描述字符串,考虑到
为接口的 RDescr、ifAlias 和 CiscolocIfDescr 找到的 SNMP 值。 (HTML
转义变体: $html_if_描述)

$if_标题
默认情况下,完整的字符串 cfgmaker 将用于 Title[] 指令中的
配置以及 PageTop[] 中最顶层 H1 标签的内容。 是
由内容组成 $描述前缀, $if_title_desc$ sysname.

As $if_标题 依赖于取决于 $if_title_desc,可以间接控制 $if_标题
通过使用命令行选项 --if 描述.

(HTML 转义变体: $html_if_title)

$if_端口名称
如果主机是 Cisco Catalyst LAN 交换机,则此变量是该端口的名称。
(没有可用的 HTML 转义变体)

$if_pp_端口名称
如果主机是 Nortel Passport LAN 交换机,则此变量是该端口的名称。
(没有可用的 HTML 转义变体)

$描述前缀
此变量是目标将在目标中使用的描述的前缀
“Title[]”指令和“PageTop[]”的 H1 部分。 默认为“交通
分析“.”(HTML 转义变体: $html_desc_prefix)

$if_title_desc
这是 cfgmaker 通常使用的接口的描述,作为
变量 $if_标题. 后者在“Title[]”目录中用作完整字符串
和 PageTop[] 中的 H1 部分。

$if_title_desc 由命令行选项控制 --if 描述 间接地
控制内容 $if_标题

(HTML 转义变体: $html_if_title_desc)

政策和帮助 主要工作内容 模板

存在以下函数以方便编写主机和接口模板。

html_转义(绳子)
html_转义() 接受一个字符串作为参数并返回一个新字符串,其中
已完成以下替换:字符“<”、“>”和“&”被替换为
"<", ">" 和 "&" 以及嵌入在字符串中的换行符以
” " 并附加一个空格字符(字符串末尾的换行符不是
摸过)。

oid_pick($router_connect,$v3opt,"oid1","oid2"...)
此函数将尝试轮询指定的每个 oid,直到成功或
oids 用完了。 它将返回第一个工作的 oid 或 undef 的名称,如果
它不成功

例如: 模板

模板示例 1:消除被拒绝目标的出现

此模板文件为每个接口生成与 cfgmaker 完全相同的配置代码
默认情况下这样做,除了它消除所有行(评论以及
配置代码)用于接口,如果接口碰巧被拒绝。

如果(不是 $problem_lines)
{
$target_lines .= <

目标[$target_name]: $if_ref:$router_connect
SetEnv[$target_name]: MRTG_INT_IP="$if_ip" MRTG_INT_DESCR="$if_snmp_descr"
ECHO

如果($directory_name){
$target_lines .= "目录[$target_name]: $directory_name\n";
}

$target_lines .= <
MaxBytes[$target_name]:$if_speed
标题[$target_name]: $html_desc_prefix$html_if_title_desc -- $sysname
页面顶部[$target_name]: $html_desc_prefix$html_if_title_desc -- $sysname



系统:
$html_syslocation 中的 $sysname


维护者:
$html_syscontact


描述:
$html_if_description


如果类型:
$html_if_type_desc ($if_type_num)


如果名称:
$html_if_snmp_name

ECHO

$target_lines .= <

端口名称:
$if_port_name

ECHO

$target_lines .= <

端口名称:
$if_pp_port_name

ECHO

$target_lines .= <

最大速度:
$if_speed_str

ECHO

$target_lines .= <

叶:
$if_ip ($if_dns_name)

ECHO

$target_lines .= <


ECHO
} {
$head_lines="";
$problem_lines="";
$target_lines="";
$separator_lines="";
}

模板 例如: 2: 更简单 版本 of 例如: 1

示例 1 部分是为了演示如何自定义界面的生成
目标,但也提供了如何在“默认”模板中使用变量的提示
可以考虑 cfgmaker 通常使用哪个。

如果您只对完全消除那些拒绝的最简单方法感兴趣
接口,下面的模板也可以通过使用 $default_target_lines.

如果($if_ok){
$target_lines = $default_target_lines;
} {
$head_lines="";
$problem_lines="";
$target_lines="";
$separator_lines="";
}

模板 例如: 3: 创造 中央处理器 目标 主机

以下是主机模板的示例。

$head_lines .= <
#------------------------------------------------- --------------------
ECHO

我的 $target_name = $router_name 。 “。中央处理器”;

$target_lines .= <

YLegend[$target_name]:CPU 负载百分比
短图例[$target_name]:%
Legend1[$target_name]:CPU 负载百分比
图例2[$target_name]:
Legend3[$target_name]:最大观察到的 CPU 负载
图例4[$target_name]:
LegendI[$target_name]:CPU 负载:
图例O[$target_name]:
WithPeak[$target_name]:ywm
MaxBytes[$target_name]:100
选项[$target_name]:growright、gauge、nopercent
标题[$target_name]:$router_name CPU 负载
目标[$target_name]: 1.3.6.1.4.1.9.2.1.58.0&1.3.6.1.4.1.9.2.1.58.0:$router_connect
页面顶部[$target_name]: $router_name CPU 负载



系统:
$html_syslocation 中的 $router_name


维护者:
$html_syscontact


描述:
$html_sysdescr


资源:
中央处理器。



ECHO

示例


第一个示例为 路由器.place.xyz: 路由器有
社区名字 国家. 接口由它们的 IP 号识别。 两个全局选项
添加到配置文件中。 配置文件被重定向到 配置文件. 这 '\'
行尾的符号表示该命令应写在一行上。

cfgmaker --global "WorkDir: /home/tobi" \
--global“选项[_]:growright,bits”\
--ifref=IP\
[电子邮件保护] > mrtg.cfg

注意:如果 cfgmaker 不在您的路径中,但您在 cfgmaker 所在的目录中
存储,您可以使用 ./cfgmaker 启动它

下一个示例为四个设备创建一个配置文件: 路由器1.地点.xyz,
路由器2.地点.xyz, switch1.地点.xyzswitch2.地点.xyz 都与社区 国家.

这两个路由器将有 --ifref 设置 描述 而两个开关将使用 --ifref
设置 姓名. 此外,路由器将使用 --ifdesc 设置 别号switch1.地点.xyz
将使用 --ifdesc 设置 描述switch2.地点.xyz 使用 姓名 代替。

最后,配置中会插入两行选项:一个将在
开始,而另一个将插入与两个路由器相关的行之后
但在与开关相关的那些行之前。

cfgmaker --global "WorkDir: /home/tobi" \
--global“选项[_]:growright,bits”\
--ifref=描述\
--ifdesc=别名 \
[电子邮件保护] \
[电子邮件保护] \
--global“选项[_]:growright”\
--ifref=名称 \
--ifdesc=描述\
[电子邮件保护] \
--ifdesc=名称 \
[电子邮件保护] > mrtg.cfg

下一个示例演示如何使用 - 社区, --snmp-选项--dns-域
使命令行更简单。 所有设备将使用社区 , 除
对于使用社区的 ppp-server ACCESS. 所有设备都使用这些 SNMP 选项: 1s
超时, 1 重试SNMP 版本 2 (退避端口 未指定,这意味着他们使用
默认值)。 再次例外的是 ppp-server 使用 SNMP 版本 1.
最后,所有的设备都是域的一部分 地点.xyz, 除了 ppp-server
这是域的一部分 远程.place.xyz. 请注意,后者只是通过
指定 ppp-server 的名称 ppp-服务器。远程 .

cfgmaker --global "WorkDir: /home/tobi" \
--global“选项[_]:growright,bits”\
--dns 域=place.xyz \
--community=隐藏 \
--snmp-options=::1:1::2 \
路由器1\
路由器2\
路由器3\
路由器4\
路由器5\
开关1\
开关2\
开关3\
开关4\
开关5\
开关6\
开关7\
[电子邮件保护]:::::1 > mrtg.cfg

使用 onworks.net 服务在线使用 cfgmaker


免费服务器和工作站

下载 Windows 和 Linux 应用程序

Linux 命令

Ad