С тех пор, как я обновился до nagios 3.2.1 с 3.0.6, я больше не могу обновлять страницы состояния. Когда я обновляюсь, он просто возвращается на «домашнюю» страницу nagios, заставляя меня вернуться к тому, на что я смотрел. С 3.0.6 я мог обновлять страницы, чтобы видеть обновленные статусы.
Очевидно, это связано с тем, как nagios использует фрейм для отображения всех разных страниц и сохраняет навигацию слева, и, вероятно, это связано с тем, как nagios скрывает полный URL-адрес в адресной строке и просто показывает http: // имя хоста / nagios независимо от того, на какой странице вы находитесь. Изменение поведения с 3.0.6 на 3.2, вероятно, напрямую связано с переходом с html на php файлов для левой навигации.
Все это я знаю, вопрос в том, как заставить его работать так, как я хочу. Есть ли какой-то вариант, который я не могу найти, чтобы показать полный URL-адрес в адресной строке или обновить только фрейм?
Щелкните правой кнопкой мыши по кадру, перезагрузите кадр
измените свой шаблон и поместите
<a href="#">refresh</a>
Вы можете обойти левую боковую рамку и открыть окно только статуса.
Попробуйте щелкнуть правой кнопкой мыши ссылку статуса, которую вы хотите обновить, и открыть только этот фрейм в новом окне. (это то, что я обычно делаю)
Я знаю, что это может быть немного поздно, но ...
Это связано с тем, что сама страница набора фреймов теперь является файлом php (вместо html). В этом файле есть небольшой фрагмент кода PHP для обработки параметра / функции "corewindow". Если вы не используете эту функцию, вы можете удалить блок кода php из index.php, изменить атрибут src второго кадра на main.php и переименовать index.php в index.html.
Я решил это, удалив весь php-код из index.php и поместив вместо
<frame src="<?php echo $corewindow;?>" name="main" frameborder="0">
этот
<frame src="main.php" name="main" frameborder="0">
а затем переместите index.php в index.html
Вот мой index.html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
<html>
<head>
<meta name="ROBOTS" content="NOINDEX, NOFOLLOW">
<title>Nagios Core</title>
<link rel="shortcut icon" href="images/favicon.ico" type="image/ico">
</head>
<frameset cols="180,*">
<frame src="side.php" name="side" frameborder="0">
<frame src="main.php" name="main" frameborder="0">
<noframes>
<!-- This page requires a web browser which supports frames. -->
<h2>Nagios Core</h2>
<p align="center">
<a href="http://www.nagios.org/">www.nagios.org</a><br>
Copyright © 2010-2011 Nagios Core Development Team and Community Contributors.
Copyright © 1999-2010 Ethan Galstad<br>
</p>
<p>
<i>Note: These pages require a browser which supports frames</i>
</p>
</noframes>
</frameset>
</html>
Принятый ответ @Karmawhore на самом деле не заставлял меня обновляться, он просто держал меня на кешированной странице. Я просто добавил Пользовательский заголовок Nagios CGI создавая common-header.ssi
файл под /usr/share/nagios3/htdocs/ssi/
содержащий:
<div align="right"><a href="#" onclick="location.reload(true)">refresh</a></div>
Это добавляет небольшую ссылку обновления в верхний правый угол каждой страницы cgi, например:
Ответ Аркадия - хорошее решение, которое может принять сам нагиос. не знаю, почему он был отклонен, кроме того, что не указано, откуда берется reload.png.
для reload.png. cp /usr/share/icons/gnome/32x32/actions/reload.png / usr / share / nagios / images / reload.png (в этом месте) поступает из gnome-icon-theme (rpm -qf / usr / share / значки / gnome / 32x32 / actions / reload.png)
Если хотите, доступны другие размеры.
Hiney
<frame src="<?php echo $corewindow;?>" name="main" frameborder="0" style="">
.. по
<frame src="<?php echo $corewindow;?>" name="main" frameborder="0" style="" onload="this.contentWindow.document.body.innerHTML+='<a href=\'#\' onclick=\'location.reload()\'><img src=\'/nagios/images/reload.png\' alt=\'Refresh\' style=\'position:fixed; top:20px; right:20px; z-index:10000\'></a>'">