We are going to upgrade Nagios Core from 4.1.1 to 4.4.2.
Backup Existing Nagios Configuration
Nagios and Apache services should be stopped:
systemctl stop nagios httpd
Make sure that we have a backup:
rsync -rav /usr/local/nagios/ /opt/nagios411backup/
Upgade and Configuration
Download Nagios Core release 4.3.4 and extract the archive:
tar xf ./nagios-4.4.2.tar.gz && cd ./nagios-4.4.2
Configure and compile:
Install the main program, CGIs, HTML files, sample config files etc:
Restore the configuration file nagios.cfg from the backup:
cp -f /opt/nagios411backup/etc/nagios.cfg /usr/local/nagios/etc/
Restore the password file htpasswd.users if required:
cp -f /opt/nagios411backup/etc/htpasswd.users /usr/local/nagios/etc/
rsync -rav /opt/nagios411backup/etc/objects/ /usr/local/nagios/etc/objects/
In our case we also want to restore all custom monitoring configuration files:
rsync -rav /opt/nagios411backup/etc/monitoring/ /usr/local/nagios/etc/monitoring/
These are deprecated and will be removed in future versions, might as well change them now:
sed -i 's/normal_check_interval/check_interval/g' /usr/local/nagios/etc/objects/templates.cfg
sed -i 's/normal_check_interval/check_interval/g' /usr/local/nagios/etc/objects/printer.cfg
sed -i 's/normal_check_interval/check_interval/g' /usr/local/nagios/etc/objects/switch.cfg
sed -i 's/retry_check_interval/retry_interval/g' /usr/local/nagios/etc/objects/templates.cfg
sed -i 's/retry_check_interval/retry_interval/g' /usr/local/nagios/etc/objects/printer.cfg
sed -i 's/retry_check_interval/retry_interval/g' /usr/local/nagios/etc/objects/switch.cfg
sed -i 's/^command_check_interval/#command_check_intervald/g' /usr/local/nagios/etc/nagios.cfg
We use Nagiosgraph, therefore we need this to continue processing data (the config file which we restored from the backup does contain the line already, therefore it’s mainly for future references).
sed -i 's/process_performance_data=0/process_performance_data=1/g' /usr/local/nagios/etc/nagios.cfg
Reload and restart the services:
systemctl restart nagios
systemctl restart httpd
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
Nagios Core 4.4.2
Copyright (c) 2009-present Nagios Core Development Team and Community Contributors
Copyright (c) 1999-2009 Ethan Galstad
Last Modified: 2017-08-24
Reading configuration data…
Read main config file okay…
Read object config files okay…
Running pre-flight check on configuration data…
Checked 1671 services.
Checked 190 hosts.
Checked 44 host groups.
Checked 47 service groups.
Checked 5 contacts.
Checked 6 contact groups.
Checked 126 commands.
Checked 7 time periods.
Checked 0 host escalations.
Checked 0 service escalations.
Checking for circular paths…
Checked 190 hosts
Checked 0 service dependencies
Checked 0 host dependencies
Checked 7 timeperiods
Checking global event handlers…
Checking obsessive compulsive processor commands…
Checking misc settings…
Total Warnings: 0
Total Errors: 0
Things look okay – No serious problems were detected during the pre-flight check
If there are any configuration mismatches between the old and the new Nagios versions that affect your set up, then change them accordingly.