Table of Contents
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:<host>/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