如何刷新nagios并停留在当前页面?

如何刷新nagios并停留在当前页面?

自从我从 3.0.6 更新到 nagios 3.2.1 后,我就无法再刷新任何状态页面了。刷新后,它只会返回到 nagios 的“主页”,迫使我重新回到我所查看的内容。使用 3.0.6,我可以正常刷新页面以查看更新的状态。

显然,这与 nagios 使用框架显示所有不同页面并保持左侧导航的方式有关,也可能与 nagios 如何隐藏地址栏中的完整 url 并仅显示http://主机名/nagios无论您在哪个页面上。从 3.0.6 到 3.2 的行为变化可能与左侧导航从 html 到 php 文件的更改有关。

所有这些我都知道,问题是如何让它按照我想要的方式工作。是否有一些我没有找到的选项可以在地址栏中显示完整的 URL 或仅刷新框架?

答案1

右键单击框架,重新加载框架

修改模板并放入

<a href="#">refresh</a>

您可以通过添加来解决此问题

header("Cache-Control: max-age=7200, public");

到 share/index.php 的 PHP 代码部分的开头(不在 if 子句中!)。

您的浏览器不知道是否应该缓存当前框架,因此默认不缓存。这会导致它重新加载到 main.php。(感谢德文来源:https://checkmk.de/lw_nagios_frameset_f5.html

答案2

您可以绕过左侧框架并打开仅状态窗口。

请尝试右键单击要刷新的状态链接,然后在新窗口中打开该框架。(这就是我通常所做的)

答案3

我知道这可能有点晚了,但是......

这与框架集页面本身现在是一个 php 文件(而不是 html)有关。该文件中有少量 php 代码用于处理“corewindow”参数/功能。如果您不使用该功能,则可以从 index.php 中删除 php 代码块,将第二个框架 src 属性更改为 main.php,并将 index.php 重命名为 index.html。

答案4

@Karmawhore 的接受答案实际上并没有强制刷新,它只是让我停留在缓存的页面上。所以我只是添加了一个Nagios CGI 自定义标头通过创建包含common-header.ssi以下内容的文件/usr/share/nagios3/htdocs/ssi/

<div align="right"><a href="#" onclick="location.reload(true)">refresh</a></div>

这会在每个 cgi 页面的右上角添加一个小刷新链接,如下所示:带刷新链接的nagios界面

相关内容