This module integrates PNP into Icinga Web 2 and allows you to view beautiful graphs in the host/service detail view.
Icinga Web 2 and this Icinga Web 2 module are licensed under the terms of the GNU General Public License Version 2, you will find a copy of this license in the LICENSE file included in the source package.
Join the Icinga community channels for questions.
This module glues PNP and Icinga Web 2 together. Both of them are required to be installed and configured:
Extract this module to your Icinga Web 2 modules directory as pnp
directory.
Git clone:
cd /usr/share/icingaweb2/modules
git clone https://github.com/Icinga/icingaweb2-module-pnp.git pnp
Tarball download (latest release):
cd /usr/share/icingaweb2/modules
wget https://github.com/Icinga/icingaweb2-module-pnp/archive/v1.1.0.zip
unzip v1.1.0.zip
mv icingaweb2-module-pnp-1.1.0 pnp
Enable the module in the Icinga Web 2 frontend in Configuration -> Modules -> pnp -> enable
.
You can also enable the module by using the icingacli
command:
icingacli module enable pnp
The base URL for PNP (e.g. /pnp4nagios
) must be accessible on the webserver.
There is an open issue for forwarding the Icinga Web 2 auth session to PNP.
Navigate to Modules - PNP - Config
and specify the settings.
There is a problem with config.php
and config_local.php
in PNP (discussion here).
Remove the duplicated views in one of them, e.g. in config_local.php
:
- $views[] = array('title' => '4 Hours', 'start' => (60*60*4) );
- $views[] = array('title' => '25 Hours', 'start' => (60*60*25) );
- $views[] = array('title' => 'One Week', 'start' => (60*60*25*7) );
- $views[] = array('title' => 'One Month', 'start' => (60*60*24*32) );
- $views[] = array('title' => 'One Year', 'start' => (60*60*24*380) );
The related issue can be found here.
First off, the module needs to read the local PNP configuration files and as such
you need to ensure that the path can be read by the web server user. SELinux may prevent
this too next to wrong permissions or wrong paths. This path defaults to
/etc/pnp4nagios
and requires adjustments for your own needs.
If the module is not able to read the configuration, an error will be logged
to the debug log and no graph will be rendered.
Also ensure that the user who is not seeing the graphs actually has the permission to view the PNP module. Navigate into your roles configuration and verify that.
PNP stores meta information in an XML file next to the actual RRD file. If this file is missing in your RRD data store, the module won't render graphs. Verify that PNP and NPCD are running and troubleshoot why metrics are not updated. The debug level helps here.
Last but not least, if there are no graphs available, the detail view won't show any graphs. You can verify that by opening the native PNP interface and search for the corresponding host or service.
There are many ways to contribute to the Icinga Web module for PNP -- whether it be sending patches, testing, reporting bugs, or reviewing and updating the documentation. Every contribution is appreciated!