GoGPT Best VPN GoSearch

OnWorks 网站图标

mrtglib - 云端在线

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

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

程序:

您的姓名


MRTG_lib.pm - MRTG 和支持脚本库

概要


使用 MRTG_lib;
我的 ($configfile, @target_names, %globalcfg, %targetcfg);
readcfg($configfile, \@target_names, \%globalcfg, \%targetcfg);
我的(@parsed_targets);
cfgcheck(\@target_names, \%globalcfg, \%targetcfg, \@parsed_targets);

商品描述


MRTG_lib 是 MRTG(多路由器流量图表)的一部分。 它从 MRTG 分离到
允许其他程序轻松使用相同的配置文件。 MRTG_lib 的主要部分是
配置文件解析器,但也有其他一些功能。

$MRTG_lib::操作系统
操作系统类型:WIN、UNIX、VMS

$MRTG_lib::SL
削减 在当前的操作系统中。

$MRTG_lib::PS
PATH 变量中的路径分隔符

“读取配置”
"readcfg($file, \@targets, \%globalcfg, \%targetcfg [, $prefix, \%extrules])"

读取配置文件,解析它并填充一些数组和哈希值。 强制性的
参数是:配置文件的名称,对将被填充的数组的引用
带有目标名称列表、全局配置的哈希引用、用于全局配置的哈希引用
目标配置。

配置文件语法为:

全局选项:值
目标选项[目标名称]:值
前缀*extglobal:值
aprefix*exttarget[target2]: 值

例如

工作目录:/var/stat/mrtg
目标[路由器1]:2:[email protected]
14个*列:2

全局配置哈希具有以下结构

$globalcfg{configoption} = '值'

目标配置哈希具有以下结构

$targetcfg{configoption}{targetname} = 'value'

有关 MRTG 配置语法的更多信息,请参阅 mrtg-reference。

“readcfg”可以使用两个额外的参数来扩展配置文件的语法。 这个
允许程序将其配置放入 mrtg 配置文件中。 第五
参数是扩展名的前缀,第六个参数是带有
这些扩展设置的检查规则。 例如,如果前缀是“14all”,“readcfg”将
检查以“14all *”开头的配置行,即所有行

14个*列:2
14all*graphsize[目标3]: 500 200

违反 %extrules 中的规则。 这个哈希的格式是:

$extrules{option} = [sub{$_[0] =~ m/^\d+$/}, sub{"$_[0] 的错误信息"}]

$extrules{option}[0] -> 测试表达式
$extrules{option}[1] -> 测试失败时的错误信息

数组的第一部分是一个 perl 表达式,用于测试选项的值。 这
test 可以访问变量“$arg”中的这个值。 数组的第二部分是
测试失败时显示的错误消息。 失败的值可以通过
使用变量“$arg”。

与“readcfg”调用中给出的前缀不同的配置设置是
未检查但插入 %全局配置%目标配置. 前缀设置保持它们的
配置哈希中的前缀:

$targetcfg{'14all*graphsize'}{'target3'} = '500 200'

“配置检查”
"cfgcheck(\@target_names, \%globalcfg, \%targetcfg, \@parsed_targets)"

检查由“readcfg”读取的配置。 检查配置中的值
句法和/或语义错误。 为某些选项设置默认值。 解析
"target[...]" 选项并填充数组 @parsed_targets 准备好用于 mrtg 函数。

前三个参数与“readcfg”相同。 第四个参数是
arrayref 将填充解析的目标 defs。

“cfgcheck”转换目标设置的值 选项,例如

选项[router1]:位,growright

到一个哈希:

$targetcfg{'option'}{'bits'}{'router1'} = 1
$targetcfg{'option'}{'growright'}{'router1'} = 1

这不是由“readcfg”完成的,所以如果你不使用“cfgcheck”,你必须检查
标量变量 $targetcfg{'option'}{'router1'} (MRTG 允许将选项分开
按空格或',')。

“确保SL”
“确保SL(\$路径名)”

检查是否 路径名 不包含双路径分隔符并以路径结尾
分隔器。 它使用 $MRTG_lib::SL 作为路径分隔符,它将是 / 或 \ 取决于
操作系统。

“log2rrd”
"log2rrd ($router,\%globalcfg,\%targetcfg)"

将日志文件转换为 rrd 格式。 需要 rrdtool。

“日期字符串”
“日期字符串(时间)”

将参数中给出的时间作为格式良好的日期字符串返回。 论据
必须采用 UNIX 时间格式(自 1970-1-1 以来的秒数)。

“时间戳”
“时间戳()”

返回一个表示当前时间的字符串。

“设置日志处理程序”
“setup_loghandlers(文件名)”

为 __DIE__ 和 __WARN__ 安装信号处理程序,使错误达到指定的
目的地。 如果文件名是“eventlog”,mrtg 将记录到 Windows 事件记录器。

“专家”
“expistr(时间)”

返回格式适合 HTTP Expire-Headers 的参数中给出的时间。

“创建_pid”
“create_pid()”

为 mrtg 守护进程创建一个 pid 文件

“妖魔化我”
“妖魔化我()”

将正在运行的程序置于后台,将其与终端分离。

“填充缓存”
"populatecache(\%confcache, $host, $reread, $snmpoptshash)"

读取 SNMP 变量 ifDescr, ipAdEntIf索引, 开始ifPhysAddress, 如果名称 来自 主持人
并将值存储在 %conf缓存 如下:

$confcache{$host}{'Descr'}{ifDescr}{oid} = (ifDescr or 'Dup')
$confcache{$host}{'IP'}{ipAdEntIfIndex}{oid} = (ipAdEntIfIndex 或 'Dup')
$confcache{$host}{'Eth'}{ifPhysAddress}{oid} = (ifPhysAddress or 'Dup')
$confcache{$host}{'Name'}{ifName}{oid} = (ifName or 'Dup')
$confcache{$host}{'Type'}{ifType}{oid} = (ifType or 'Dup')

如果某个值被多次检索,则该值(在 = 的右侧)为“Dup”,
检索到的其他值。

“读取配置缓存”
“我的 $confcache = readconfcache($file)”

从文件预加载 confcache。

“从配置缓存中读取”
"writeconfcache($confcache,$file)"

将当前的 confcache 存储到一个文件中。

“写入配置缓存”
"writeconfcache($confcache,$file)"

将当前的 confcache 存储到一个文件中。

“存储缓存”
"storeincache($confcache,$host,$method,$key,$value)"

“从缓存中读取”
“读取缓存($confcache,$host,$method,$key)”

“清除缓存”
“清除缓存($confcache,$host)”

“调试”
“调试($type,$message)”

打印 消息 如果为类型启用调试,则在 STDERR 上 类型. 调试类型是
启用如果 类型 在数组@main::DEBUG 中。

作者


雷纳·巴维达曼[email protected]>

(本手册页)

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


免费服务器和工作站

下载 Windows 和 Linux 应用程序

Linux 命令

Ad




×
广告
❤️在这里购物、预订或购买——免费,有助于保持服务免费。