====== pnp4nagios con Icinga2 ====== Il sistema di riferimento è una **Debian 12 Bullseye**, dove è installato **Icinga2** versione **2.13.6** e **Icingaweb2** versione **2.11.4**. Le componenti software da installare non disponibili come pacchetto Debian sono: * **pnp4nagios** * **Icingaweb2 PNP module** ===== Abilitare i performance data in Icinga 2 ===== icinga2 feature list icinga2 feature enable perfdata systemctl restart icinga2.service Vedere se vengono prodotti i file (ogni 30 secondi): ls -la /var/spool/icinga2/perfdata/ * I collector di questi dati devono provvedere ad eliminarli. * Il collector di pnp4nagios è **/usr/local/pnp4nagios/libexec/process_perfdata.pl**. * Vedere più avanti come attivare NPCD, il demone che esegue il collector. * I dati processati da NPCD vengono messi in **/usr/local/pnp4nagios/var/log/pnp4nagios/rrd/**. ===== Installing Icingaweb2 PNP module ===== wget -O icingaweb2-module-pnp-1.1.0.zip \ https://github.com/Icinga/icingaweb2-module-pnp/archive/v1.1.0.zip unzip icingaweb2-module-pnp-1.1.0.zip mkdir -p /usr/local/share/icingaweb2/ mv icingaweb2-module-pnp-1.1.0 /usr/local/share/icingaweb2/modules/pnp ln -s /usr/local/share/icingaweb2/modules/pnp /usr/share/icingaweb2/modules icingacli module enable pnp ===== Compiling and installing pnp4nagios ===== apt-get install build-essential apt-get install librrds-perl cd /usr/local/src/ wget -O pnp4nagios-0.6.27-5.zip \ https://github.com/pnp4nagios/pnp4nagios/archive/refs/tags/v0.6.27-5.zip unzip pnp4nagios-0.6.27-5.zip cd pnp4nagios-0.6.27-5/ ./configure Verificare che la configurazione vada a buon fine, in particolare: General Options: ------------------------- ------------------- Nagios user/group: nagios nagios Install ${prefix}: /usr/local/pnp4nagios PNP HTML dir: /usr/local/pnp4nagios/share Config dir: /usr/local/pnp4nagios/etc rrdtool binary: /usr/bin/rrdtool Version 1.7.2 RRDs Perl Modules: (Version 1.7002) FOUND RRD Files stored in: /usr/local/pnp4nagios/var/log/pnp4nagios/rrd process_perfdata Logfile: /usr/local/pnp4nagios/var/log/pnp4nagios/perfdata.log NPCD perfdata stored in: /usr/local/pnp4nagios/var/spool/pnp4nagios fontconfig cache dir: /var/cache/pnp4nagios Web Interface Options: ------------------------- ------------------- HTML URL: http://localhost/pnp4nagios http user/group: www-data,www-data put pnp http config File: /etc/apache2/conf-enabled/pnp4nagios.conf Effettuare la compilazione: make all Ci sono questi due install target: ^ make install | This installs the main program and HTML files. | ^ make fullinstall | This installs the main program, runlevel scripts, config and HTML files. | # Installare tutto quanto in /usr/local/pnp4nagios/. cd /usr/local/src/pnp4nagios-0.6.27-5/ make install # Creare un link per la configurazione in /etc/. ln -s /usr/local/pnp4nagios/etc /etc/pnp4nagios # Creare la configurazione per Apache. cp -p sample-config/httpd.conf /etc/apache2/conf-available/pnp4nagios.conf # Creare file di autenticazione e aggiustare il percorso del AuthUserFile. htpasswd -c /etc/apache2/pnp4nagios_htpasswd.users admin vi /etc/apache2/conf-available/pnp4nagios.conf # Abilitare la configurazione di Apache. a2enconf pnp4nagios systemctl reload apache2 ==== Verifica requisiti ==== Verificare che esista il file **/usr/local/pnp4nagios/share/install.ignore.not**. Visitare l'URL **%%http:/pnp4nagios/%%**. Verificare che compaia la scritta **//Your environment passed all requirements//**. Se tutto va bene rinominare il file: mv /usr/local/pnp4nagios/share/install.ignore.not /usr/local/pnp4nagios/share/install.ignore ==== Demone NPCD ==== Creare la configurazione per il demone NPCD: cd /usr/local/src/pnp4nagios-0.6.27-5/ cp -p sample-config/config_samples/npcd.cfg /etc/pnp4nagios/npcd.cfg chown nagios:nagios /etc/pnp4nagios/npcd.cfg Modificare il file **/etc/pnp4nagios/npcd.cfg** e impostare la directory dove il demone dovrà prelevare i perfdata: #perfdata_spool_dir = /usr/local/pnp4nagios/var/spool/pnp4nagios perfdata_spool_dir = /var/spool/icinga2/perfdata Il ''make install'' ha creato la Systemd unit **/usr/lib/systemd/system/npcd.service**, abilitare e avviare il servizio: systemctl enable --now npcd.service ===== Web Resources ===== * https://icinga.com/docs/icinga2/latest/doc/13-addons/#pnp * https://icinga.com/docs/icinga2/latest/doc/14-features/#writing-performance-data-files * https://docs.pnp4nagios.org/pnp-0.6/install * https://docs.pnp4nagios.org/pnp-0.6/modes