在Cacti中从Perl脚本和图形创建和更新RRD
我是Perl的新手,对RRD来说是新手,我有一个运行一些webservice测试的Perl脚本,还可以从垃圾收集日志中检索行.该脚本也执行其他任务,但我只需要有一个与这两个相关的图表.
这段脚本读取结果报告.html,从表中提取一些时间值并将它们存储在变量中. my $html = "./report/archive/results-$now/web_results.html"; my @headers = qw( Page Initial Resource STB UI ); my $te = HTML::TableExtract->new(headers => @headers); $te->parse_file($html); my ($table) = $te->tables; for my $row ($te->rows) { my $pageDisplay = "@$row[0]"; $pageDisplay =~ s/D//g; my $initialLoad = "@$row[1]"; $initialLoad =~ s/D//g; my $resourceAudit = "@$row[2]"; $resourceAudit =~ s/D//g; my $uiRefresh = "@$row[3]"; $uiRefresh =~ s/D//g; my $stbRefresh = "@$row[4]"; $stbRefresh =~ s/D//g; } 我想使用RRDTool::OO或RRD::Simple将这些变量存储在RRD中,并在脚本的每个循环之后更新它们. 我还想对另一个循环遍历一些垃圾收集日志行的脚本执行相同操作,并为每个日志行返回运行时. open LOG,"<","./report/archive/logs-$now/garbage.collection.txt" or die "Unable to read file: $!"; while (my $line = <LOG>) { my ($time) = $line =~ m/breal=([0-9.]+)/; } close LOG; 我相信RRDTool::OO有一个可以使用我的变量调用的更新函数,但我的主要问题是创建RRD,以便可以使用它们进行更新.我不确定我是否需要多个RRD,哪个步骤值最好,数据源等等. 如果我可以成功创建/更新RRD或RRD,我很确定我可以按照Cacti’s Externally Updated RRDs doc将它们加载到仙人掌上进行绘图.虽然有人可能有更好的方法.任何帮助表示赞赏! 编辑 我在剧本的第二部分尝试了以下内容…… #RRDTool::OO my $rrd = RRDTool::OO->new( file => "gcRuntimes.rrd" ); $rrd->create( step => 1,data_source => { name => "GC",type => "GAUGE" },archive => { rows => 50 }); ... open LOG,"./report/archive/logs-$now/garbage.collection.txt" or die "Unable to read file: $!"; while (my $line = <LOG>) { my ($time) = $line =~ m/breal=([0-9.]+)/; $rrd->update($time); } close LOG; ..但失败并出现错误: 使用我的脚本运行strace将在mmap2系统调用中显示此(无效参数). mmap2(NULL,1344,PROT_READ|PROT_WRITE,MAP_SHARED,3,0) = -1 EINVAL (Invalid argument) close(3) 如果我使用RRD :: Simple或RRDTool :: OO对我来说无关紧要,但目前它们都返回相同的错误. 解决方法
根据
this bug report,创建文件的vboxfs文件系统很可能在写入模式下支持mmap系统调用.
您应该在常规Linux文件系统上的其他位置尝试您的代码(ext3,ext4,reiserfs ……) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- leetcode 999. 车的可用捕获量(Available Captures for Roo
- [VB.NET源码]49_绘制线图
- django 解决使用django rest framework时web请求报CSRF Fai
- 电子书下载:Delphi XE 4 for IOS 入门手册英文版
- Oseicq是最好的可2次开发的即时通讯软件Oseicq即时通讯源码
- 用Delphi编写U盘整盘数据清除程序
- 谁可以指导我VB,QQ:674422636
- VB.NET OpenXml 修改制定Worksheet的特定单元格(外加log4ne
- Delphi 与 DirectX 之 DelphiX(1): 安装测试
- 德尔菲算法解决4或5参数物流方程?