我正在使用 RRDTool 在一个图表中绘制数据图表和预测趋势图(LSL)。
因此我正在调整相应的模板
目前我设定了这样的结束时间:
--end start+7d
当通过网站查看结果图时,我可以在右侧选择不同的时间范围:
自定义时间范围,概述,4小时,25小时,一周,一个月和一年
我想要的是什么:
如果我选择4小时的时间范围,7天的预测是没有意义的。我想根据所选的时间范围计算结束时间。例如,我希望将来显示的时间段与所选时间范围的大小完全相同
基本上我想像这样定义我的结束时间:
--end start+(end-start)
这是不可能的,因为结束时间不能自己定义。
有没有办法在手动定义 end 之前提取所选的时间范围?我可以在PHP模板中计算start+(end-start)
并在定义结束时间时插入它。
每一个帮助表示赞赏。
编辑: 我忘了提及我通过 PNP4Nagios 使用RRDTool。在谈到网站时,我指的是PNP4Nagios标准网络外观。默认情况下,通过软件包安装PNP4Nagios时会出货。
答案 0 :(得分:1)
使用PNP4Nagios,您的自定义模板可用于定义所有图形定义 - 时间窗口除外,它被添加到$ opt []和$ def []中的参数列表中。因此,您无法轻易覆盖时间窗口' end'因为它已被定义为现在'通过PNP4Nagios(并且' start'已根据您在Web界面中选择的时间范围相对于结尾定义)。事实上,RRDTool相当强大,所以如果它看到重新定义了一个开始/结束,那么最后一个这样的定义通常优先......但这并不能解决你的问题。
我认为您尝试做的是1天图表(通常从'结束1天'结束于'现在')来自& #39;现在,1天'到现在+ 1天'这样你的预测线可以填补第二部分。这需要通过编辑PNP4Nagios代码来完成,这有点超出了这个答案的范围。
PNP4Nagios允许在config.php中定义标准时间范围;您还可以在调用图表时定义新的时间范围。这意味着您可以像这样实现所需的时间窗口:
pnp4nagios/graph?host=<hostname>&srv=<servicedesc>&start=-1day&end=+1day
...虽然这只是一次性的,但不会覆盖默认值。
PNP4Nagios中的当前视图配置不允许默认视图指定结束偏移量,仅指定起始偏移量。