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