{"id":20504089,"url":"https://github.com/icinga/icingaweb2-module-pnp","last_synced_at":"2025-10-22T21:40:44.542Z","repository":{"id":145047372,"uuid":"46553592","full_name":"Icinga/icingaweb2-module-pnp","owner":"Icinga","description":"Integrate PNP graphs into Icinga Web 2","archived":false,"fork":false,"pushed_at":"2022-08-16T14:55:32.000Z","size":154,"stargazers_count":36,"open_issues_count":16,"forks_count":13,"subscribers_count":22,"default_branch":"master","last_synced_at":"2025-04-13T20:47:45.894Z","etag":null,"topics":["graphs","icingaweb2","metrics","module","pnp","rrd","visualization"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Icinga.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":"AUTHORS","dei":null,"publiccode":null,"codemeta":null}},"created_at":"2015-11-20T09:50:59.000Z","updated_at":"2025-02-17T05:01:57.000Z","dependencies_parsed_at":null,"dependency_job_id":"e554cdf2-b12f-49d8-852a-8de46ecfced5","html_url":"https://github.com/Icinga/icingaweb2-module-pnp","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Icinga%2Ficingaweb2-module-pnp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Icinga%2Ficingaweb2-module-pnp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Icinga%2Ficingaweb2-module-pnp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Icinga%2Ficingaweb2-module-pnp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Icinga","download_url":"https://codeload.github.com/Icinga/icingaweb2-module-pnp/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248782278,"owners_count":21160716,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["graphs","icingaweb2","metrics","module","pnp","rrd","visualization"],"created_at":"2024-11-15T19:36:18.807Z","updated_at":"2025-10-22T21:40:39.489Z","avatar_url":"https://github.com/Icinga.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# PNP module for Icinga Web 2\n\n#### Table of Contents\n\n1. [About](#about)\n2. [License](#license)\n3. [Support](#support)\n4. [Requirements](#requirements)\n5. [Installation](#installation)\n6. [Configuration](#configuration)\n7. [FAQ](#faq)\n8. [Thanks](#thanks)\n9. [Contributing](#contributing)\n\n## About\n\nThis module integrates [PNP](https://docs.pnp4nagios.org/) into [Icinga Web 2](https://www.icinga.com/products/icinga-web-2/)\nand allows you to view beautiful graphs in the host/service detail view.\n\n[![Detail View](doc/screenshot/detail_view.png)](doc/screenshot/detail_view.png)\n[![Iframe](doc/screenshot/iframe.png)](doc/screenshot/iframe.png)\n\n## License\n\nIcinga 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.\n\n## Support\n\nJoin the [Icinga community channels](https://www.icinga.com/community/get-involved/) for questions.\n\n## Requirements\n\nThis module glues PNP and Icinga Web 2 together. Both of them are required\nto be installed and configured:\n\n* [Icinga Web 2](https://www.icinga.com/products/icinga-web-2/) (\u003e= 2.4.1)\n* [PNP](https://docs.pnp4nagios.org/) (\u0026gt;= 0.6.25)\n\n\n## Installation\n\nExtract this module to your Icinga Web 2 modules directory as `pnp` directory.\n\nGit clone:\n\n```\ncd /usr/share/icingaweb2/modules\ngit clone https://github.com/Icinga/icingaweb2-module-pnp.git pnp\n```\n\n\nTarball download (latest [release](https://github.com/Icinga/icingaweb2-module-pnp/releases/latest)):\n\n```\ncd /usr/share/icingaweb2/modules\nwget https://github.com/Icinga/icingaweb2-module-pnp/archive/v1.1.0.zip\nunzip v1.1.0.zip\nmv icingaweb2-module-pnp-1.1.0 pnp\n```\n\n### Enable Icinga Web 2 module\n\nEnable the module in the Icinga Web 2 frontend in `Configuration -\u003e Modules -\u003e pnp -\u003e enable`.\nYou can also enable the module by using the `icingacli` command:\n\n```\nicingacli module enable pnp\n```\n\n## Configuration\n\n### PNP Configuration\n\nThe base URL for PNP (e.g. `/pnp4nagios`) must be accessible on the webserver.\n\nThere is an [open issue](https://github.com/Icinga/icingaweb2-module-pnp/issues/29)\nfor forwarding the Icinga Web 2 auth session to PNP.\n\n### Module Configuration\n\nNavigate to `Modules - PNP - Config` and specify the settings.\n\n[![Configuration](doc/screenshot/config_form.png)](doc/screenshot/config_form.png)\n\n## FAQ\n\n### Duplicated Graphs in Detail View\n\nThere is a problem with `config.php` and `config_local.php`\nin PNP (discussion [here](https://monitoring-portal.org/index.php?thread/35865-doppelte-eintr%C3%A4ge-im-icinga2-mit-pnp/\u0026postID=228011#post228011)).\n\nRemove the duplicated views in one of them, e.g. in `config_local.php`:\n\n```\n- $views[] = array('title' =\u003e '4 Hours',   'start' =\u003e (60*60*4) ); \n- $views[] = array('title' =\u003e '25 Hours',  'start' =\u003e (60*60*25) ); \n- $views[] = array('title' =\u003e 'One Week',  'start' =\u003e (60*60*25*7) ); \n- $views[] = array('title' =\u003e 'One Month', 'start' =\u003e (60*60*24*32) ); \n- $views[] = array('title' =\u003e 'One Year',  'start' =\u003e (60*60*24*380) );\n```\n\nThe related issue can be found [here](https://github.com/Icinga/icingaweb2-module-pnp/issues/18).\n\n### Preview Graphs Missing in Detail View\n\nFirst off, the module needs to read the local PNP configuration files and as such\nyou need to ensure that the path can be read by the web server user. SELinux may prevent\nthis too next to wrong permissions or wrong paths. This path defaults to\n`/etc/pnp4nagios` and requires adjustments for your own needs.\nIf the module is not able to read the configuration, an error will be logged\nto the debug log and no graph will be rendered.\n\nAlso ensure that the user who is not seeing the graphs actually has the permission\nto view the PNP module. Navigate into your roles configuration and verify that.\n\nPNP stores meta information in an XML file next to the actual RRD file. If this file\nis missing in your RRD data store, the module won't render graphs. Verify that PNP and\nNPCD are running and troubleshoot why metrics are not updated. The debug level helps here.\n\nLast but not least, if there are no graphs available, the detail view won't show any graphs.\nYou can verify that by opening the native PNP interface and search for the corresponding host\nor service.\n\n## Thanks\n\n\n\n\n## Contributing\n\nThere are many ways to contribute to the Icinga Web module for PNP --\nwhether it be sending patches, testing, reporting bugs, or reviewing and\nupdating the documentation. Every contribution is appreciated!\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ficinga%2Ficingaweb2-module-pnp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ficinga%2Ficingaweb2-module-pnp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ficinga%2Ficingaweb2-module-pnp/lists"}