RRDTool - 获取时间范围

RRDTool - Get time range

我正在使用 RRDTool 在一张图中绘制数据和预测趋势 (LSL)。
所以我正在调整相应的模板。
目前我这样设置结束时间:

--end start+7d

通过网站查看生成的图表时,我可以在右侧 select 不同的时间范围:
自定义时间范围、概览、4 小时、25 小时、一周、一个月一年

我想要的:
如果我 select 时间范围为 4 小时,则 7 天的预测毫无意义。我想根据时间范围 selected 计算结束时间。例如,我希望将来显示的时间段与时间范围 selected.
的大小完全相同 基本上我想这样定义我的结束时间:

--end start+(end-start)

这是不可能的,因为结束时间不能自己定义。

有没有办法在手动定义 end 之前提取 selected 时间范围?我可以在我的 PHP 模板中计算 start+(end-start) 并在定义结束时间时插入它。

感谢您的帮助。

编辑: 我忘了说,我正在通过 PNP4Nagios 使用 RRDTool。当谈到 网站 时,我指的是 PNP4Nagios 标准 Web 外观。这是通过包安装 PNP4Nagios 时默认提供的。

使用 PNP4Nagios,您的自定义模板可用于定义所有图形定义 -- 除了时间 window,它被添加到 $opt[] 和 $def[ 的参数列表中].因此,您不能轻易覆盖时间 window 'end',因为它已被 PNP4Nagios 定义为 'now'(并且 'start' 已相对于末尾定义,基于您在 Web 界面中选择的时间范围)。事实上,RRDTool 相当健壮,所以如果它看到 start/end 被重新定义,那么最后一个这样的定义通常优先......但这并不能解决你的问题。

我认为您想要做的是让 1 天图表(通常从 'end-1day' 开始并在 'now' 结束)从 'now-1day' 到 'now+1day' 以便您的预测线可以填充第二部分。这需要通过编辑 PNP4Nagios 代码来完成,这有点超出了这个答案的范围。

PNP4Nagios 允许在 config.php 中定义标准时间范围;您还可以在调用图形时定义新的时间范围。这意味着您可以像这样达到所需的时间 window:

pnp4nagios/graph?host=<hostname>&srv=<servicedesc>&start=-1day&end=+1day

...虽然这只是一次性的并且不会覆盖默认值。

PNP4Nagios 中的当前视图配置不允许默认视图指定结束偏移量,只能指定开始偏移量。