Patching NMIS with 8.3.18G Update
NMIS 8.3.18G is being released for general availability, This release provides many bug fixes and a few new features.
Install CPAN Modules
NMIS8 now requires Net::Syslog, see the 8.3.9G patch for info on SMTP::SSL
cpan install Net::SMTP::SSL # (required for 8.3.9G) install Net::Syslog
Patch NMIS8 code with the NMIS8.3.18G update
#Backup current NMIS code and config including models DATE=`date "+%Y-%m-%d-%H%M"` cd /usr/local/nmis8 tar cvf ~/nmis8-backup-$DATE.tar ./admin ./bin ./cgi-bin ./conf ./install ./lib ./menu ./mibs ./models #Make sure NMIS is working before you patch it. /usr/local/nmis8/bin/nmis.pl type=collect debug=true node=<node to test> #Get CP working right. (no prompts) unalias cp #Unarchive the NMIS tarball cd ~ mkdir patch cd patch tar xvf ../nmis-8.3.18g.tar.gz # Patch the Code Base cp nmis8/admin/* /usr/local/nmis8/admin cp nmis8/bin/* /usr/local/nmis8/bin cp nmis8/cgi-bin/* /usr/local/nmis8/cgi-bin cp -r nmis8/install/* /usr/local/nmis8/install cp -r nmis8/lib/* /usr/local/nmis8/lib cp -r nmis8/menu/* /usr/local/nmis8/menu cp nmis8/models-install/* /usr/local/nmis8/models
Patch NMIS8 Config
Your NMIS installation may have settings that you have changed from the default installation. If you would like to keep these changes you will need to merge the additional fields that have been added into the stock configuration into your custom configuration. NMIS provides a tool called updateconfig.pl to help you do this:
# merge changes for new NMIS Config options. /usr/local/nmis8/admin/updateconfig.pl /usr/local/nmis8/install/Config.nmis /usr/local/nmis8/conf/Config.nmis /usr/local/nmis8/admin/updateconfig.pl /usr/local/nmis8/install/Access.nmis /usr/local/nmis8/conf/Access.nmis
Most of the config files will likely be the same as the install version, for these you can just copy the new versions
# copy newer configuration files (check that you don't have local changes to these files before running) cp /usr/local/nmis8/install/Tables.nmis /usr/local/nmis8/conf cp /usr/local/nmis8/install/Table-*.nmis /usr/local/nmis8/conf cp /usr/local/nmis8/install/Logs.nmis /usr/local/nmis8/conf cp /usr/local/nmis8/install/Users.nmis /usr/local/nmis8/conf cp /usr/local/nmis8/install/BusinessServices.nmis /usr/local/nmis8/conf cp /usr/local/nmis8/install/ServiceStatus.nmis /usr/local/nmis8/conf cp /usr/local/nmis8/install/Services.nmis /usr/local/nmis8/conf cp /usr/local/nmis8/install/License.nmis /usr/local/nmis8/conf cp /usr/local/nmis8/install/Modules.nmis /usr/local/nmis8/conf cp /usr/local/nmis8/install/Escalations.nmis /usr/local/nmis8/conf cp /usr/local/nmis8/install/Portal.nmis /usr/local/nmis8/conf cp /usr/local/nmis8/install/logrotate.conf /usr/local/nmis8/conf cp /usr/local/nmis8/install/users.dat /usr/local/nmis8/conf
Update Server Configuration
File Permissions
Change Config.nmis to tell NMIS to use the new file permission scheme
%hash = ( --SNIP-- 'system' => { --SNIP-- 'os_execperm' => '0770', 'os_fileperm' => '0660',
Authentication
We recommend updating the authentication system from apache to htpasswd (so NMIS does authentication instead of Apache). 3 steps need to be taken to change this.
Change Config.nmis to tell NMIS to use htpasswd
%hash = ( --SNIP-- 'authentication' => { --SNIP-- 'auth_method_1' => 'htpasswd', # <= change this FROM apache TO htpasswd
Backup old apache configGenerate new apache configuration (if you have customised yours edit it and remove the auth portions instead of generating a new one)
#backup old config cd /etc/httpd/conf.d/ cp 00nmis.conf 00nmis.conf.pre-8.3.18G.bak
Create new config to replace old config and restart apache
/usr/local/nmis/bin/nmis.pl type=apache > /etc/httpd/conf.d/00nmis.conf service httpd restart
Fix Data Type on mib2ip Counters
Run this command to make all the DS's COUNTER instead of GAUGE
/usr/local/nmis8/admin/rrd_tune_mib2ip.pl run=true change=true
Restart Daemons
/usr/local/nmis8/bin/fpingd.pl restart=true
Clean up and test
# optionally audit your config /usr/local/nmis8/bin/nmis.pl type=audit # fix your config /usr/local/nmis8/bin/nmis.pl type=config # fix permissions /usr/local/nmis8/admin/fixperms.pl # test polling /usr/local/nmis8/bin/nmis.pl type=collect debug=true node=<node to test>