Translations of this page:

NagVis/Nagios mit SiteBar

SiteBar wurde als Lösung für Menschen entwickelt die ihre Bookmarks weltweit online verfügbar haben wollen ohne sie zum Beispiel synchronisieren zu müssen.

Allerdings ist es ebenfalls sehr nützlich zur Erstellung eines Online-Menüs für NagVis und auch Nagios (cgi-Url's).

nagvissitebar001.jpg

Vor- und Nachteile

Vorteile:

  • OpenSource
  • Übersichtlich
  • Komfortabel/Flexibel
  • Stabil

Nachteile:

  • Administrationsaufwand (MySQL-DB)

Die SiteBar-Benutzerverwaltung ist lediglich im Zusammenhang mit NagVis als Kontra-Punkt zu betrachten. Auch hält sich der zusätzliche Administrationsaufwand für diejenigen in Grenzen die eh bereits MySQL für Nagios/NagVis verwenden. In meinen Augen überwiegen die Vorteile.

Requirements

Im Gegensatz zu den Angaben in der Original-Anleitung habe ich festgestellt, dass das Development Release 3.4 von SiteBar benötigt wird http://sitebar.org/downloads.php (nightly trunk).

Dieses widerum setzt voraus, dass PHP in der Version 5.2 installiert ist.

SiteBar-Daten werden in einer Datenbank gespeichert. Hierfür sollte MySQL vorinstalliert sein.

Und selbstverständlich wird noch eine WebServer-Software benötigt. Ich empfehle den Apache Http-Server.

Abschliessend gehe ich mal davon aus, dass NagVis bereits funktionsfähig vorinstalliert ist.

Installation

Die Original-Anleitung zum derzeit aktuellen Trunk findet man unter http://teamforge.net/viewvc/viewvc.cgi/sitebar/trunk/doc/install.txt?view=markup

Die Installation ist sehr einfach. Man entpackt die heruntergeladene Datei in ein Verzeichnis seiner Wahl, verschiebt die Verzeichnisstruktur ggf. noch an einen Ort der für den WebServer erreichbar ist. Natürlich sollte ggf. die WebServer-Konfiguration und Berechtigung der Verzeichnis-/Datei-Struktur vom entpackten/verschobenen SiteBar entsprechend angepasst/erweitert werden.

Konfiguration

Die Basis-Konfiguration erfolgt über ein Web-GUI (Beispiel):

http://localhost/sitebar/index.php

nagvissitebar-cfg001.jpg

1. Create Database

2. Check Settings

3. Write to file

nagvissitebar-cfg002.jpg

4. Install

nagvissitebar-cfg003.jpg

5. Einrichten

nagvissitebar-cfg004.jpg

6. Daten eingeben

7. Bestätigen

nagvissitebar-cfg005.jpg

8. zurück

nagvissitebar-cfg006.jpg

9. Benutzereinstellungen

nagvissitebar-cfg007.jpg

10. Erweiterte Einstellungen zeigen

Als Standard URL kann man zum Beispiel „http://localhost/nagvis/frontend/nagvis-js/index.php?mod=Map&act=view&show=“ eintragen.

Weiterhin könnte man den Expert-Modus aktivieren (hier nicht dargestellt)

nagvissitebar-cfg008a.jpg

Bei Bedarf weitere Angaben bearbeiten…

nagvissitebar-cfg008.jpg

11. Bestätigen

hier könnte eine Fehlermeldung kommen → ggf. Ausloggen → Einloggen als neu angelegter User „sitebaradm“ → Ab Schritt 9. wiederholen

nagvissitebar-cfg009.jpg

12. Bäume verwalten

nagvissitebar-cfg010.jpg

13. Baum erstellen

nagvissitebar-cfg011.jpg

14. Bestätigen

nagvissitebar-cfg012.jpg

15. Baum auswählen → Public Bookmarks

16. Baum löschen

17. Baum auswählen → Admin Boolmarks

18. Baum löschen

nagvissitebar-cfg013.jpg

19. Bestätigen

nagvissitebar-cfg014.jpg

20. zurück

nagvissitebar-cfg015.jpg

21. Gruppen verwalten

nagvissitebar-cfg016.jpg

22. Gruppe erstellen

nagvissitebar-cfg017.jpg

23. Bestätigen

24. Im nächsten Fenster/Dialog auf „zurück“ um ins Hauptmenü zu gelangen und dort ausloggen.

Fine-Tuning

A. Die Datei „default.header_over.png“ aus dem NagVis-Verzeichnis ins SiteBar-Verzeichnis kopieren (nur für die Optik)

B. Als nächstes erstellt man die Seite mit dem integrierten Menü im SiteBar-Verzeichnis „emb.php“:

  <?php
  $oldDir = getcwd();
  // SiteBar PHP files must be available on this server,
  // we change temporarily to the installation directory.
  //   chdir("sitebar");
  chdir("/var/www/sitebar");
  // Inject direct and indirect classes
  //   require_once('./inc/writers/sitebar_emb.inc.php');
  require_once('/var/www/sitebar/inc/writers/sitebar_emb.inc.php');
  // Create the writer object.
  $writer = new SB_Writer_sitebar_emb();
 
  // Do we want another skin?
  SB_Skin::set("SiteBarXP");
 
  // We change both the absolute and the relative URL,
  // we may run on a different subdomain or use an alias.
  SB_Page::absBaseUrl('http://localhost/sitebar/');
  SB_Page::relBaseUrl('http://localhost/sitebar/');
  // Restore pwd, if you want to load some other files
  chdir($oldDir);
  ?>
 
  <body style="margin:0px 0px 0px 0px;">
  <img src="./default.header_over.png" style="width:240px;height:31px;margin:0px 0px 10px 0px">
 
  <link rel="StyleSheet"
      href="<?php echo SB_Skin::src('sitebar.css')?>"
      type="text/css" media="all">
  <script type="text/javascript"
      src="<?php echo SB_Page::absBaseUrl() ?>js/sitebar.js">
  </script>
 
  <div style="display:none;">
  <?php
  $writer->drawJavaScriptData();
  ?>
  </div>
 
  <div class="siteBar siteBarBaseFont siteBarPageBackground">
  <?php
  // Direct login by using the sitebaruser with his password
  // $writer->um->login('user','password');
  $writer->um->login('sitebaradm','sitebaradm');
  $writer->run();
  ?>

C. Anschliessend wird das Frame erstellt „index.htm“

<HTML>
<HEAD>
   <FRAMESET cols="240,*" border=1>
       <FRAME src="http://localhost/sitebar/emb.php"  name="navi">
       <FRAME src="http://localhost/nagvis/index.php" name="main">
   </FRAMESET>
</HEAD>
</HTML>

D. Für ein wenig mehr Komfort kann man noch die Datei „sitebar/command.php“ anpassen:

Hier passt man die „function commandAddBookmark“ an indem man die Variable „$ziel“ hinzufügt…

  ...
 
    function commandAddBookmark()
    {
        $nid = SB_reqValInt('nid_acl',true);
        $node = $this->tree->getNode($nid);
        if (!$node) return;
 
        if (SB_reqChk('bookmarklet'))
        {
            if (strlen(SB_reqVal('newfolder'))>0)
            {
                $newnode = $this->tree->addNode($nid, SB_reqVal('newfolder'));
                if ($this->hasErrors())
                {
                    return;
                }
                $nid = $newnode;
            }
        }
 
        // Get values entered by the user
        $url = SB_reqVal('url');
        $favicon = SB_reqVal('favicon');
        $name = SB_reqVal('name');
        $is_feed = SB_reqVal('is_feed');

Hier die erste Anpassung → Einfügen der folgenden Zeile:

        $ziel = 'main';

Weiter geht es mit…

 
        // If we have bookmarklet we have already received the icon
        if (!SB_reqChk('bookmarklet') && !$favicon && $this->um->getParam('user','auto_retrieve_favicon'))
        {
            $this->ignoreWarnings();
            require_once('./inc/pageparser.inc.php');
            $page = new SB_PageParser( $url, array('FAVURL'));
            $page->getInformation(array('FAVURL'));
            $this->ignoreWarnings(false);
 
            if (!$page->isDead && $page->errorCode['FAVURL']<PP_ERR)
            {
                $favicon = $page->info['FAVURL'];
                $favurl   = 'favicon.php?' . md5($favicon) . '=' . SB_reqValInt('lid_acl');
                $this->message = SB_T('Favicon <img src="%s"> found at url %s.', array($favurl, $url));
            }
            else
            {
                $this->message = SB_T('Favicon not found!');
            }
        }
 
        $insert = array
        (
            'name'=>$name,
            'url'=>$url,
            'favicon'=>$favicon,

Und hier die zweite Anpassung → Auskommentieren der vorhandenen Zeile und die darunter hinzufügen:

  //          'target'=>SB_reqVal('link_target'),
            'target'=>$ziel,

Daraufhin folgt …

            'private'=>SB_reqVal('private')?1:0,
            'is_feed'=>SB_reqVal('is_feed')?1:0,
            'comment'=>SB_reqVal('comment'),
            'validate'=>SB_reqVal('novalidate')?0:1,
        );
 
  ...

Auf diese Weise wird voreingestellt, dass der Link-Target im Bereich „main“ des Frames „index.htm“ aufgerufen wird (Die URL/Map also im rechten Fenster dargestellt wird). Wenn man diese Anpassung nicht durchführt muss man die entsprechende Angabe jedes mal über die erweiterten Einstellung beim anlegen eines neuen Bookmarks vornehmen.

Weiterhin sollte man den Source-Code noch dahingehend anpassen, dass nach dem anlegen eines neuen Bookmarks automatisch ein redirect zur „Basis-Menü-Ansicht“ (nur Baumstruktur) erfolgt statt zum Administrations-Menü. Dazu sucht man in der „command.php“ nach folgendem Eintrag:

  ...
 
            SB_redirect('index.php'.$cw->getParams(false));
 
  ...

Dieser Eintrag wird auskommentiert und ersetzt oder so angepasst, dass ein Redirect zur redir.htm erfolgt - Beispiel:

  ...
 
//            SB_redirect('index.php'.$cw->getParams(false));
            SB_redirect('redir.htm'.$cw->getParams(false));
 
  ...

Jetzt muss natürlich noch die Datei redir.htm im Sitebar-Verzeichnis erstellt werden (dort wo auch die command.php liegt).

<HTML>
<HEAD>
   <meta http-equiv="refresh" content="1;url=http://localhost/sitebar/emb.php">
</HEAD>
<BODY>
   ... redirect ...
</BODY>
</HTML>

Damit landet man nun auch nach dem Bearbeiten der Baumstruktur in der „korrekten“ Ansicht des Menüs.

Finale

Abschliessend ruft man den Link „http://localhost/sitebar/index.htm“ auf und per rechten Mausklick auf das Menü-Icon kann man den ersten Eintrag hinzufügen.

nagios/howtos/sitebar.txt · Zuletzt geändert: 2010/05/04 09:46 von rbrinkmo
CC Attribution-Noncommercial-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0