User Tools

Site Tools


doc:appunti:linux:sa:pnp4nagios

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

Web Resources

doc/appunti/linux/sa/pnp4nagios.txt · Last modified: 2025/05/23 11:07 by niccolo