分类: 系统运维
2011-09-27 19:15:32
(续)
-------------------------11:27 2009-01-04-------------------------
suppress
默认情况下,mrtg生成四个图像.使用这个选项,你可以禁止生成指定的图像.这个选项的参数和上面两个类似.在下面的例子
中,我们禁止生成"年"的图像因为这个图像在开始的时候基本是空的.
例子:
Suppress[myrouter]: y
--------------------------
Extension:
默认情况下,mrtg生成的文件的后缀是.html.使用这个参数你可以让mrtg来使用不同的后缀.例如,你可以设置后缀为php3,然
后你将能够在输出中包含有PHP标签(这对于从数据库中获取路由器的名字是很有用的).
---------------------
Directory
默认情况下,mrtg把生成的文件(包括Gif,html,还有日志文件等等)都放置在WorkDir中.
如果Directory选项被指定,这些文件将会被放置到WorkDir下的目录中去,也可能是在Log-、Image-或HtmlDir中的目录中去。
例如在下面的例子中,监控的路由器的文件被放置到/usr/tardis/pub/www/stats/mrtg/myrouter/中.)
目录必须是存在的,mrtg不会创建目录.
例子:
WorkDir: /usr/tardis/pub/www/stats/mrtg
Directory[myrouter]: myrouter
注意:这里的路径是相对路径,如果不对,将会出现意想不到的问题.
--------------------------
Clonedirectory
如果Directory选项被设置,这个参数将使得mrtg吧Directory中的所有文件都复制到CloneDirectory中去.
和上面的参数一样,也要求目录是已经存在的,mrtg不会生成目录.
例子:
WorkDir: /usr/tardis/pub/www/stats/mrtg
Directory[myrouter]: myrouter
Clonedirectory[myrouter]: myclonedirectory
注意:这个参数必须是相对路径,否则会出现意外.
------------------------------
XSize and YSize
默认情况下,mrtg图像是100*400像素.在下面的例子中,我们生成了一个几乎正方形的图像.
注意:XSize的值必须在20到600之间,YSize必须大于20.
例子:
XSize[myrouter]: 300
YSize[myrouter]: 300
--------------------------------
XZoom and YZoom
如果你想要图像的像素变大,你可以对它们进行"缩放".
例子:
XZoom[myrouter]: 2.0
YZoom[myrouter]: 2.0
-------------------------------
XScale and YScale
If you want your graphs to be actually scaled use XScale and YScale.注意:如果使用这两个参数,坦率的说,生成的图
像可能会很难看,欢迎大家解决这个bug.
例子:
XScale[myrouter]: 1.5
YScale[myrouter]: 1.5
---------------------------------
YTics and YTicsFactor
如果你想在图像上显示超过4条线,请使用YTics.如果你想对Y轴上的数据进行缩放,使用 YTicsFactor.默认情况下,YTics值为
4,YTicsFactor是1.0。
例子:
架设你处理的值位于0到700之间。你想划7条线,想在Y轴上显示0、1、2、3、4、5、6、7而不是100、200、300、400、500、
600、700。你可以这样写:
YTics[myrouter]: 7
YTicsFactor[myrouter]: 0.01
-------------------
Factor
如果你想让在图像下面的数字都乘以一个常数,是用这个参数定义它。
例子:
Factor[as400]: 4096
-------------------
Step
把默认的间隔5*60s变成其它的什么东西(没有做过很多的测试,慎用...)
例子:
Step[myrouter]: 60
---------------------
PNGTitle
当你使用rateup来生成图像的时候,这个选项会把指定的标题显示在图像上。
例子:
PNGTitle[myrouter]: WAN Link UK-US
-----------------------
Opentions
这个选项关键词允许你设置一些布尔变量:
--------
growright
图像默认情况下从左边生成。这个选项会让图像从右边生成。
-----------
bits
指定所有的被监控变量的值都乘以8(比如显示结果为bits,而不是Bytes)。这也会影响到被监控对象的厂商默认值
(‘factory default’)。
----------
perminute
All the monitored variable values are multiplied by 60 (i.e. shown in units per minute instead of units per
second) in case of small values more accurate graphs are displayed. It also affects the 'factory default'
labeling and units for the given target.
所有监控变量的值都乘以60(即: 用分钟为单位而不是秒),这用在某些显示小的值会更准确图像中。这也会影响到工厂预
置的值和单位。
----------
perhour
All the monitored variable values are multiplied by 3600 (i.e. shown in units per hour instead of units per
second) in case of small values more accurate graphs are displayed. It also affects the 'factory default'
labeling and units for the given target.
所有监控变量的值都乘以3600(即: 用小时为单位而不是分),这用在某些显示小的值会更准确图像中。这也会影响到工厂
预置的值和单位。
-------------
noinfo
禁止在生成的页面中显示运行时间和设备名称。
------------
nopercent
不显示使用百分比。
-------------
transparent
使得生成的gif图像的背景透明。
-----------
integer
使得在图像下方的数据为整数,不使用逗点。
------------
dorelpercent
这个选项在图像中显示流入流量和流出流量的相对百分比。注意:这个百分比的范围是0-100%。因此如果流入流量比流出流
量大,那么会显示100%。如果你不肯定流入流量一定小于流出流量,请不要使用这个参数。注意:如果你还使用了Colours
选项,你需要指定第五对 colour-name、 colour-value。
------------
avgpeak
有的ISP使用平均峰值来让用户交费。这个选项让MRTG在每个图像上显示平均峰值。The value is built by averaging the
max 5 minute traffic average for each 'step' shown in the graph. For the Weekly graph this means that it
builds the average of all 2 hour intervals 5 minute peak values. (Confused? Thought so!我也很晕,没看懂~~~)
-------------
gauge
使用这个选项,mrtg会把收集到的值作为当前状态值,而不是一个不断增加的计数器。这对于监控硬盘空间、cpu负载、温度
等等是很有用的。
如果没有指定‘gauge’或者‘absolute’,MRTG会吧变量当成计数器来对待,根据目前的值,还有先前的值及这两个值之间
的间隔来进行计算。
--------------
absolute
这个选项用来应对这样的数据变量,每当它们被读取后,就会重新置0。这意味着rateup不用对从数据源获取的当前值和上一
个值进行某些处理。但是获取的值还是会除以两次取值的时间间隔,这也是和‘gauge’选项的区别。这对于外部数据的收集
很有用。
----------------
derive
如果你正在使用rrdtool做日志或者绘图,你可以使用第三方数据源. 除了不是全时间运行外,Derive 就象一个计数器. 在
一些值的变化需要被绘制图像的情况下,这个选项是很有用的。
--------------
unknaszero
unknow的数据不再取前一个状态的值,而是当作0来处理。但是请注意,因为在图像中间位置的平线比一个取值0的平线更显
眼。
---------------
withzeroes
正常情况下,当计算平均值的时候,我们忽略取到的0值。如果不想这样,请使用这个选项。
---------------9:56 2009-01-06---------------
noborder
如果你使用的是rateup来记录数据,mrtg将能生成图像。正常情况下,这些图像有一个阴影边框。如果你不想生成边框,启用这个选项。但是如果你没有使用rateup,那么将不会有任何效果。
---------------
noarrow
和上面的选项一样,这个选项也只是影响rateup生成的图像。正常情况下,rateup生成的图像有一个箭头表明数据方向。如果你不想生成箭头,那么可以使用这个选项。
---------------
noi
如果使用rateup来生成图像,你可以使用这个选项来让rateup不生成“I”(in)或者说是第一个变量的图形。这也会移除这个变量在MRTG生成的HTML页面中的相关条目,并且会移除这个变量的peak(峰
值),即使peak被启用了。这个选项允许你隐藏这个数据,当你只是想绘制一个变量的时候会很有用。这个选项没有破坏性,任何被接收的数据都会继续被记录,只不过是不显示。
---------------
noo
和上面的选项一样,只不过是对‘O’(out)或者说第二个变量起作用。
---------------
nobanner
当使用rateup生成图像的时候,这个选项使得MRTG不再吧MRTG的banner添加到HTML页面中去。
---------------
nolegend
当使用rateup生成图像的时候,这个选项将使得mrtg停止在HTML页面底部生成图例说明。
---------------
printrouter
当使用rateup生成图像的时候,这个选项将在它生成的图像上添加路由器的名字。如果设置了PNGTitle,这个选项将会被覆盖。
---------------
pngdate
当使用rateup生成图像的时候,这个选项将在生成的图像上添加时间戳,如果设置了‘timezone’,还会包括时区。
---------------
logscale
这个选项使rateup在Y轴显示数据的时候使用对数。这将使得正常的流量占据垂直范围的大多数区域,然而峰值还会全部显示出来。
logscale将显示所有可用的数据并生成好看的图像。人们通常认为对数形式的图像不直观,并且因此不好看懂。
---------------
expscale
这个选项使得rateup在Y轴上使用指数形式显示数据。这样将会在图像的顶部突出显示小的变化;在图像的顶部如果因为小的数值引起波动的话,这会很有用,比如电压变化。
expscale作用重点和logscale相反。(这样理解的话,logscale重点突出中间区域,expscale重点是曲线顶部。)
---------------
secondmean
The secondmean option sets the maximum value on the graph to the mean of the data greater than the mean of all data(绕嘴,翻不出,也理解不了)。 这个选项重点更多的强调典型数据
,而裁剪峰值数据。
这个选项将会给出更直观的线性数据,但是在极少的情况下可能会生成没有意义的或高或低的曲线(特别是当数据与实际平均值误差较大的时候。)
如果监控目标同时包括logscale和secondmean,secondmean将优先起作用。
例子:
Options[myrouter]: growright, bits
-------------------------------
阀值检查
通过此项功能,mrtg能检测到阀值相关的问题,并能调用外部的脚本来处理这些问题(比如发送邮件或
者一个页面给管理员。)
阀值检查是通过下面的参数进行配置的:
-----------------
ThreshDir(GLOBAL)
使用这个参数来指定一个可写的目录,当阀值被触及的时候,MRTG将发出警告。
例子:
ThreshDir: /var/mrtg/thresh
------------------
ThreshHyst(GLOBAL)
如果threshold 被打破,并且你也定义了threshdir,那么mrtg将发送email,但是我们需要避免一种情
况,就是broken和unbroken状态切换很快,造成接连发送,那么我们在离阀值一定范围内只发送一次
unbroken消息。使用ThreshHyst配置变量你将能够定义这个值。
比如定义为5%:
ThreshHyst: 0.05
--------------------
ThreshMailServer(GLOBAL)
SMTP服务器地址,用于接收阀值broken和unbroken状态变化的邮件。
-------------------
ThreshMailSender(GLOBAL)
阀值邮件中发送者的邮件地址。
例子:
ThreshMailSender:
--------------------
ThreshMailAddress (PER TARGET)
Threshhold相关的邮件地址。这将在mailserver被配置的情况下产生作用。
例子:
ThreshMailAddress[_]:
ThreshMailAddress[router]:
这将使得所有的监控对象在需要的时候发送邮件给指定的地址,但是下面名称为router的监控对象被定
义为不会发送。
---------------------
ThreshMinI(PER TARGET)
这是输入变量可接受的最小值。如果获取的值比这个指定的值小,那么在ThreshProgI中指定的程序就会
运行,并发送一封邮件到ThreshMailAddress(如果被指定了的话),如果这个值被使用%指定,那么指
的是相对于MaxBytes的值。
------------------------
ThreshMaxI(PER TARGET)
同上面的选项类似,但针对的情况是取得的值比ThreshMaxI高。
-----------------------
ThreshDesc(PER TARGET)
在下面设置的程序被调用前,这个选项的值将被赋予环境变量THRESH_DESC。运行的程序可以使用这个变
量来生成更友好的输出。
-----------------------
ThreshProgI (PER TARGET)
这个选项定义当ThreshMinI 或者 ThreshMaxI 被触发时需要运行的程序。MRTG传递了三个变量:
$router变量,触发阀值,当前的参数值。
------------------------
ThreshProgOKI(PER TARGET)
这定义了当参数的值处于OK状态下需要运行的程序(它的状态是相对ThreshMinI和ThreshMaxI而言的)
,但是如果前面的程序运行了,状态就是不OK的了--基于在ThreshDir中发现的文件来说的。MRTG传递3
个变量给它:$router,阀值处于unbroken状态的值,还有当前参数的值.
------------------------
ThreshMinO, ThreshMaxO, ThreshProgO, and ThreshProgOKO
这些选项和上面提到的一系列选项相同,只不过是针对输出变量的.
-------------------------------------------
--------------------10:15 2009-02-03-------------------
SetEnv
当在你的配置文件中调用阀值相关脚本时,你可能需要传递一些数据给脚本。这可以使用SetEnv配置选项来实现。注意引号是强制使用的。这不能用于外部的脚本。它也不能为
每个监控对象设置环境变量。
例子:
Example:
SetEnv[myrouter]: EMAIL=""
HOST=""
-----------------
HW系列阀值检查选项
当你使用基于HW RRAs日志的rrd时。你就能为阀值报警使用内置于FAILURES RRA的 confidence bounds violations 。
前面的所有的threshold选项都有对应的Hold-Winters选项:
ThreshMailAddress -> HWThreshMailAddress
ThreshMinI -> HWThreshMinI
...
用于threshold检查的全局变量都是共享的,除了:
ThreshHyst -> HWThreshHyst
HWThreshDesc设置HWTHRESH_DESC变量。
----------------------------------------------------------
监控对象的默认值
--------------------
前缀和后缀
你可以定义一个监控对象名称为'^'.你为这个监控对象定义的每个关键词也都会为下面的每个监控对象预先自动生成。同样的也可以定义一个名字为'$'的监控对象,不过它的文
字是附加性质的.
注意,在预先添加的文本和关键词的值之间插入了一个空格,对于附加的文本也一样.如果关键词的值是文本,这可以很好的工作,但是对于其他类型的关键词就不是很有用了.请看
下面"default"监控对象的描述.
在这个例子中,此配置文件中定义的每个监控对象,MRTG都会为它们的页面生成相同的头部和联系人信息.
例子:
PageTop[^]:
如果想要移除这些预先添加和附加的值,可以指定一个空值:
PageTop[^]:
PageTop[$]:
--------------------
NoSpaceChar
对于预加和附加的值,正常情况下与本地的值之间会有一个空格.有的时候这是不必要的.你可以使用全局选项NoSpaceChar定义一个字符,当你在定义'^','$'监控对象的时候,在末
尾加上这个字符,就可以不再生成空格.
例子:
NoSpaceChar: ~
Target[^]: 1.3.6.1.4.1.482.50.2.4.20.0&1.3.6.1.4.1.482.50.2.4.21.0:get@~
Target[a]: a.tolna.net
Target[b]: b.tolna.net
Target[c]: c.tolna.net
Target[d]: d.tolna.net
上面定义的特殊字符是" ~ ".
-----------------------
默认值
如果指定的监控对象的名字是"_",那么就为关键词指定了默认值.如果缺少明确指定的关键词值,那么预加和附加的关键词的值就会使用默认值.
例子:
YSize[_]: 150
Options[_]: growright,bits,nopercent
WithPeak[_]: ymw
Suppress[_]: y
MaxBytes[_]: 1250000
移除默认值,返回"程序默认值",定义一个空值即可:
YLegend[_]:
在配置文件中default/prepend/append的值可能会有这样几种情况出现.最新的设置会替代前面的设置,从而影响配置文件中后面的部分.对关键词/监控对象起作用的
default/prepend/append的值,是在监控对象第一次出现时开始起作用的.
例子:
MaxBytes[_]: 1250000
Target[myrouter.somplace.edu.2]: 2:public@myrouter.somplace.edu
MaxBytes[_]: 8000
Title[myrouter.somplace.edu.2]: Traffic Analysis for myrouter.somplace.edu IF 2
上面的例子中对于myrouter.someplace.edu.2这个监控对象来说,MaxBytes的默认值是1250000,从监控对象第一次出现开始起作用.
(上面这些选项我很少用,翻译的可能会有很多问题,请大家结合原手册对照看,谢谢!)
---------------------------------------------------------
命令行选项
--user username and --group groupname
以给定的用户组/用户名运行.(只对Unix起作用)
--lock-file filename
使用一个指定的锁定文件名(默认使用"配置文件名_l").
--confcache-file filename
使用一个指定的配置缓存文件名(默认使用"配置文件名.ok")
--logging filename|eventlog
如果设置了一个可写的文件名,那么所有的mrtg的输出(警告,debug信息,报错)都会写入指定的文件.如果你使用的是win32平台,你可以指定eventlog而不是一个文件名,这样所有
的信息都会写入windows日志.
注意:mrtg没有自己带"message DLL".这将对windows的事件日志产生副作用,日志中的每条相关记录都将提示mrtg没有message dll.如果你去mrtg的下载区,你会发现一个mrtg-
message-dll.zip,日志中提到的message dll就在里面.
--daemon
将mrtg放入后台运行.这和配置文件中的同样选项作用相同,但是这个参数要进行权限设置(因为/var/run只对root可写.)
--fhs
配置所有的mrtg路径符合FHS规定;(参考)
--check
只检查配置文件的错误,不做其它操作.
--pid-file=s
为mrtg作为daemon运行定义pid文件的名字和路径.
--debug=s
启用debug模式的选项.由逗号分隔的debug变量值组成:
cfg - watch the config file reading
dir - directory mangeling
base - basic program flow
tarp - target parser
snpo - snmp polling
coca - confcache operations
fork - forking view
time - some timing info
log - logging of data via rateup or rrdtool
eval - print eval strings before evaluting them
prof - add hires timing info the rrd calls
例子:
--debug="cfg,snpo"
------------------------------------------------------
程序退出返回码
返回码0表示所有的监控对象都处理成功.通常来说,比0大的返回值都意味着不可恢复的问题出现.一个例外是返回码91,它表示至少有一个监控对象处理成功.部分返回码如下:
0: 所有的监控对象处理成功(All targets sucessful)
2: 配置错误--配置文件不能读取,或者致命错误,等等 (Config error --can't read, fatal error in config, etc)
17: 其它的MRTG进程正在处理配置文件--(Another MRTG process is processing config)
91: 至少一个监控对象处理成功--At least one target sucessful
92: 没有监控对象处理成功--No targets were sucessful
--------------------------------------------------------
例子:
----------------------
最小配置文件mrtg.cfg
WorkDir: /usr/tardis/pub/www/stats/mrtg
Target[r1]: 2:public@myrouter.somplace.edu
MaxBytes[r1]: 8000
Title[r1]: Traffic Analysis ISDN
PageTop[r1]:
----------------------
有几个路由器的配置文件
WorkDir: /usr/tardis/pub/www/stats/mrtg
Title[^]: Traffic Analysis for
PageTop[^]:
Title[isdn]: our ISDN Line
PageTop[isdn]: our ISDN Line
Target[isdn]: 2:public@router.somplace.edu
Title[backb]: our Campus Backbone
PageTop[backb]: our Campus Backbone
Target[backb]: 1:public@router.somplace.edu
MaxBytes[backb]: 1250000
# the following line removes the default prepend value
# defined above
Title[^]:
Title[isdn2]: Traffic for the Backup ISDN Line
PageTop[isdn2]: our ISDN Line
Target[isdn2]: 3:public@router.somplace.edu
--------------------------------------------------------------------
作者相关:
Tobias Oetiker <> and many contributors
最后更新: 11/04/08 | Tobias Oetiker | OETIKER+PARTNER AG