# Eigene Kontext-Menü-Aktionen

## Einleitung

NagVis 1.4 bringt ein neues mächtiges Feature namens Kontext-Menüs. Dies sind grundsätzlich Rechtsklick-Menüs bei Status-Icons. Sie können diese Menüs durch Editieren von Template-Dateien anpassen. Diese Template-Dateien sind einfache HTML-Dateien mit einigen Makros, die während des Renderns im NagVis ersetzt werden.

Die Kontext-Menüs geben Ihnen die Möglichkeit, Ihre administrative Arbeitsweise mit den Überwachungsinformationen dramatisch zu verbessern. Stellen Sie sich vor, Sie haben eine NagVis-Map als das primäre Benutzer-Interface, um Statusinformationen über Ihre Systeme zu sammeln oder sogar als Basis zur Kontrolle Ihrer Systeme. Stellen Sie sich vor, Sie können Statusinformationen über NagVis ansehen und sich mit zwei einfachen Klicks per ssh oder über eine Terminal-Session mit dem problematischen System verbinden. Es ist auch möglich, einige Standard-Wiederherstellungsjobs in Scripts zu speichern oder ähnliches.

Werfen Sie einen Blick in diese Anleitung, um einen Eindruck über die Mächtigkeit dieses neuen Features zu bekommen.

## Kurzes How-To

Dies ist ein kurzes How-To, um eine "connect by ssh"-Option zu den NagVis-Host-Kontext-Menüs hinzuzufügen. Die meisten der Änderungen müssen beim Client-Browser durchgeführt werden, damit mit dieser SSH-Verbindungen umgehen kann. In dieser Anleitung benutze ich den Firefox-Browser auf Ubuntu. Es ist kein Problem, diese Dinge auch auf anderen Systemen wie z.B. Windows zum Laufen zu bringen.

### 1. Lesen Sie die Grundlagen zu Kontext-Templates

Die Grundlagen zu Kontext-Templates sind hier beschrieben. Bitte lesen Sie sie, bevor Sie fortfahren.

### 2. Erstellen eines eigenen Kontext-Templates

Kopieren Sie einfach das Default-Context-Template:

    cd /usr/local/nagvis
    cp share/userfiles/templates/default.context.html share/userfiles/templates/default-ssh.context.html

Nun fügen Sie eine Zeile zum Host-spezifischen Makroabschnitt hinzu

    <li><a href="ssh://[address]">[lang_connect_by_ssh]</a></li>

Das Template ist fertig.

### 3. Konfigurieren Sie den Host, damit das neue Template benutzt wird

Setzen Sie die Option, um das neue Template namens default-ssh zu nutzen:

    context_menu=true
    context_template=default-ssh

Sie können diese Option im global-Abschnitt einer Map setzen, in einem Host-Objekt oder sogar ein Template, das in einem Host-Objekt benutzt wird.

### 4. Konfigurieren Sie Ihren Client, um ssh://-URIs verarbeiten zu können

In diesem Fall konfiguriere ich Firefox auf Ubuntu-Linux. Dies mag von Ihrem System abweichen. Öffnen Sie `about:config` im Firefox. Fügen Sie einige neue Optionen hinzu:

    Name: network.protocol-handler.app.ssh
    Type: String
    Value: /usr/local/bin/ssh-connect-handler

    Name: network.protocol-handler.expose.ssh
    Type: Boolean
    Value: true

    Name: network.protocol-handler.external.ssh
    Type: Boolean
    Value: true

    Name: network.protocol-handler.warn-external.ssh
    Type: Boolean
    Value: false

### 5. Erstellen eines Handler-Scripts

Erstellen Sie das Script im angegebenen Script-Pfad. In meinem Fall ist es `/usr/local/bin/ssh-connect-handler`.

    #!/bin/bash
    xterm -e ssh ${1#ssh:\/\/*}

Sie müssen das Script ausführbar machen.

    chmod +x /usr/local/bin/ssh-connect-handler

### 6. Testen des Handler-Scripts

Geben Sie einfach `ssh://<test-host>` in Ihre Browser-Zeile ein und drücken Enter. Wenn sich ein xterm mit der ssh-Session öffnet, ist alles OK hier.

### 7. Testen von Kontext-Links

Nun öffnen Sie die Map, die Sie für die Nutzung des neuen Kontext-Templates konfiguriert haben. Dann rechtsklicken Sie den konfigurierten Host und klicken Sie den Menü-Eintrag "Connect by ssh". Ein Terminal-Fenster sollte sich öffnen.

## Ausblick

Mit diesem Wissen sind Sie bereit, NagVis als Kern Ihrer täglichen Administratiions- und Überwachungs-Aufgaben zu konfigurieren. Seien Sie kreativ!

Wir freuen uns auf Ihr Feedback zu diesem Feature und wie Sie es nutzen.