CheckMK 2.3 Raw Graphs Fail, rrdtool errors and NPCD timeout

Ok. I think we have a workaround. Please follow these steps:

  1. Stop your site.
  2. Copy the following files from a current 2.2 installation to your 2.3 installation:
$ sudo cp -r /opt/omd/versions/<2.2.0-version>/lib/perl5/lib/perl5/x86_64-linux-gnu-thread-multi/auto/RRDp /opt/omd/versions/<2.3.0-version>/lib/perl5/lib/perl5/x86_64-linux-gnu-thread-multi/auto/RRDp
$ sudo cp -r /opt/omd/versions/<2.2.0-version>/lib/perl5/lib/perl5/x86_64-linux-gnu-thread-multi/auto/RRDs /opt/omd/versions/<2.3.0-version>/lib/perl5/lib/perl5/x86_64-linux-gnu-thread-multi/auto/RRDs
$ sudo cp /opt/omd/versions/<2.2.0-version>/lib/perl5/lib/perl5/x86_64-linux-gnu-thread-multi/RRDs.pm /opt/omd/versions/<2.3.0-version>/lib/perl5/lib/perl5/x86_64-linux-gnu-thread-multi/RRDs.pm
$ sudo cp /opt/omd/versions/<2.2.0-version>/lib/perl5/lib/perl5/RRDp.pm /opt/omd/versions/<2.3.0-version>/lib/perl5/lib/perl5/RRDp.pm

Note that the file layout might be different on your system, particularly wrt. the folder x86_64-linux-gnu-thread-multi. The following command tells you what files and folders you need to copy:

$ sudo find /opt/omd/versions/<2.2.0-version>/ -name "*RRD*"
/opt/omd/versions/<2.2.0-version>/lib/perl5/lib/perl5/x86_64-linux-gnu-thread-multi/auto/RRDp
/opt/omd/versions/<2.2.0-version>/lib/perl5/lib/perl5/x86_64-linux-gnu-thread-multi/auto/RRDs
/opt/omd/versions/<2.2.0-version>/lib/perl5/lib/perl5/x86_64-linux-gnu-thread-multi/auto/RRDs/RRDs.so
/opt/omd/versions/<2.2.0-version>/lib/perl5/lib/perl5/x86_64-linux-gnu-thread-multi/RRDs.pm
/opt/omd/versions/<2.2.0-version>/lib/perl5/lib/perl5/RRDp.pm

Afterwards, your 2.3 version should have the following files:

$ sudo find /opt/omd/versions/<2.3.0-version>/ -name "*RRD*"
/opt/omd/versions/<2.3.0-version>/lib/perl5/lib/perl5/x86_64-linux-gnu-thread-multi/auto/RRDp
/opt/omd/versions/<2.3.0-version>/lib/perl5/lib/perl5/x86_64-linux-gnu-thread-multi/auto/RRDs
/opt/omd/versions/<2.3.0-version>/lib/perl5/lib/perl5/x86_64-linux-gnu-thread-multi/auto/RRDs/RRDs.so
/opt/omd/versions/<2.3.0-version>/lib/perl5/lib/perl5/x86_64-linux-gnu-thread-multi/RRDs.pm
/opt/omd/versions/<2.3.0-version>/lib/perl5/lib/perl5/RRDp.pm
  1. Add this to /opt/omd/versions/<2.3.0-version>/lib/pnp4nagios/process_perfdata.pl, line 20, which should be empty:
use lib '/omd/versions/<2.3.0-version>/lib/perl5/lib/perl5';
  1. Start your site.

Afterwards, the log lines warning about the RRDs Perl Modules should be gone:

2024-05-17 13:41:43 [262158] [2] RRDs Perl Modules are not installed. Falling back to rrdtool system call.

Instead, you should see something like this:

2024-05-17 13:07:17 [532808] [2] RRDs::update --daemon=unix:/omd/sites/old/tmp/run/rrdcached.sock /omd/sites/old/var/pnp4nagios/perfdata/old/Check_MK_cmk_time_agent.rrd 1715944032:1.340

If this works, don’t forget to reduce the log level in etc/pnp4nagios/process_perfdata.cfg back to 0.
Best
Jörg

5 Likes