In den beiden Artikeln Überlange Ausgaben und Performance Daten nicht ausgeben gehe ich auf das Thema schon ein. Allerdings sind zum Verständnis dieser beiden Artikel ein paar Grundlagen wichtig.

Zunächst einmal sollte klar sein, dass Plugins Daten an ein Monitoringsystem liefern sollen und die Darstellung dieser Daten dann Aufgabe des Monitoringsystems ist. Das Plugin sollte allerdings die Daten so strukturiert anlieferen, dass das Monitoringsystem diese dann je nach Anwendungsfall passend darstellen kann.

Basal ist dabei die Unterscheidung in

  • SERVCIEOUTPUT
  • LONGSERVICEOUTPUT
  • PERFDATEN

Beispiel

Nehmen wir ein Beispiel:

$ ./check_netapp_pro.pl Usage -H filer -o volume ...

Die Ausgabe des o.g. Befehls könnte folgendermaßen aussehen:

NETAPP_PRO USAGE CRITICAL - 62 volumes checked, 1 critical and 0 warning
No SVC-ACK relevant changes in reason.
vol_MSSQL_abcData: 274.9GiB
vol_n_IS7_sapdata: 267.5GiB
Store_SVMTest_abc: 112.5GiB
(...) 
|Store_SVMTest_aaa=39613349888B;1288490188800;1449551462400;0;1610612736000 vol_m_IS7_sapdata=120789544960B;214748364800;241591910400;0;268435456000 ...

Dieser gliedert sich nun wie folgt.

SERVICEOUTPUT (bis zum ersten Newline):

NETAPP_PRO USAGE CRITICAL - 62 volumes checked, 1 critical and 0 warning

LONGSERVICEOUTPUT (ab dem ersten Newline bis zum Pipe-Zeichen):

No SVC-ACK relevant changes in reason.
vol_MSSQL_abcData: 274.9GiB
vol_n_IS7_sapdata: 267.5GiB
Store_SVMTest_abc: 112.5GiB
... usw

PERFDATEN (alles ab dem Pipe-Zeichen):

|Store_SVMTest_aaa=39613349888B;1288490188800;1449551462400;0;1610612736000 vol_m_IS7_sapdata=120789544960B;214748364800;241591910400;0;268435456000 ...

Verwendung und Darstellung im Monitoring System

Üblicherweise zeigt die Weboberfläche den SERVICEOUTPUT und bietet einen Link zum LONGSERVICEOUTPUT.

Für die Benachrichtigung per SMS wird i.A. nur der SERVICEOUTPUT verwendet.

Meine Plugins liefern die Daten in genau diese drei Abschnitte geteilt aus – gemäß den Developerguidelines getrennt durch Newlines und Pipe. Jedes mir bekannte Nagios-kompatible System, kann das dann entsprechend aufbereiten und darstellen.

Reduktion der Datenmenge – ein anderes Thema

Die von den Plugins erzeugte Datenmenge lässt sich mit all den Überlegungen übrigens nicht reduzieren – wir bewegen uns hier ja am Presentation-Layer. Doch auch dafür gibt es  Möglichkeiten wie Sie in dem Artikel Reduktion der Textausgabe nachlesen können.