我正在使用MRTG + RRDtool通过snmp监视Cisco Catalyst 2950的每个交换机端口上的带宽。 MRTG能够产生一个小时图吗? 使用RRDtool,我可以将间隔设置为1分钟,希望获得更详细的图表,但图表最短的时间范围是“每日”图表(5分钟平均值),图像太小。
我期望得到的是:我希望能够在视觉上监视所有的交换机端口,并实时地告诉端口何时开始有非常高的stream量(snmp轮询间隔1分钟,生成的graphics和页面刷新)。
您可以使用rrdgraph命令行工具使用MRTG生成的rrd文件生成graphics。 你可以检查他的rrd文件,看看它是多长时间来整合数据,如果这样做只有一天之后,那么你将失去你以后的决议。 所以基本上我会在哪里MRTG存储rra模板和rrdgraphics模板。
这可能需要一点时间,但是因为RRD是MRTG,Cacti,Munin等的后端graphics库/工具集,所以值得学习。 我在这里的“ 服务器故障”博客上创build自己的图表时,发表了一些您可能想要做的事情。
希望有一个更熟悉MRTG的人可以给你更多关于你与MRTG有关的具体问题的细节。
修改MRTG以使用RRDtool,方法是添加或更改mrtg.cfg中的LogFormat行,并根据需要定义path。 减less你的间隔1分钟。
LogFormat: rrdtool Interval: 1 PathAdd: /path/to/rrdtool/bin/ LibAdd: /path/to/rrdtool/lib/perl/
改变你的cron作业每分钟运行一次。 (根据需要编辑)
vim /etc/cron.d/mrtg
将您的索引更改为build议的Perl CGI脚本之一。 这将按需生成图像,而不是每次运行cron作业。 我使用了上面链接中引用的One4All脚本 ,它是如何修改的:
在my %graphparams = (插入新graphics'hourly' => ['-10h', 'now', 60],
下面;
# the header lines and tags for the graphics my $pngdir = getdirwriteable($cfg->{config}{imagedir}, $cfg->{targets}{directory}{$log});
为之前定义的新的每小时图添加一个部分。
if ($sup !~ /h/) { print $q->h2("'Hourly' graph (1 Minute Average)"),"\n", $q->img({src => "$url=hourly", alt => "hourly-graph", getpngsize("$pngdir$log-hourly.png")} ), "\n"; }
修改了Apacheconfiguration以执行CGI脚本。 (/etc/httpd/conf.d/mrtg.conf)
在标签之外添加;
AddHandler cgi-script .cgi
在标签内添加;
Options +ExecCGI
重新启动Apache并浏览到新的MRTG索引页面。
如果你使用MRTG / RRD的Routers2前端,那么如果你每隔1分钟收集一次数据,就可以制作一个4小时的图表。 在标准分辨率下,4h是每个数据点1个像素的graphics宽度。 您可以在routers2.conf文件中启用它。
经过一些修改,以下补丁为我工作: http : //www.loplop.net/projects/1minMRTG/