Назад | Перейти на главную страницу

Как обновить nagios и остаться на текущей странице?

С тех пор, как я обновился до 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 &copy; 2010-2011 Nagios Core Development Team and Community Contributors.
Copyright &copy; 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

  1. Поместите reload.png в nagios / images, дайте 555,
  2. Заменить в nagios / index.php:
<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>'">