Page 1 of 1

XI 5.7.4 NDO3 ndo_get_object_id_name1() - name1 is null

Posted: Wed Dec 16, 2020 9:58 am
by edwardvanhaute
Hello

Our Nagios XI 5.7.4 has been spamming (multiple per second) the following log entry since upgrading to 5.7.4 from 5.6.x:
NDO-3: ndo_get_object_id_name1() - name1 is null

I have also been noticing frequent (hourly) load spikes on the server. This has caused lots of check timeouts, as well as Passive check results (NSCA & NRDP) no longer being processed in time. These spikes seem to happen once an hour, and also started after the upgrade from 5.6.x. See screenshot for load spikes:
2020-12-16 12_06_07-Nagios XI — Mozilla Firefox.png
Nagios XI 5.7.4 running on CentOS 6.10

Do you think these 2 could be related (as in database problems causing load spikes).
Also any advice on what could be the issue is welcome.

Many Thanks,
Edward

Re: XI 5.7.4 NDO3 ndo_get_object_id_name1() - name1 is null

Posted: Wed Dec 16, 2020 5:12 pm
by ssax
You are likely hitting a bug in the new NDO3 that will require you to downgrade your NDO3 back to NDO2DB to resolve it.

Please PM me a copy of your profile so I can investigate it and send you some tailored instructions, you can download it from Admin > System Profile by clicking the Download Profile button.

If you're unable to generate the the profile through the web interface, please try generating it from the command line by running these commands as root:

Code: Select all

rm -rf /usr/local/nagiosxi/var/components/profile*​​
/usr/local/nagiosxi/scripts/components/getprofile.sh SUPPORT
Then send me the resulting /usr/local/nagiosxi/var/components/profile.zip​ file.​

If the profile script fails, please include the ENTIRE output.


Additionally, please send the output of these commands:
- NOTE: You may need to adjust the -h 127.0.0.1, the -uroot, and -pnagiosxi in the first command if your DB is offloaded to another server and/or you've changed the root mysql password

Code: Select all

echo "SELECT table_name AS 'Table', round(((data_length + index_length) / 1024 / 1024), 2) 'Size in MB' FROM information_schema.TABLES WHERE table_schema IN ('nagios', 'nagiosql', 'nagiosxi');" | mysql -h 127.0.0.1 -uroot -pnagiosxi --table
This next command may fail, that's okay, not all systems run postgresql, send the output anyways:

Code: Select all

echo "SELECT relname as Table, pg_size_pretty(pg_total_relation_size(relid)) As Size, pg_size_pretty(pg_total_relation_size(relid) - pg_relation_size(relid)) as ExternalSize FROM pg_catalog.pg_statio_user_tables ORDER BY pg_total_relation_size(relid) DESC;" | psql nagiosxi nagiosxi

Re: XI 5.7.4 NDO3 ndo_get_object_id_name1() - name1 is null

Posted: Wed Dec 23, 2020 5:11 pm
by ssax
Take a VM snap/XI backup first just in case:

Then run these commands as root to downgrade NDO3 back to NDO2DB:

Code: Select all

service nagios stop
cd /tmp
rm -rf /tmp/nagiosxi
wget https://assets.nagios.com/downloads/nagiosxi/5/xi-5.6.14.tar.gz
tar zxf xi-5.6.14.tar.gz
cd /tmp/nagiosxi
./init.sh
cd /tmp/nagiosxi/subcomponents/ndoutils
./install
chkconfig ndo2db on

If you have an offloaded database or change the default password you will need to edit your /usr/local/nagios/etc/ndo2db.cfg file and update these before running the next command to start it up:
- You can get the info from your /usr/local/nagios/etc/ndo.cfg or from /usr/local/nagiosxi/html/config.inc.php

db_host
db_port
db_user
db_pass

Then start the service up:

Code: Select all

service ndo2db start
Then edit your /usr/local/nagios/etc/nagios.cfg and make sure this line is uncommented:

Code: Select all

broker_module=/usr/local/nagios/bin/ndomod.o config_file=/usr/local/nagios/etc/ndomod.cfg
Make sure this line is commented:

Code: Select all

#broker_module=/usr/local/nagios/bin/ndo.so /usr/local/nagios/etc/ndo.cfg
Then start the nagios service:

Code: Select all

service nagios start
Then apply configuration and validate everything is working.

If you have issues get a FRESH copy of your profile.zip and send it before reverting any changes.

Re: XI 5.7.4 NDO3 ndo_get_object_id_name1() - name1 is null

Posted: Fri Jan 29, 2021 5:21 am
by edwardvanhaute
Hello,

I haven't had the chance to downgrade the NDO yet. Problem is still present, but load issues seem to have dissipated.
One question:
Is this issue fixed in the new Nagios XI version (5.8.1)?
I see this version includes a new version of NDO.

Re: XI 5.7.4 NDO3 ndo_get_object_id_name1() - name1 is null

Posted: Fri Jan 29, 2021 4:42 pm
by ssax
Yes, it's supposed to be fixed in XI 5.8.1, I would upgrade to XI 5.8.1 when you get a chance and validate, if you still hit that error you should downgrade NDO3 back to NDO2DB following the same steps I sent and let us know. I think it will fix your issues though.