# Custom Templates

Wie bereits unter ”Was sind Templates ?” beschrieben, ist die Darstellung der Graphen abhängig vom verwendeten Check-Command.

Es gibt jedoch Situationen, in denen dieses Verhalten übersteuert werden muss.

## CUSTOM_TEMPLATE

Notwendig wird dies, wenn allgemeingültige Commands definiert wurden.

Beispiel:

    define command {
      command_name check_nrpe
      command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -C $ARG1$ -a "$ARG2$"
    }

Die Folge wäre, dass immer das Template check_nrpe.php verwendet werden würde, auch wenn auf dem zu überwachenden Server via NRPE ein ganz anderes Plugin aufgerufen wurde.

PNP, speziell process_perfdata.pl, sucht zur Laufzeit für jedes check_command im Verzeichnis etc/check_commands nach einer Config-Datei ( <check_command>.cfg ) und liest diese, wenn vorhanden, ein.

Da unser Beispiel-Command check_nrpe lautet, wird nach etc/check_commands/check_nrpe.cfg gesucht.

Eine Beispiel-Config wird bereits während der Installation mit der Dateierweiterung .cfg-sample in etc/check_commands gespeichert.

In diesen Config-Files können zwei Optionen gesetzt werden.

    # check_command check_nrpe!load!-w 4,4,4 -c 5,5,5
    # ________0__________|       |       |
    # ________1__________________|       |
    # ________2__________________________|
    #
    CUSTOM_TEMPLATE = 1

`CUSTOM_TEMPLATE = 1` sorgt dafür, dass nur der Inhalt von $ARG1$ als Template-Name verwendet wird. Da in diesem Beispiel $ARG1$ mit dem Wert “load” gefüllt ist, ergibt sich als Template-Name “load.php”

`CUSTOM_TEMPLATE = 0,1` ergibt → “check_nrpe_load.php”

`CUSTOM_TEMPLATE = 1,0` ergibt → “load_check_nrpe.php”

## DATATYPE

Über die Option “DATATYPE” kann beeinflusst werden, mit welchem Datentyp die RRD-Datenbank angelegt werden soll. Default ist in diesem Fall “GAUGE”. Für fortlaufende Werte wird aber hier der Datentyp COUNTER benötigt. Normalerweise sollten Plugin-Entwickler für Daten von Typ Counter die Einheit “c” verwenden. Dies ist jedoch nicht immer der Fall.

Alle Datenreihen auf Typ COUNTER einstellen.

    DATATYPE = COUNTER

Einzelnen Datenreihen spezielle Datentypen zuweisen

    DATATYPE = GAUGE,GAUGE,COUNTER,COUNTER

Diese Option hat nur Einfluss, wenn die RRD Datenbank neu erstellt wird.

Weitere Datentypen sind in der RRDTool-Dokumentation unter rrdcreate erklärt.

## MIN und MAX

In einigen wenigen Situationen ist es notwendig, die für RRDTool gültigen Daten zu begrenzen.

RRD-Datenbanken lassen sich mit definierten Minimum- und Maximum-Werten anlegen. Weitere Infos unter http://oss.oetiker.ch/rrdtool/doc/rrdcreate.en.html

Berücksichtigen des Maximum-Wertes aus den Performance-Daten

    USE_MAX_ON_CREATE = 1

Berücksichtigen des Minimum-Wertes aus den Performance-Daten

    USE_MIN_ON_CREATE = 1

## RRD_STORAGE_TYPE

    RRD_STORAGE_TYPE = SINGLE

Die Option RRD_STORAGE_TYPE definiert die Art der Datenhaltung.

Mögliche Werte sind MULTIPLE und SINGLE

SINGLE: Eine RRD-Datenbank pro Service

MULTIPLE: Ein oder mehrere RRD-Datenbanken pro Service. Für jede Datenreihe wird eine eigene RRD-Datenbank erstellt.

ACHTUNG: Daten werden nicht automatisch migriert!
Ein Konvertierungs-Script finden Sie hier.

## RRD_HEARTBEAT

Gültig ab PNP 0.6.1

    RRD_HEARTBEAT = 305

Nach <RRD_HEARTBEAT> Sekunden erwartet RRDtool neue Daten.

Mehr dazu unter http://oss.oetiker.ch/rrdtool/doc/rrdcreate.en.html

zurück zur Übersicht | PNP in verteilten Umgebungen