# NagVis-Geomap

## Einleitung

Die NagVis-Geomap-Map-Source wurde in NagVis 1.7 eingeführt. Sie wurde entwickelt, um ohne viel Arbeit sauber gerenderte und skalierte Übersichts-Maps zu erhalten.

Die Geomap rendert verschiedene Hosts auf einer von Open Street Map als Hintergrundbild zur Verfügung gestellten Karte.

Für die aktuelle Geomap benötigen Sie lediglich eine CSV-Datei, die NagVis die Hosts und die Geo-Koordinaten für die zu platzierenden Objekte angibt.

## Voraussetzungen

Es ist keine spezielle Software auf dem NagVis-Host erforderlich. Allerdings gibt es eine besondere Anforderung. Um dieses Feature nutzen zu können benötigt NagVis Zugriff auf den Host `geomap.nagvis.org` via port 80. NagVis benutzt eine simple HTTP-basierte API, um das Map-Image und die Koordinaten dieses Images zu erhalten.

In den meisten Fällen hat der NagVis-Host keinen direkten Internet-Zugriff. Sie können die `http_proxy` Option im `[global]`-Abschnitt Ihrer NagVis-Hauptkonfigurationsdatei (nagvis.ini.php) verwenden, um NagVis anzuweisen, einen Proxy für solche Anfragen zu benutzen. Die meisten Proxies erfordern eine Authentifizierung, um den Zugang zum Internet zu kontrollieren. Mit der Option `http_proxy_auth` können die Zugangsdaten gesetzt werden.

## Der erste Aufruf

NagVis wird mit einer Demo-Geomap namens "demo-geomap" ausgeliefert. Wenn Ihr NagVis korrekt konfiguriert ist, sollten Sie eine Karte von Deutschland mit zwei Knoten sehen. Ein Knoten zeigt den Host "ham-srv1" in Hamburg. Der andere Knoten "muc-srv1" steht in München.

Die Geomap wird definiert mit Hilfe der Map-Konfigurationsdatei "demo-geomap.cfg". Der Inhalt sieht ungefähr so aus:

    global {
        sources=geomap
        alias=Demo: 4 Geomap
        parent_map=demo-overview
        iconset=std_medium
        backend_id=demo
        # Geomap Parameters
        source_type=csv
        source_file=demo-locations
        width=800
        height=600
    }

Die Zeile `sources=geomap` bewirkt, dass die geomap-Source benutzt werden soll, um die Map-Konfiguration zu ändern. Die Zeile `source_type=csv` weist den geomap-Code an, die CSV-Datei zu lesen, die in `source_file=demo-locations` angegeben und im Verzeichnis `etc/geomap` abgelegt ist, um mit einer Liste von Hosts und Koordinaten eine Geomap zu füllen.

Die Datei `demo-locations.csv` enthält die folgenden zwei Zeilen:

    ham-srv1;Hamburg Server 1;53.556866;9.994622
    muc-srv1;Munich Server1;48.1448353;11.5580067

Jede Zeile definiert einen Host, der zur Map hinzugefügt werden soll. Die Spalten werden durch `;`-Zeichen getrennt. Die ersten Spalte enthält den Host-Namen, die zweite einen optionalen Alias, die dritte die LAT-Koordinate (Breitengrad) und die vierte die LONG-Koordinate (Längengrad).

(Ab Git-Version vom 21.03.2013): Zeilen, die mit den üblichen Kommentarzeichen beginnen (`;`, `#` oder `//`), werden als Kommentar behandelt.

: Es ist auch möglich, `source_type=backend` zu setzen, um das per `backend_id` eingestellte Backend für die Ermittlung der anzuzeigenden Hosts und ihrer Koordinaten zu nutzen. Das ist nur möglich, wenn das livestatus-Backend genutzt wird. Es holt alle Hosts, bei denen die benutzerdefinierten Objektvariablen `_LAT` und `_LONG` konfiguriert sind. Es ist möglich, die ermittelten Hosts durch Angabe der Option `filter_group` auf die Mitgliedschaft der angegebenen Host-Gruppe einzugrenzen.

## Konfigurieren von Geomaps

Die Geomap-Source benutzt Anzeigeparameter zur Konfiguration. Für Einzelheiten werfen Sie einen Blick auf den "Ansicht ändern"-Dialog, der im Header-Menü über "Aktionen -> Ansicht ändern" geöffnet werden kann.

Die Anzeigeparameter können auch als Map-Konfigurationsattribute im global-Abschnitt der Maps angegeben werden.

Parameter | Default | Beschreibung
--- | --- | ---
geomap_type | mapnik | Definiert den Render-Modus der Geomap. Gültige Werte sind: osmarender, mapnik oder cycle.
geomap_zoom |  | Konfiguriert den Zoom-Faktor der Geomap während der Map-Abfragen. Werfen Sie einen Blick auf die OSM-Zoom-Dokumentation für weitere Details.
geomap_border | 0.25 | Der Rand, der auf jeder Seite der Geomap hinzugefügt werden soll. Dieser Wert wird einfach zu den berechneten min/max Geo-Koordinaten addiert.
source_type | csv | Der Typ der Data-Source, die genutzt wird, um die Geomap-Objekte zu ermitteln. Kann `csv` oder `backend` sein.
source_file |  | Der Name der CSV-Datei, die als Quelle für das Rendering der Geomap genutzt werden soll. Das wird nur genutzt, wenn `source_type` auf `csv` gesetzt ist.
width |  | Definiert die Breite der Geomap in Pixeln. Die maximale Größe ist begrenzt durch den benutzten Web-Service. geomap.nagvis.org unterstützt bis zu 50 "Kacheln", was ein Auflösind bis zu 1920x1080 ermöglichen sollte. Bitte kontaktieren Sie uns, falls Sie mehr benötigen sollten.
height |  | Definiert die Höhe der Geomap in Pixeln. Die maximale Größe ist begrenzt durch den benutzten Web-Service. geomap.nagvis.org unterstützt bis zu 50 "Kacheln", was ein Auflösind bis zu 1920x1080 ermöglichen sollte. Bitte kontaktieren Sie uns, falls Sie mehr benötigen sollten.