Wie aktualisiere ich Nagios und bleibe auf der aktuellen Seite?


7

Seit ich von 3.0.6 auf nagios 3.2.1 aktualisiert habe, kann ich keine Statusseiten mehr aktualisieren. Wenn ich mich aktualisiere, kehrt es einfach zur "Homepage" von Nagios zurück und zwingt mich, einen Drilldown zu dem durchzuführen, was ich mir angesehen habe. Mit 3.0.6 konnte ich Seiten problemlos aktualisieren, um aktualisierte Status anzuzeigen.

Offensichtlich hängt dies damit zusammen, wie Nagios einen Frame verwendet, um alle verschiedenen Seiten anzuzeigen und die Navigation auf der linken Seite beizubehalten. Dies hängt wahrscheinlich damit zusammen, wie Nagios die vollständige URL in der Adressleiste verbirgt und nur http: // Hostname anzeigt / nagios egal auf welcher seite du bist. Die Änderung des Verhaltens von 3.0.6 auf 3.2 hat wahrscheinlich alles mit der Änderung von HTML- zu PHP-Dateien für die Navigation auf der linken Seite zu tun.

All diese Dinge, die ich weiß, ist die Frage, wie ich es zum Laufen bringen kann, wie ich es will. Gibt es irgendwo eine Option, die ich nicht finde, um die vollständige URL in der Adressleiste anzuzeigen oder nur den Frame zu aktualisieren?

Antworten:


8

Klicken Sie mit der rechten Maustaste auf den Rahmen und laden Sie den Rahmen neu

Ändern Sie Ihre Vorlage und setzen Sie

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

2
Das macht den Trick. Das Hinzufügen des Aktualisierungslinks auf jeder Seite ist für meinen Geschmack etwas zu viel Arbeit, aber das Drücken von Alt + F5 anstelle von F5 ist für mich in Ordnung.
Matt

3
Es ist eine einzelne Vorlagenänderung. common-footer.ssi in htdocs / ssi (muss ausführbar sein, wird an die Fußzeile einer von cgi generierten Seite
angehängt

Vielen Dank, die SSI-Informationen sind für mich die entscheidende Information.
Jay Taylor

1

Sie können den linken Seitenrahmen umgehen und ein Nur-Status-Fenster öffnen.

Klicken Sie mit der rechten Maustaste auf den Statuslink, den Sie aktualisieren möchten, und öffnen Sie nur diesen Frame in einem neuen Fenster. (das mache ich normalerweise)


So habe ich bereits unseren an der Wand montierten "Dashboard" -Computer eingerichtet. Für diese Frage interessiert mich das mehr, während ich mich aktiv bewege und Dinge anschaue. Daher brauche ich immer noch die linke Leiste für die Navigation.
Matt

1

Ich weiß, das mag etwas spät sein, aber ...

Es hat damit zu tun, dass die Frameset-Seite selbst jetzt eine PHP-Datei ist (anstelle von HTML). In dieser Datei befindet sich ein wenig PHP-Code, um den Parameter / die Funktion "corewindow" zu verarbeiten. Wenn Sie diese Funktion nicht verwenden, können Sie den PHP-Codeblock aus index.php entfernen, das src-Attribut des zweiten Frames in main.php ändern und index.php in index.html umbenennen.


4
Ein bisschen spät! Die Antwort würde jetzt beinhalten, entweder in das Netzwerk meines alten Arbeitgebers zu hacken oder meinen derzeitigen Arbeitgeber davon zu überzeugen, Sonnenwinde zugunsten von Nagios fallen zu lassen.
Matt

1

Ich habe es gelöst, indem ich den gesamten PHP-Code aus index.php gelöscht und stattdessen platziert habe

<frame src="<?php echo $corewindow;?>" name="main" frameborder="0">

diese

<frame src="main.php" name="main" frameborder="0">

und verschieben Sie dann index.php nach index.html

Hier ist meine 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>

1

@ Karmawhores akzeptierte Antwort erzwang nicht wirklich die Aktualisierung, sondern hielt mich nur auf der zwischengespeicherten Seite. Also habe ich gerade einen benutzerdefinierten Nagios CGI-Header hinzugefügt, indem ich eine common-header.ssiDatei erstellt habe, /usr/share/nagios3/htdocs/ssi/die Folgendes enthält:

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

Dadurch wird in der oberen rechten Ecke jeder CGI-Seite ein kleiner Link zum Aktualisieren hinzugefügt: Nagios-Schnittstelle mit Aktualisierungslink


0

Die Antwort von Arcadius ist eine gute Lösung, die von Nagios selbst übernommen werden könnte. Ich weiß nicht, warum es abgelehnt wurde, abgesehen davon, dass es fehlt, woher reload.png kommt.

für reload.png. cp /usr/share/icons/gnome/32x32/actions/reload.png / usr / share / nagios / images / reload.png (an dieser Stelle) stammt aus dem gnome-icon-theme (rpm -qf / usr / share / Icons / Gnome / 32x32 / Actions / reload.png)

Wenn Sie möchten, sind auch andere Größen erhältlich.

Hiney


-1
  1. Platziere reload.png in Nagios / Bilder, gib ≽ 555,
  2. In nagios / index.php ersetzen:
<frame src = "<? php echo $ corewindow;?>" name = "main" frameborder = "0" style = "">

.. durch

<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: fest; oben: 20px; rechts: 20px; Z-Index: 10000 \ '> </a>' ">

(1) Das ist SO viel mehr Arbeit als eine der anderen Optionen. (2) Ich sehe reload.pnghier kein ...
voretaq7
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.