Mit Hilfe dieser Anleitung können Sie PNP4Nagios in das Icinga-Web-Frontend integrieren. Wenn Sie PNP4Nagios in das Icinga Classic UI integrieren möchten, lesen Sie bitte die PNP4Nagios Dokumentation.
Installieren Sie PNP4Nagios wie in der PNP4Nagios-Dokumentation beschrieben.
Passen Sie die PNP4Nagios-Konfiguration auf Ihre Icinga-Konfiguration an. Wahrscheinlich müssen Sie hier ändern:
#> vi npcd.cfg user = icinga group = icinga log_file = /var/log/icinga/npcd.log perfdata_spool_dir = /var/icinga/spool/ perfdata_file = /var/icinga/perfdata.dump
#> vi process_perfdata.cfg LOG_FILE = /var/log/icinga/perfdata.log XML_ENC = ISO-8859-1 # falls Sie Probleme mit Umlauten haben
#> vi config.php $conf['nagios_base'] = "/icinga/cgi-bin";
![]() |
Anmerkung |
---|---|
Stellen Sie sicher, dass Sie bestehende Pfade benutzen, legen Sie sie an, falls notwendig, und/oder passen Sie die Angaben an Ihre Distribution an. Bitte überprüfen Sie, dass die command-Definitionen für "process-host-perfdata-file" und "process-service-perfdata-file"
(wahrscheinlich in |
Seit Version 1.5 können die Grid-Templates unberührt bleiben, weil wir XML-Extensions integriert haben, um Grid-Template mit einfachen Schnipseln anzupassen. Die PNP-Integration wurde mit diesen Extensions upgrade-sicher gemacht.
Ausschnitt aus INSTALL
in contrib/PNP_Integration/
#> cat contrib/PNP_Integration/INSTALL ************************ * INSTALLATION ************************ * To install this addon, simply copy both xml files under templateExtensions * to your icinga-webs app/modules/Cronks/data/xml/extensions folder * and clear the app/cache/CronkTemplates folder * To remove it, just delete the extension files and clear the cache folder again
Install Script
$> cd etc/contrib/PNP_Integration $> sh install.sh
![]() |
Anmerkung |
---|---|
Bitte beachten Sie, dass Sie das Addon nach einem Icinga-Web-Upgrade erneut installieren müssen. |
![]() |
Anmerkung |
---|---|
Die folgenden Zeilen beschreiben die manuelle Integration für Version 1.4 und früher |
Erstellen einer neuen Host-Grid-Ansicht:
Bitte erstellen Sie eine Kopie von icinga-host-template.xml
in
app/modules/Cronks/data/xml/grid
unter Ihrem Icinga-web-Installationspfad:
#> cp /usr/local/icinga-web/app/modules/Cronks/data/xml/grid/icinga-host-template.xml \ /usr/local/icinga-web/app/modules/Cronks/data/xml/grid/icinga-my-host-template.xml
In der neuen Datei legen wir eine zusätzliche Feld- (field) Definition an:
<field name="pnp4nagios_host_link"> <!-- datasource maps a data field from api call --> <datasource> <parameter name="field">HOST_NAME</parameter> </datasource> <display> <parameter name="visible">true</parameter> <parameter name="label">Perfdata</parameter> <parameter name="width">55</parameter> <parameter name="Ext.grid.Column"> <parameter name="menuDisabled">true</parameter> <parameter name="fixed">true</parameter> </parameter> <parameter name="jsFunc"> <!-- function to display column with icon in host status grid view --> <parameter> <parameter name="namespace">Cronk.grid.ColumnRenderer</parameter> <parameter name="function">columnImage</parameter> <parameter name="type">renderer</parameter> <parameter name="arguments"> <parameter name="image">images/icons/application_view_gallery.png</parameter> <parameter name="css">x-icinga-grid-link</parameter> <parameter name="attr"> <parameter name="qtip">Show host perfdata for this host</parameter> </parameter> </parameter> </parameter> <!-- create cell click event for the previously defined column --> <parameter> <parameter name="namespace">Cronk.grid.IcingaColumnRenderer</parameter> <parameter name="function">iFrameCronk</parameter> <parameter name="type">cellclick</parameter> <parameter name="arguments"> <parameter name="title">Host perfdata for {host_name}</parameter> <parameter name="url"><![CDATA[/pnp4nagios/index.php/graph?host={host_name}&srv=_HOST_]]></parameter> <parameter name="activateOnClick">true</parameter> </parameter> </parameter> </parameter> </display> <filter> <parameter name="enabled">false</parameter> </filter> <order> <parameter name="enabled">false</parameter> </order> </field>
Anlegen einer neuen Grid-Ansicht im "Data" Cronk-Container
Editieren von cronks.xml
im Unterverzeichnis app/modules/Cronks/config/
unter
Icinga-Web und hinzufügen von:
<cronk name="gridMyHostView"> <ae:parameter name="module">Cronks</ae:parameter> <ae:parameter name="action">System.ViewProc</ae:parameter> <ae:parameter name="hide">false</ae:parameter> <ae:parameter name="description">Viewing host status in a grid including perfdata link</ae:parameter> <ae:parameter name="name">MyHostStatus</ae:parameter> <ae:parameter name="image">cronks.Stats</ae:parameter> <ae:parameter name="categories">data</ae:parameter> <ae:parameter name="ae:parameter"> <ae:parameter name="template">icinga-my-host-template</ae:parameter> </ae:parameter> </cronk>
![]() |
Anmerkung |
---|---|
Die folgenden Zeilen beschreiben die manuelle Integration für Version 1.4 und früher |
Erstellen einer neuen Service-Grid-Ansicht
Kopieren Sie das Standard-Template "icinga-service-template.xml
" von
app/modules/Cronks/data/xml/grid
in Ihren Icinga-Web-Installationspfad:
#> cp /usr/local/icinga-web/app/modules/Cronks/data/xml/grid/icinga-service-template.xml \ /usr/local/icinga-web/app/modules/Cronks/data/xml/grid/icinga-my-service-template.xml
In der neuen Datei legen wir eine zusätzliche Feld- (field) Definition an:
<field name="pnp4nagios_service_link"> <!-- datasource maps a data field from api call --> <datasource> <parameter name="field">SERVICE_NAME</parameter> </datasource> <display> <parameter name="visible">true</parameter> <parameter name="label">Perfdata</parameter> <parameter name="width">55</parameter> <parameter name="Ext.grid.Column"> <parameter name="menuDisabled">true</parameter> <parameter name="fixed">true</parameter> </parameter> <parameter name="jsFunc"> <!-- function to display column with icon in host status grid view --> <parameter> <parameter name="namespace">Cronk.grid.ColumnRenderer</parameter> <parameter name="function">columnImage</parameter> <parameter name="type">renderer</parameter> <parameter name="arguments"> <parameter name="image">images/icons/application_view_gallery.png</parameter> <parameter name="css">x-icinga-grid-link</parameter> <parameter name="attr"> <parameter name="qtip">Show perfdata for this service</parameter> </parameter> </parameter> </parameter> <!-- create cell click event for the previously defined column --> <parameter> <parameter name="namespace">Cronk.grid.IcingaColumnRenderer</parameter> <parameter name="function">iFrameCronk</parameter> <parameter name="type">cellclick</parameter> <parameter name="arguments"> <parameter name="title">Service perfdata for {service_name} on {host_name}</parameter> <parameter name="url"><![CDATA[/pnp4nagios/index.php/graph?host={host_name}&srv={service_name}]]></parameter> <parameter name="activateOnClick">true</parameter> </parameter> </parameter> </parameter> </display> <filter> <parameter name="enabled">false</parameter> </filter> <order> <parameter name="enabled">false</parameter> </order> </field>
Anlegen einer neuen Grid-Ansicht im "Data" Cronk-Container
Editieren von cronks.xml
im Unterverzeichnis app/modules/Cronks/config/
unter
Icinga-Web und hinzufügen von:
<cronk name="gridMyServiceView"> <ae:parameter name="module">Cronks</ae:parameter> <ae:parameter name="action">System.ViewProc</ae:parameter> <ae:parameter name="hide">false</ae:parameter> <ae:parameter name="description">Viewing service status in a grid including perfdata link</ae:parameter> <ae:parameter name="name">MyServiceStatus</ae:parameter> <ae:parameter name="image">cronks.Stats2</ae:parameter> <ae:parameter name="categories">data</ae:parameter> <ae:parameter name="ae:parameter"> <ae:parameter name="template">icinga-my-service-template</ae:parameter> </ae:parameter> </cronk>
Verwenden der neuen Grid-Ansicht als Standard-Service-Ansicht
Bitte sichern Sie zuerst Ihre originale Ansicht:
#> cp data/xml/grid/icinga-service-template.xml data/xml/grid/icinga-service-template.bak
dann
#> cp data/xml/grid/icinga-my-service-template.xml data/xml/grid/icinga-service-template.xml
Leeren Sie den Cache wie unten beschrieben. Die Performancegraphen sind nun in Ihren "serviceStatus"-Cronk integriert!
© 2009-2012 Icinga Development Team, http://www.icinga.org