# Gadgets

## Allgemeine Informationen

"Gadgets" sind kleine Programme, die Bilder aus Informationen erzeugen, die von NagVis geliefert werden. Die Hauptidee besteht darin, die Performance-Daten von Nagios an diese Programme zu liefern, um daraus nette Grafiken oder schicke Tachos, Thermometer oder ähnliches zu machen.

Die Gadgets können in jeder Sprache geschrieben werden, die von Ihrem Webserver interpretiert wird, wie z.B. PHP, Perl, ...

Gadgets werden nur für Services unterstützt. Ein Objekt kann in ein Gadget verwandelt werden, indem Sie view_type="gadget" und eine gültige gadget_url setzen.

NagVis unterstützt Gadgets ab Version 1.4.

NagVis 1.4 std_speedometer gadget on test map with enabled label.

## Parameter

Die Gadgets bekommen ihre Informationen durch einen HTTP-Get-Aufruf von NagVis.

Die folgenden Parameter werden an die Gadgets geliefert:

Parameter | Beispielwert | Beschreibung
--- | --- | ---
name1 | localhost | Der Name des Hosts.
name2 | Current Load | Die Service-Beschreibung des Objekts.
state | OK | Die Zeichenkette, die den aktuellen Status beschreibt.
stateType | HARD | Der Typ des aktuelles Status. Kann HARD oder SOFT sein
perfdata | load1=0.960;5.000;10.000;0; load5=0.570;4.000;6.000;0; load15=0.540;3.000;4.000;0; | Die aktuellen Performance-Daten, die von Nagios geliefert werden. Es ist wichtig, gültige Performance-Daten zu haben!

Ein gültiger HTTP-get zum std_speedometer.php sieht wie folgt aus:

`std_speedometer.php?name1=localhost&name2=Current%20Load&state=OK&stateType=HARD&perfdata=load1=0.450;5.000;10.000;0;%20load5=0.260;4.000;6.000;0;%20load15=0.750;3.000;4.000;0;`

## wie ist es zu konfigurieren?

Bitte prüfen Sie die Parameter `view_type` und `gadget_url` des Service-Objekts in der Formatbeschreibung der Map-Konfiguration.

## wie man ein eigenes Gadget anlegt

Mit Hilfe des Codes in gadgets_core.php werden zwei Arrays gefüllt. $aPerfdata enthält die Performance-Daten. $aOpts enthält die Optionen, die in gadget_opts gesetzt werden.

Das Einfachste ist, einen Blick auf std_speedometer zu werfen und die Kernbestandteile von dort anzupassen.

Sie sollten einen Beispiel-Performance-Daten-String in den Gadget-Code einfügen, indem Sie die Variable $sDummyPerfdata nutzen. Dies erlaubt es, das Gadget mit Dummy-Daten in der WUI anzuzeigen. Es ist viel einfacher, die Maps zu erstellen, wenn die Gadgets dort angezeigt werden. Wichtig: die Variable muss gesetzt werden, bevor gadgets_core.php ü den include-Befehl geladen wird.

Ein zweites Beispiel finden Sie in std_speedometer2.php. Im Gegensatz zu std_speedometer unterstützt es auch check_multi-Ausgaben. Verschiedene Optionen beeinflussen das Verhalten des Gadgets:

Parameter | Beispielwert | Beschreibung
--- | --- | ---
label | 1 | 1 = Anzeige von Host-Name / Service-Beschreibung in der linke oberen Ecke des Graphen; 0 = Informationen nicht anzeigen (Default)
current | 1 | 1 = Anzeige des aktuellen Performance-Daten-Wertes (Default); 0 = Informationen nicht anzeigen
columns | 5 | Graphen können in Spalten angezeigt werden. Die Zahl der Zeilen werden anhand der maximalen Anzahl von Performance-Daten-Elementen. Default ist 3
string | pct | Das Performance-Daten-Label muss die Zeichenkette enthalten, damit der Graph angezeigt wird. Im Falle von check_multi-Ausgaben wird nur der letzte Teil untersucht. Default ist eine leere Zeichenkette